Файловый менеджер - Редактировать - /home/infrafs/INFRABIKEIT/wp-content/plugins/eltd-twitter-feed.tar
Назад
load.php 0000644 00000000303 15133231010 0006155 0 ustar 00 <?php include_once 'lib/eltd-twitter-api.php'; include_once 'widgets/load.php'; //load shortcodes require_once 'lib/shortcode-interface.php'; require_once 'shortcodes/shortcodes-functions.php'; lib/eltd-twitter-api.php 0000644 00000042123 15133231010 0011211 0 ustar 00 <?php if(!defined('ABSPATH')) exit; include_once 'eltd-twitter-helper.php'; /** * Class ElatedfTwitterApi */ class ElatedfTwitterApi { /** * @var instance of current class */ private static $instance; /** * Key that was provided by Twitter when application was created * @var string */ private $consumerKey; /** * Secret code for application that was generated by Twitter * @var string */ private $consumerSecret; /** * * URL where user will be redirected once he authorizes access to our application * @var string */ private $redirectURI; /** * URL from which we can obtain request token that will be used to get access token * @var string */ private $requestTokenURL; /** * URL where user can authorize our application * @var string */ private $authorizeURL; /** * URL from which we can obtain access token * @var */ private $accessTokenUrl; /** * Signature hashin method that is used by Twitter OAuth * @var string */ private $signatureMethod; /** * OAuth version that is used by Twitter * @var string */ private $oauthVersion; private $helper; const REQUEST_TOKEN_FIELD = 'eltd_twitter_request_token'; const REQUEST_TOKEN_SECRET_FIELD = 'eltd_twitter_request_token_secret'; const ACCESS_TOKEN_FIELD = 'eltd_twitter_access_token'; const ACCESS_TOKEN_SECRET_FIELD = 'eltd_twitter_access_token_secret'; const AUTHORIZE_TOKEN_FIELD = 'eltd_twitter_authorize_token'; const AUTHORIZE_VERIFIER_FIELD = 'eltd_twitter_authorize_verifier'; const USER_ID_FIELD = 'eltd_twitter_user_id'; const USER_SCREEN_NAME_FIELD = 'eltd_twitter_screen_name'; /** * Private constructor because of singletone pattern. It sets all necessary properties */ public function __construct() { $this->consumerKey = 'e6U1XvODMPeDipvmaMa9jJaTA'; $this->consumerSecret = '30LY2v71h5fSWnRADAHQitmSUTq4iSMe4LVBpIVOIS7a2EuuLm'; $this->redirectURI = 'http://demo.elated-themes.com/twitter-app/twitter-redirect.php'; $this->signatureMethod = 'HMAC-SHA1'; $this->oauthVersion = '1.0'; $this->requestTokenURL = 'https://api.twitter.com/oauth/request_token'; $this->authorizeURL = 'https://api.twitter.com/oauth/authorize'; $this->accessTokenUrl = 'https://api.twitter.com/oauth/access_token'; $this->helper = new ElatedfTwitterHelper(); } /** * @return ElatedfTwitterApi */ public static function getInstance() { if(self::$instance === null) { return new self(); } return self::$instance; } /** * @return ElatedfTwitterHelper */ public function getHelper() { return $this->helper; } /** * Generates signature base that will be used to generate request signature. * Signature is used by Twitter to check authorization of request * @param string $requestUrl URL that we are requesting * @param strinh $method HTTP method. Can be GET or POST * @param array $params array of parameters from which to generate signature base * @return string generated signature base */ private function generateSignatureBase($requestUrl, $method, $params) { $encodedParams = array(); $encodedParamsString = ''; $method = strtoupper($method); $base = $method.'&'.rawurlencode($requestUrl).'&'; if(is_array($params) && count($params)) { foreach($params as $key => $value) { $encodedParams[rawurlencode($key)] = rawurlencode($value); } ksort($encodedParams); foreach($encodedParams as $key => $value) { $encodedParamsString .= $key.'='.$value.'&'; } $encodedParamsString = rtrim($encodedParamsString, '&'); } $base .= rawurlencode($encodedParamsString); return $base; } /** * Generates signature. Uses consumer secret as hashing key and uses sha1 as hashing algorithm * @param string $requestUrl URL that we are requesting * @param string $method HTTP method. Can be GET of POST * @param array $params array of parameters from which to generate signature * @param string $tokenSecret * @return string generated signature * * @see ElatedfTwitterApi::generateSignatureBase() */ private function generateSignature($requestUrl, $method, $params, $tokenSecret = '') { $base = $this->generateSignatureBase($requestUrl, $method, $params); $signatureKey = rawurlencode($this->consumerSecret).'&'; if($tokenSecret !== '') { $signatureKey .= rawurlencode($tokenSecret); } return base64_encode(hash_hmac('sha1', $base, $signatureKey, true)); } /** * Generates OAuth authorization header base on provided request params * @param array $requestParams * @return string */ private function generateOAuthHeader($requestParams) { $header = array(); if(is_array($requestParams) && count($requestParams)) { foreach($requestParams as $key => $value) { $header[] = rawurlencode($key).'="'.rawurlencode($value).'"'; } } return 'OAuth '.implode(', ', $header); } /** * Generates hashed random number sequence that is used on each request * @return string */ private function generateNonce() { return md5(mt_rand()); } /** * Returns current UNIX time * @return int */ private function generateTimestamp() { return time(); } /** * Sends request to Twitter in order to obtain request token. * When Twitter returns request token it is saved in database along with request token secret. * It builds response object that is returned to client and which has status, message and redirectURL (authorize URL) properties */ public function obtainRequestToken() { $responseObj = new stdClass(); $currentPageUrl = !empty($_POST['currentPageUrl']) ? $_POST['currentPageUrl'] : $this->buildCurrentPageURI(); $requestParams = array( 'oauth_callback' => $this->buildRedirectURL($currentPageUrl), 'oauth_consumer_key' => $this->consumerKey, 'oauth_nonce' => $this->generateNonce(), 'oauth_signature_method' => $this->signatureMethod, 'oauth_timestamp' => $this->generateTimestamp(), 'oauth_version' => $this->oauthVersion ); $requestParams['oauth_signature'] = $this->generateSignature($this->requestTokenURL, 'POST', $requestParams); $OAuthHeader = $this->generateOAuthHeader($requestParams); $requestTokenData = array( 'method' => 'POST', 'blocking' => true, 'headers' => array( 'Authorization' => $OAuthHeader, 'Content-Type' => 'application/x-www-form-urlencoded;charset=UTF-8' ) ); $response = wp_remote_post($this->requestTokenURL, $requestTokenData); if(is_wp_error($response)) { $responseObj->status = false; $responseObj->message = esc_html__('Internal WP error', 'eltd'); } else { $responseBody = wp_remote_retrieve_body($response); if(!empty($responseBody)) { parse_str($responseBody, $responseParsed); if((is_array($responseParsed) && count($responseParsed)) && !empty($responseParsed['oauth_token']) && !empty($responseParsed['oauth_token_secret'])) { update_option(self::REQUEST_TOKEN_FIELD, $responseParsed['oauth_token']); update_option(self::REQUEST_TOKEN_SECRET_FIELD, $responseParsed['oauth_token_secret']); $responseObj->redirectURL = $this->buildAuthorizeURL(); if(!empty($responseObj->redirectUrl)) { $responseObj->status = false; $responseObj->message = esc_html__('Redirect URL couldn\t not be generated', 'eltd'); } else { $responseObj->status = true; $responseObj->message = 'Ok'; } } else { $responseObj->status = false; $responseObj->message = esc_html__('Couldn\'t connect with Twitter API', 'eltd'); } } } echo json_encode($responseObj); exit; } /** * @return stdClass */ public function obtainAccessToken() { $responseObj = new stdClass(); $authorizeVerifier = get_option(self::AUTHORIZE_VERIFIER_FIELD); $authorizeToken = get_option(self::AUTHORIZE_TOKEN_FIELD); if(!empty($authorizeVerifier) && !empty($authorizeToken)) { $requestParams = array( 'oauth_consumer_key' => $this->consumerKey, 'oauth_nonce' => $this->generateNonce(), 'oauth_signature_method' => $this->signatureMethod, 'oauth_timestamp' => $this->generateTimestamp(), 'oauth_version' => $this->oauthVersion ); $requestParams['oauth_signature'] = $this->generateSignature($this->accessTokenUrl, 'POST', $requestParams); $requestData = array( 'method' => 'POST', 'headers' => array( 'Authorization' => $this->generateOAuthHeader($requestParams), 'Content-Type' => 'application/x-www-form-urlencoded;charset=UTF-8' ), 'body' => array( 'oauth_verifier' => rawurlencode($authorizeVerifier), 'oauth_token' => rawurlencode($authorizeToken) ) ); $response = wp_remote_post($this->accessTokenUrl, $requestData); if(is_wp_error($response)) { $responseObj->status = false; $responseObj->message = esc_html__('Internal WP error', 'eltd'); } else { $responseBody = wp_remote_retrieve_body($response); parse_str($responseBody, $responseParsed); if(is_array($responseParsed) && count($responseParsed) && !empty($responseParsed['oauth_token']) && !empty($responseParsed['oauth_token_secret']) && !empty($responseParsed['user_id']) && !empty($responseParsed['screen_name'])) { update_option(self::ACCESS_TOKEN_FIELD, $responseParsed['oauth_token']); update_option(self::ACCESS_TOKEN_SECRET_FIELD, $responseParsed['oauth_token_secret']); update_option(self::USER_ID_FIELD, $responseParsed['user_id']); update_option(self::USER_SCREEN_NAME_FIELD, $responseParsed['screen_name']); $responseObj->status = true; $responseObj->message = esc_html__('Access token obtained', 'eltd'); } } } else { $responseObj->status = false; $responseObj->message = esc_html__('Authorize token and it\'s secret were not obtainer', 'eltd'); } return $responseObj; } /** * Gets tweets from Twitter * @param string $userId ID of the user for which we want to retreieve tweets * @param string $count number of tweets to return * @param array $transient * @return stdClass response object containing status, message and data properties */ public function fetchTweets($userId = '', $count = '', $transient = array()) { $responseObj = new stdClass(); $userId = ($userId !== '') ? $userId : get_option(self::USER_SCREEN_NAME_FIELD); $count = ($count !== '') ? $count : 5; $accessToken = get_option(self::ACCESS_TOKEN_FIELD); $accessTokenSecret = get_option(self::ACCESS_TOKEN_SECRET_FIELD); if(!$this->transientExists($transient)) { if($userId && $accessToken) { $requestParams = array( 'oauth_consumer_key' => $this->consumerKey, 'oauth_nonce' => $this->generateNonce(), 'oauth_signature_method' => $this->signatureMethod, 'oauth_timestamp' => $this->generateTimestamp(), 'oauth_version' => $this->oauthVersion, 'oauth_token' => $accessToken, 'user_id' => $userId, 'count' => $count ); $requestParams['oauth_signature'] = $this->generateSignature('https://api.twitter.com/1.1/statuses/user_timeline.json', 'GET', $requestParams, $accessTokenSecret); unset($requestParams['user_id']); unset($requestParams['count']); $response = wp_remote_get('https://api.twitter.com/1.1/statuses/user_timeline.json?user_id='.$userId.'&count='.$count, array( 'headers' => array( 'Authorization' => $this->generateOAuthHeader($requestParams), 'Content-Type' => 'application/x-www-form-urlencoded;charset=UTF-8' ) )); if(is_wp_error($response)) { $responseObj->status = false; $responseObj->message = esc_html__('Internal WP error', 'eltd'); } else { if(isset($response['response']['code']) && $response['response']['code'] == 200) { $responseObj->status = true; $responseObj->message = 'Ok'; $responseObj->data = json_decode(wp_remote_retrieve_body($response), true); $this->updateTransient($transient, $responseObj->data); } else { $responseObj->status = false; $responseObj->message = esc_html__('Couldn\'t connect with Twitter', 'eltd'); } } } else { $responseObj->status = false; $responseObj->message = esc_html__('It seams like you haven\t connected with your Twitter account', 'eltd'); } } else { $transientContent = $this->getTransient($transient); if(!empty($transientContent)) { $responseObj->status = true; $responseObj->message = 'Ok'; $responseObj->data = $transientContent; } else { $responseObj->status = false; $responseObj->message = esc_html__('Couldn\'t retreive content from database', 'eltd'); } } return $responseObj; } /** * Generates URL where user will authorize our application. Appends request token parameter to Twitter URL * @return bool|string */ private function buildAuthorizeURL() { $request_token = get_option(self::REQUEST_TOKEN_FIELD); if(!empty($request_token)) { return $this->authorizeURL.'?oauth_token='.$request_token; } return false; } /** * Generates URL where user will be redirected once he authorizes our application * @param $redirectUrl * @return string */ private function buildRedirectURL($redirectUrl) { return $this->redirectURI.'?redirect_url='.$redirectUrl; } /** * Returns current page URL * @return string */ public function buildCurrentPageURI() { $protocol = is_ssl() ? 'https' : 'http'; $site = $_SERVER['SERVER_NAME']; $slug = $_SERVER['REQUEST_URI']; return $protocol.'://'.$site.$slug; } /** * Check if user has authorized our application * @return bool */ public function hasUserConnected() { $accessToken = get_option(self::ACCESS_TOKEN_FIELD); return !empty($accessToken); } /** * Checks if provided transient exists in the database * @param $transientConfig * @return bool */ private function transientExists($transientConfig) { return !empty($transientConfig['transient_time']) && get_transient($transientConfig['transient_id']); } /** * Updates transient with new data if transient time isn't empty. In other case it deletes it * @param $transientConfig * @param $data */ private function updateTransient($transientConfig, $data) { if(!empty($transientConfig['transient_time']) && !empty($transientConfig['transient_id'])) { set_transient($transientConfig['transient_id'], $data, $transientConfig['transient_time']); } elseif(empty($transientConfig['transient_time']) && !empty($transientConfig['transient_id'])) { delete_transient($transientConfig['transient_id']); } } /** * Returns transient content if it exists * @param $transient * @return bool|mixed */ private function getTransient($transient) { if(!empty($transient['transient_time']) && !empty($transient['transient_id'])) { return get_transient($transient['transient_id']); } return false; } } lib/shortcode-interface.php 0000644 00000001070 15133231010 0011736 0 ustar 00 <?php namespace ElatedfTwitter\Lib; /** * Interface ShortcodeInterface * @package ElatedfTwitter\Lib */ interface ShortcodeInterface { /** * Returns base for shortcode * @return string */ public function getBase(); /** * Maps shortcode to Visual Composer. Hooked on vc_before_init */ public function vcMap(); /** * Renders shortcodes HTML * * @param $atts array of shortcode params * @param $content string shortcode content * @return string */ public function render($atts, $content = null); } lib/eltd-twitter-helper.php 0000644 00000005420 15133231010 0011716 0 ustar 00 <?php if(!defined('ABSPATH')) exit; class ElatedfTwitterHelper { public function getTweetText($tweet) { $protocol = is_ssl() ? 'https' : 'http'; if(!empty($tweet['text'])) { //add links around https or http parts of text $tweet['text'] = preg_replace('/(https?)\:\/\/([a-z0-9\/\.\&\#\?\-\+\~\_\,]+)/i', '<a target="_blank" href="'.('$1://$2').'">$1://$2</a>', $tweet['text']); //add links around @mentions $tweet['text'] = preg_replace('/\@([a-aA-Z0-9\.\_\-]+)/i', '<a target="_blank" href="'.esc_url($protocol.'://twitter.com/$1').'">@$1</a>', $tweet['text']); //add span html tag around #WordPress parts of text $tweet['text'] = preg_replace('/(#WordPress)/i', '<span>$1</span>', $tweet['text']); return $tweet['text']; } return ''; } public function getTweetProfileImage($tweet) { if(!empty($tweet['user'])) { $user = $tweet['user']; if(isset($user) && !empty($user)) { $image = is_ssl() ? $user['profile_image_url_https'] : $user['profile_image_url']; $image = str_replace('normal', 'bigger', $image); return $image; } return ''; } return ''; } public function getTweetProfileName($tweet) { if(!empty($tweet['user'])) { $user = $tweet['user']; if(isset($user['name']) && $user['name'] != '') { $name = $user['name']; return $name; } return ''; } return ''; } public function getTweetProfileScreenName($tweet) { if(!empty($tweet['user'])) { $user = $tweet['user']; if(isset($user['screen_name']) && $user['screen_name'] != '') { $name = '@' . $user['screen_name']; return $name; } return ''; } return ''; } public function getTweetProfileURL($tweet) { $url = 'https://twitter.com/'; if(!empty($tweet['user'])) { $user = $tweet['user']; if(isset($user['screen_name']) && $user['screen_name'] != '') { $url .= $user['screen_name']; } } return $url; } public function getTweetTime($tweet) { if(!empty($tweet['created_at'])) { return human_time_diff(strtotime($tweet['created_at']), current_time('timestamp') ).' '.__('ago', 'eltd'); } return ''; } public function getTweetURL($tweet) { if(!empty($tweet['id_str']) && $tweet['user']['screen_name']) { return 'https://twitter.com/'.$tweet['user']['screen_name'].'/statuses/'.$tweet['id_str']; } return '#'; } } lib/shortcode-loader.php 0000644 00000003547 15133231010 0011257 0 ustar 00 <?php namespace ElatedfTwitter\Lib; /** * Class ShortcodeLoader * @package TwitterShortcodeLoader\Lib */ class ShortcodeLoader { /** * @var private instance of current class */ private static $instance; /** * @var array */ private $loadedShortcodes = array(); /** * Private constuct because of Singletone */ private function __construct() {} /** * Returns current instance of class * @return ShortcodeLoader */ public static function getInstance() { if(self::$instance == null) { return new self; } return self::$instance; } /** * Adds new shortcode. Object that it takes must implement ShortcodeInterface * @param ShortcodeInterface $shortcode */ private function addShortcode(ShortcodeInterface $shortcode) { if(!array_key_exists($shortcode->getBase(), $this->loadedShortcodes)) { $this->loadedShortcodes[$shortcode->getBase()] = $shortcode; } } /** * Adds all shortcodes. * * @see ShortcodeLoader::addShortcode() */ private function addShortcodes() { $shortcodes_class_name = apply_filters('eltd_twitter_filter_add_vc_shortcode', $shortcodes_class_name = array()); sort($shortcodes_class_name); if(!empty($shortcodes_class_name)) { foreach($shortcodes_class_name as $shortcode_class_name) { $this->addShortcode(new $shortcode_class_name); } } } /** * Calls ShortcodeLoader::addShortcodes and than loops through added shortcodes and calls render method * of each shortcode object */ public function load() { if(eltd_twitter_theme_installed()) { $this->addShortcodes(); foreach ($this->loadedShortcodes as $shortcode) { add_shortcode($shortcode->getBase(), array($shortcode, 'render')); } } } } assets/css/shortcodes-map-responsive.css.map 0000644 00000030354 15133231010 0015241 0 ustar 00 {"version":3,"sources":["shortcodes-map-responsive.scss","shortcodes-map-responsive.css","../../../../../themes/trackstore/assets/css/scss/_mixins.scss","../../../shortcodes/twitter-list/assets/css/scss/responsive/_twitter-list.scss"],"names":[],"mappings":"AAAA;;+ECE+E;AC+E/E,0BAAA;AA0JA,wBAAA;AFrOA;;+ECC+E;AC+O3E;ECpPA;IASgB,gBAHmB;EFGrC;AACF;;AEEgB;EAZZ;IAiBwB,WAAW;EFFrC;AACF;;ACoOI;ECpPA;IASgB,gBAHmB;EFerC;AACF;;AEVgB;EAZZ;IAiBwB,WAAW;EFUrC;AACF;;ACoOI;ECpOA;IAQgB,UAAU;EFH5B;AACF;;AEKgB;EAXZ;IAgBwB,WAAW;EFLrC;AACF;;ACwNI;ECpOA;IAQgB,UAAU;EFS5B;AACF;;AEPgB;EAXZ;IAgBwB,WAAW;EFOrC;AACF;;AC4MI;ECpOA;IAQgB,UAAU;EFqB5B;AACF;;AEnBgB;EAXZ;IAgBwB,WAAW;EFmBrC;AACF;;AC4MI;ECrNA;IAEQ,sBAAsB;EFYhC;AACF","file":"../../../../eltd-twitter-feed/assets/css/scss/shortcodes-map-responsive.css","sourcesContent":["/* ==========================================================================\n Global partials\n ========================================================================== */\n@import '../../../../../themes/trackstore/assets/css/scss/variables';\n@import '../../../../../themes/trackstore/assets/css/scss/mixins';\n\n/* ==========================================================================\n Shortcodes responsive styles\n ========================================================================== */\n@import \"D:/projects/trackstore/wp-content/plugins/eltd-twitter-feed/shortcodes/twitter-list/assets/css/scss/responsive/_twitter-list.scss\";","/* ==========================================================================\n Global partials\n ========================================================================== */\n/* common mixins - start */\n/* common mixins - end */\n/* ==========================================================================\n Shortcodes responsive styles\n ========================================================================== */\n@media only screen and (max-width: 1280px) {\n .eltd-twitter-list-holder.eltd-tl-four-columns .eltd-tl-item {\n width: 33.33333%;\n }\n}\n\n@media only screen and (max-width: 1280px) and (min-width: 1025px) {\n .eltd-twitter-list-holder.eltd-tl-four-columns .eltd-tl-item:nth-child(3n+1) {\n clear: both;\n }\n}\n\n@media only screen and (max-width: 1280px) {\n .eltd-twitter-list-holder.eltd-tl-five-columns .eltd-tl-item {\n width: 33.33333%;\n }\n}\n\n@media only screen and (max-width: 1280px) and (min-width: 1025px) {\n .eltd-twitter-list-holder.eltd-tl-five-columns .eltd-tl-item:nth-child(3n+1) {\n clear: both;\n }\n}\n\n@media only screen and (max-width: 1024px) {\n .eltd-twitter-list-holder.eltd-tl-three-columns .eltd-tl-item {\n width: 50%;\n }\n}\n\n@media only screen and (max-width: 1024px) and (min-width: 681px) {\n .eltd-twitter-list-holder.eltd-tl-three-columns .eltd-tl-item:nth-child(2n+1) {\n clear: both;\n }\n}\n\n@media only screen and (max-width: 1024px) {\n .eltd-twitter-list-holder.eltd-tl-four-columns .eltd-tl-item {\n width: 50%;\n }\n}\n\n@media only screen and (max-width: 1024px) and (min-width: 681px) {\n .eltd-twitter-list-holder.eltd-tl-four-columns .eltd-tl-item:nth-child(2n+1) {\n clear: both;\n }\n}\n\n@media only screen and (max-width: 1024px) {\n .eltd-twitter-list-holder.eltd-tl-five-columns .eltd-tl-item {\n width: 50%;\n }\n}\n\n@media only screen and (max-width: 1024px) and (min-width: 681px) {\n .eltd-twitter-list-holder.eltd-tl-five-columns .eltd-tl-item:nth-child(2n+1) {\n clear: both;\n }\n}\n\n@media only screen and (max-width: 680px) {\n .eltd-twitter-list-holder .eltd-tl-item {\n width: 100% !important;\n }\n}\n","//layout mixins - start\n\n@mixin eltdTableLayout() {\n position: relative;\n display: table;\n table-layout: fixed;\n height: 100%;\n width: 100%;\n}\n\n@mixin eltdTableCellLayout() {\n position: relative;\n display: table-cell;\n height: 100%;\n width: 100%;\n vertical-align: middle;\n}\n\n@mixin eltdRelativeHolderLayout() {\n position: relative;\n display: inline-block;\n width: 100%;\n vertical-align: middle;\n}\n\n@mixin eltdAbsoluteHolderLayout() {\n position: absolute;\n display: block;\n width: 100%;\n height: 100%;\n top: 0;\n left: 0;\n}\n\n@mixin eltdTypographyLayout() {\n color: inherit;\n font-family: inherit;\n font-size: inherit;\n font-weight: inherit;\n font-style: inherit;\n line-height: inherit;\n letter-spacing: inherit;\n text-transform: inherit;\n}\n\n//layout mixins - end\n\n//transition mixins - start\n\n@mixin eltdTransition($transition-param...) {\n -webkit-transition: $transition-param;\n -moz-transition: $transition-param;\n transition: $transition-param;\n}\n\n@mixin eltdTransitionTransform($transition-param...) {\n -webkit-transition: -webkit-transform $transition-param;\n -moz-transition: -moz-transform $transition-param;\n transition: transform $transition-param;\n}\n\n@mixin eltdTransform($transform-param...) {\n -webkit-transform: $transform-param;\n -moz-transform: $transform-param;\n transform: $transform-param;\n}\n\n@mixin eltdAnimation($animation-param...) {\n -webkit-animation: $animation-param;\n -moz-animation: $animation-param;\n animation: $animation-param;\n}\n\n@mixin eltdTransformOrigin($animation-param...) {\n -webkit-transform-origin: $animation-param;\n -moz-transform-origin: $animation-param;\n transform-origin: $animation-param;\n}\n\n//transition mixins - end\n\n/* common mixins - start */\n\n@mixin eltdBckImageStyle(){\n background-size: cover;\n background-repeat: no-repeat;\n background-position: center center;\n}\n\n@mixin eltdImageZoomHoverStyle(){\n \n overflow:hidden;\n\n img {\n @include eltdTransition(all .32s ease-in-out);\n } \n\n &:hover {\n img { \n @include eltdTransform(scale(1.05));\n }\n }\n}\n\n@mixin eltdUnderlineHoverStyle(){\n position:relative;\n\n &:after {\n content: \"\";\n position: absolute;\n bottom: 0;\n left: 0;\n width: 100%;\n height: 1px;\n background-color: currentColor;\n transform-origin:left;\n @include eltdTransition(all .32s ease-in-out);\n @include eltdTransform(scale(0,1));\n }\n\n &:hover {\n\n &:after { \n @include eltdTransform(scale(1,1));\n }\n }\n}\n\n@mixin eltdImageOverlayHoverStyle($with-hover: true){\n \n @if ($with-hover) {\n \n &:hover {\n \n &:after {\n opacity: 1;\n }\n }\n \n &:after {\n @include eltdAbsoluteHolderLayout();\n content: '';\n background-color: rgba($default-heading-color, .4);\n opacity: 0;\n @include eltdTransition(opacity .2s ease-in-out);\n }\n \n } @else {\n @include eltdAbsoluteHolderLayout();\n content: '';\n background-color: rgba($default-heading-color, .4);\n opacity: 0;\n @include eltdTransition(opacity .2s ease-in-out);\n }\n}\n\n@mixin eltdButtonDefaultStyle() {\n font-family: $default-heading-font;\n position: relative;\n display: inline-block;\n vertical-align: middle;\n width: auto;\n outline: none;\n font-size: 16px;\n line-height: 2em;\n letter-spacing: -0.4px;\n font-weight: 600;\n text-transform: uppercase;\n box-sizing: border-box;\n margin: 0;\n @include eltdTransition(color .2s ease-in-out, background-color .2s ease-in-out, border-color .2s ease-in-out);\n}\n\n@mixin eltdButtonTransparentColor() {\n color: $default-text-color;\n background-color: transparent;\n}\n\n@mixin eltdButtonSolidColor() {\n color: #fff;\n background-color: $default-dark-color;\n border: 1px solid transparent;\n}\n\n@mixin eltdButtonSolidHoverColor() {\n color: $default-dark-color;\n background-color: transparent;\n border: 1px solid $default-dark-color;\n}\n\n@mixin eltdButtonOutlineColor() {\n color: $default-dark-color;\n background-color: transparent;\n border: 1px solid $default-dark-color;\n}\n\n@mixin eltdButtonOutlineHoverColor() {\n color: #fff;\n background-color: $default-dark-color;\n border-color: $default-dark-color;\n}\n\n@mixin eltdButtonSmallParams() {\n padding: 7px 37px;\n}\n\n@mixin eltdButtonMediumParams() {\n padding: 9px 57px;\n}\n\n@mixin eltdButtonLargeParams() {\n padding: 11px 77px;\n}\n\n@mixin eltdButtonHugeParams() {\n display: block;\n text-align: center;\n padding: 11px 27px;\n}\n\n@mixin eltdPlaceholder {\n &::-webkit-input-placeholder {\n @content\n }\n &:-moz-placeholder {\n @content\n }\n &::-moz-placeholder {\n @content\n }\n &:-ms-input-placeholder {\n @content\n }\n}\n\n/* common mixins - end */\n\n//media query mixins - start\n\n@mixin laptop-landscape-large {\n @media only screen and (max-width: map-get($breakpoints, laptop-landscape-large)) {\n @content;\n }\n}\n\n@mixin laptop-landscape-medium {\n @media only screen and (max-width: map-get($breakpoints, laptop-landscape-medium)) {\n @content;\n }\n}\n\n@mixin laptop-landscape {\n @media only screen and (max-width: map-get($breakpoints, laptop-landscape)) {\n @content;\n }\n}\n\n@mixin ipad-landscape {\n @media only screen and (max-width: map-get($breakpoints, ipad-landscape)) {\n @content;\n }\n}\n\n@mixin ipad-portrait {\n @media only screen and (max-width: map-get($breakpoints, ipad-portrait)) {\n @content;\n }\n}\n\n@mixin phone-landscape {\n @media only screen and (max-width: map-get($breakpoints, phone-landscape)) {\n @content;\n }\n}\n\n@mixin phone-portrait {\n @media only screen and (max-width: map-get($breakpoints, phone-portrait)) {\n @content;\n }\n}\n\n@mixin smaller-phone-portrait {\n @media only screen and (max-width: map-get($breakpoints, smaller-phone-portrait)) {\n @content;\n }\n}\n\n//media query mixins - end\n\n//animation mixin - start\n\n@mixin keyframes($name) {\n @-webkit-keyframes #{$name} {\n @content;\n }\n\n @keyframes #{$name} {\n @content;\n }\n}\n\n@mixin animation($name, $duration, $repeat, $timing, $delay) {\n -webkit-animation-name: $name;\n -webkit-animation-duration: $duration;\n -webkit-animation-iteration-count: $repeat;\n -webkit-animation-timing-function: $timing;\n -webkit-animation-delay: $delay;\n -webkit-animation-fill-mode: forwards; /* this prevents the animation from restarting! */\n\n animation-name: $name;\n animation-duration: $duration;\n animation-iteration-count: $repeat;\n animation-timing-function: $timing;\n animation-delay: $delay;\n animation-fill-mode: forwards; /* this prevents the animation from restarting! */\n}\n\n//animation mixin - end","@include laptop-landscape-medium {\n\n .eltd-twitter-list-holder {\n\n $columns_number: ('four', 'five');\n\n @for $i from 0 to length($columns_number) {\n &.eltd-tl-#{nth($columns_number,$i+1)}-columns {\n $column_width: 100% / 3;\n\n .eltd-tl-item {\n width: $column_width;\n }\n\n @media only screen and (min-width: $ipad-landscape-plus-pixel) {\n\n .eltd-tl-item {\n\n &:nth-child(3n+1) {\n clear: both;\n }\n }\n }\n }\n }\n }\n}\n\n@include ipad-landscape {\n\n .eltd-twitter-list-holder {\n\n $columns_number: ('three', 'four', 'five');\n\n @for $i from 0 to length($columns_number) {\n &.eltd-tl-#{nth($columns_number,$i+1)}-columns {\n\n .eltd-tl-item {\n width: 50%;\n }\n\n @media only screen and (min-width: $phone-landscape-plus-pixel) {\n\n .eltd-tl-item {\n\n &:nth-child(2n+1) {\n clear: both;\n }\n }\n }\n }\n }\n }\n}\n\n@include phone-landscape {\n\n .eltd-twitter-list-holder {\n .eltd-tl-item {\n width: 100% !important; // !important is set to override all other stronger selectors\n }\n }\n}"]} assets/css/shortcodes-map.css 0000644 00000011113 15133231010 0012262 0 ustar 00 /* ========================================================================== Global partials ========================================================================== */ /* common mixins - start */ /* common mixins - end */ /* ========================================================================== Shortcodes styles ========================================================================== */ .eltd-twitter-list-holder { position: relative; display: inline-block; width: 100%; vertical-align: middle; clear: both; } .eltd-twitter-list-holder:not(.eltd-tl-one-column) .eltd-tl-item { float: left; } .eltd-twitter-list-holder .eltd-twitter-list { position: relative; display: inline-block; width: 100%; vertical-align: middle; list-style: none; margin: 0; padding: 0; } .eltd-twitter-list-holder .eltd-tl-item { position: relative; display: inline-block; width: 100%; vertical-align: middle; padding: 0; margin: 0; -webkit-box-sizing: border-box; box-sizing: border-box; } .eltd-twitter-list-holder .eltd-tli-inner { position: relative; display: inline-block; width: 100%; vertical-align: middle; background-color: #ffffff; -webkit-transition: all 0.2s ease-in-out; -o-transition: all 0.2s ease-in-out; transition: all 0.2s ease-in-out; } .eltd-twitter-list-holder .eltd-tli-inner:hover { -webkit-box-shadow: -2px 4px 13px 0 rgba(81, 137, 162, 0.05); box-shadow: -2px 4px 13px 0 rgba(81, 137, 162, 0.05); -webkit-transform: translateY(-3px); -ms-transform: translateY(-3px); transform: translateY(-3px); } .eltd-twitter-list-holder .eltd-tli-content { position: relative; display: inline-block; width: 100%; vertical-align: middle; -webkit-box-sizing: border-box; box-sizing: border-box; padding: 35px 23px; border: 1px solid #f2f2f2; } .eltd-twitter-list-holder .eltd-twitter-content-top { position: relative; display: inline-block; width: 100%; vertical-align: middle; -webkit-box-sizing: border-box; box-sizing: border-box; margin-bottom: 25px; } .eltd-twitter-list-holder .eltd-twitter-link-over a { position: absolute; display: block; width: 100%; height: 100%; top: 0; left: 0; z-index: 1; } .eltd-twitter-list-holder .eltd-twitter-user { display: inline-block; padding-right: 30px; width: 100%; -webkit-box-sizing: border-box; box-sizing: border-box; } .eltd-twitter-list-holder .eltd-twitter-user .eltd-twitter-image { display: inline-block; float: left; width: 56px; height: 56px; } .eltd-twitter-list-holder .eltd-twitter-user .eltd-twitter-image img { border-radius: 50%; } .eltd-twitter-list-holder .eltd-twitter-user .eltd-twitter-name { display: inline-block; float: left; width: calc(100% - 56px); padding-left: 15px; -webkit-box-sizing: border-box; box-sizing: border-box; } .eltd-twitter-list-holder .eltd-twitter-user .eltd-twitter-name * { margin: 0; } .eltd-twitter-list-holder .eltd-twitter-icon { display: inline-block; width: 20px; text-align: right; position: absolute; top: -7px; right: 3px; font-size: 24px; color: #c8ff0b; } .eltd-twitter-list-holder .eltd-tweet-text { padding-left: 12px; -webkit-box-sizing: border-box; box-sizing: border-box; } .eltd-twitter-list-holder .eltd-tweet-text a { color: #808080; position: relative; z-index: 2; } .eltd-twitter-list-holder .eltd-tweet-text a:hover { color: #c8ff0b; } .eltd-twitter-list-holder .eltd-twitter-profile a { font-size: 14px; color: #808080; position: relative; z-index: 2; } .eltd-twitter-list-holder .eltd-twitter-profile a:hover { color: #c8ff0b; } .eltd-twitter-list-holder.eltd-tl-two-columns .eltd-tl-item { width: 50%; } @media only screen and (min-width: 1025px) { .eltd-twitter-list-holder.eltd-tl-two-columns .eltd-tl-item:nth-child(2n+1) { clear: both; } } .eltd-twitter-list-holder.eltd-tl-three-columns .eltd-tl-item { width: 33.33333%; } @media only screen and (min-width: 1201px) { .eltd-twitter-list-holder.eltd-tl-three-columns .eltd-tl-item:nth-child(3n+1) { clear: both; } } .eltd-twitter-list-holder.eltd-tl-four-columns .eltd-tl-item { width: 25%; } @media only screen and (min-width: 1281px) { .eltd-twitter-list-holder.eltd-tl-four-columns .eltd-tl-item:nth-child(4n+1) { clear: both; } } .eltd-twitter-list-holder.eltd-tl-five-columns .eltd-tl-item { width: 20%; } @media only screen and (min-width: 1281px) { .eltd-twitter-list-holder.eltd-tl-five-columns .eltd-tl-item:nth-child(5n+1) { clear: both; } } /*# sourceMappingURL=../../../../plugins/eltd-twitter-feed/assets/css/shortcodes-map.css.map */ assets/css/scss/shortcodes-map.scss 0000644 00000001060 15133231010 0013420 0 ustar 00 /* ========================================================================== Global partials ========================================================================== */ @import '../../../../../themes/trackstore/assets/css/scss/variables'; @import '../../../../../themes/trackstore/assets/css/scss/mixins'; /* ========================================================================== Shortcodes styles ========================================================================== */ @import '../../../shortcodes/**/assets/css/scss/default/*.scss'; assets/css/scss/shortcodes-map-responsive.scss 0000644 00000001076 15133231010 0015622 0 ustar 00 /* ========================================================================== Global partials ========================================================================== */ @import '../../../../../themes/trackstore/assets/css/scss/variables'; @import '../../../../../themes/trackstore/assets/css/scss/mixins'; /* ========================================================================== Shortcodes responsive styles ========================================================================== */ @import '../../../shortcodes/**/assets/css/scss/responsive/*.scss'; assets/css/shortcodes-map.css.map 0000644 00000051106 15133231010 0013044 0 ustar 00 {"version":3,"sources":["shortcodes-map.scss","shortcodes-map.css","../../../../../themes/trackstore/assets/css/scss/_mixins.scss","../../../shortcodes/twitter-list/assets/css/scss/default/_twitter-list.scss","../../../../../themes/trackstore/assets/css/scss/_variables.scss"],"names":[],"mappings":"AAAA;;+ECE+E;AC+E/E,0BAAA;AA0JA,wBAAA;AFrOA;;+ECC+E;AEP/E;EDmBI,kBAAkB;EAClB,qBAAqB;EACrB,WAAW;EACX,sBAAsB;ECpBtB,WAAW;AFYf;;AEdA;EAOY,WAAW;AFWvB;;AElBA;EDmBI,kBAAkB;EAClB,qBAAqB;EACrB,WAAW;EACX,sBAAsB;ECTlB,gBAAgB;EAChB,SAAS;EACT,UAAU;AFalB;;AE5BA;EDmBI,kBAAkB;EAClB,qBAAqB;EACrB,WAAW;EACX,sBAAsB;ECFlB,UAAU;EACV,SAAS;EACT,8BAAsB;EAAtB,sBAAsB;AFgB9B;;AEtCA;EDmBI,kBAAkB;EAClB,qBAAqB;EACrB,WAAW;EACX,sBAAsB;ECKlB,yBAAyB;EDuB7B,wCCtB+C;EDwB/C,mCCxB+C;EDwB/C,gCCxB+C;AFqBnD;;AEjDA;EA+BY,4DAAwD;EAExD,oDAAgD;ED6BxD,mCC5B+C;ED8B/C,+BC9B+C;ED8B/C,2BC9B+C;AFwBnD;;AE1DA;EDmBI,kBAAkB;EAClB,qBAAqB;EACrB,WAAW;EACX,sBAAsB;ECkBlB,8BAAsB;EAAtB,sBAAsB;EACtB,kBAAkB;EAClB,yBAAyB;AF0BjC;;AEpEA;EDmBI,kBAAkB;EAClB,qBAAqB;EACrB,WAAW;EACX,sBAAsB;ECyBlB,8BAAsB;EAAtB,sBAAsB;EACtB,mBAAmB;AF6B3B;;AE7EA;ED0BI,kBAAkB;EAClB,cAAc;EACd,WAAW;EACX,YAAY;EACZ,MAAM;EACN,OAAO;ECuBC,UAAU;AFiCtB;;AEvFA;EA2DQ,qBAAqB;EACrB,mBAAmB;EACnB,WAAW;EACX,8BAAsB;EAAtB,sBAAsB;AFgC9B;;AE9FA;EAiEY,qBAAqB;EACrB,WAAW;EACX,WAAW;EACX,YAAY;AFiCxB;;AErGA;EAsEgB,kBAAkB;AFmClC;;AEzGA;EA2EY,qBAAqB;EACrB,WAAW;EACX,wBAAwB;EACxB,kBAAkB;EAClB,8BAAsB;EAAtB,sBAAsB;AFkClC;;AEjHA;EAiFgB,SAAS;AFoCzB;;AErHA;EAuFQ,qBAAqB;EACrB,WAAW;EACX,iBAAiB;EACjB,kBAAkB;EAClB,SAAS;EACT,UAAU;EACV,eAAe;EACf,cC3DkB;AH6F1B;;AEhIA;EAkGQ,kBAAkB;EAClB,8BAAsB;EAAtB,sBAAsB;AFkC9B;;AErIA;EAqGY,cAAa;EACb,kBAAkB;EAClB,UAAU;AFoCtB;;AE3IA;EAyGgB,cCtEU;AH4G1B;;AE/IA;EAgHY,eAAe;EACf,cAAc;EACd,kBAAkB;EAClB,UAAU;AFmCtB;;AEtJA;EAqHgB,cClFU;AHuH1B;;AE1JA;EAgIgB,UAAoB;AF8BpC;;AEPgB;EAvJhB;IA4J4B,WAAW;EFOrC;AACF;;AEpKA;EAgIgB,gBAAoB;AFwCpC;;AE3BgB;EA7IhB;IAkJ4B,WAAW;EF2BrC;AACF;;AE9KA;EAgIgB,UAAoB;AFkDpC;;AE9CgB;EApIhB;IAwI4B,WAAW;EF+CrC;AACF;;AExLA;EAgIgB,UAAoB;AF4DpC;;AExDgB;EApIhB;IAwI4B,WAAW;EFyDrC;AACF","file":"../../../../eltd-twitter-feed/assets/css/scss/shortcodes-map.css","sourcesContent":["/* ==========================================================================\n Global partials\n ========================================================================== */\n@import '../../../../../themes/trackstore/assets/css/scss/variables';\n@import '../../../../../themes/trackstore/assets/css/scss/mixins';\n\n/* ==========================================================================\n Shortcodes styles\n ========================================================================== */\n@import \"D:/projects/trackstore/wp-content/plugins/eltd-twitter-feed/shortcodes/twitter-list/assets/css/scss/default/_twitter-list.scss\";","/* ==========================================================================\n Global partials\n ========================================================================== */\n/* common mixins - start */\n/* common mixins - end */\n/* ==========================================================================\n Shortcodes styles\n ========================================================================== */\n.eltd-twitter-list-holder {\n position: relative;\n display: inline-block;\n width: 100%;\n vertical-align: middle;\n clear: both;\n}\n\n.eltd-twitter-list-holder:not(.eltd-tl-one-column) .eltd-tl-item {\n float: left;\n}\n\n.eltd-twitter-list-holder .eltd-twitter-list {\n position: relative;\n display: inline-block;\n width: 100%;\n vertical-align: middle;\n list-style: none;\n margin: 0;\n padding: 0;\n}\n\n.eltd-twitter-list-holder .eltd-tl-item {\n position: relative;\n display: inline-block;\n width: 100%;\n vertical-align: middle;\n padding: 0;\n margin: 0;\n box-sizing: border-box;\n}\n\n.eltd-twitter-list-holder .eltd-tli-inner {\n position: relative;\n display: inline-block;\n width: 100%;\n vertical-align: middle;\n background-color: #ffffff;\n -webkit-transition: all 0.2s ease-in-out;\n -moz-transition: all 0.2s ease-in-out;\n transition: all 0.2s ease-in-out;\n}\n\n.eltd-twitter-list-holder .eltd-tli-inner:hover {\n -webkit-box-shadow: -2px 4px 13px 0 rgba(81, 137, 162, 0.05);\n -moz-box-shadow: -2px 4px 13px 0 rgba(81, 137, 162, 0.05);\n box-shadow: -2px 4px 13px 0 rgba(81, 137, 162, 0.05);\n -webkit-transform: translateY(-3px);\n -moz-transform: translateY(-3px);\n transform: translateY(-3px);\n}\n\n.eltd-twitter-list-holder .eltd-tli-content {\n position: relative;\n display: inline-block;\n width: 100%;\n vertical-align: middle;\n box-sizing: border-box;\n padding: 35px 23px;\n border: 1px solid #f2f2f2;\n}\n\n.eltd-twitter-list-holder .eltd-twitter-content-top {\n position: relative;\n display: inline-block;\n width: 100%;\n vertical-align: middle;\n box-sizing: border-box;\n margin-bottom: 25px;\n}\n\n.eltd-twitter-list-holder .eltd-twitter-link-over a {\n position: absolute;\n display: block;\n width: 100%;\n height: 100%;\n top: 0;\n left: 0;\n z-index: 1;\n}\n\n.eltd-twitter-list-holder .eltd-twitter-user {\n display: inline-block;\n padding-right: 30px;\n width: 100%;\n box-sizing: border-box;\n}\n\n.eltd-twitter-list-holder .eltd-twitter-user .eltd-twitter-image {\n display: inline-block;\n float: left;\n width: 56px;\n height: 56px;\n}\n\n.eltd-twitter-list-holder .eltd-twitter-user .eltd-twitter-image img {\n border-radius: 50%;\n}\n\n.eltd-twitter-list-holder .eltd-twitter-user .eltd-twitter-name {\n display: inline-block;\n float: left;\n width: calc(100% - 56px);\n padding-left: 15px;\n box-sizing: border-box;\n}\n\n.eltd-twitter-list-holder .eltd-twitter-user .eltd-twitter-name * {\n margin: 0;\n}\n\n.eltd-twitter-list-holder .eltd-twitter-icon {\n display: inline-block;\n width: 20px;\n text-align: right;\n position: absolute;\n top: -7px;\n right: 3px;\n font-size: 24px;\n color: #c8ff0b;\n}\n\n.eltd-twitter-list-holder .eltd-tweet-text {\n padding-left: 12px;\n box-sizing: border-box;\n}\n\n.eltd-twitter-list-holder .eltd-tweet-text a {\n color: #808080;\n position: relative;\n z-index: 2;\n}\n\n.eltd-twitter-list-holder .eltd-tweet-text a:hover {\n color: #c8ff0b;\n}\n\n.eltd-twitter-list-holder .eltd-twitter-profile a {\n font-size: 14px;\n color: #808080;\n position: relative;\n z-index: 2;\n}\n\n.eltd-twitter-list-holder .eltd-twitter-profile a:hover {\n color: #c8ff0b;\n}\n\n.eltd-twitter-list-holder.eltd-tl-two-columns .eltd-tl-item {\n width: 50%;\n}\n\n@media only screen and (min-width: 1025px) {\n .eltd-twitter-list-holder.eltd-tl-two-columns .eltd-tl-item:nth-child(2n+1) {\n clear: both;\n }\n}\n\n.eltd-twitter-list-holder.eltd-tl-three-columns .eltd-tl-item {\n width: 33.33333%;\n}\n\n@media only screen and (min-width: 1201px) {\n .eltd-twitter-list-holder.eltd-tl-three-columns .eltd-tl-item:nth-child(3n+1) {\n clear: both;\n }\n}\n\n.eltd-twitter-list-holder.eltd-tl-four-columns .eltd-tl-item {\n width: 25%;\n}\n\n@media only screen and (min-width: 1281px) {\n .eltd-twitter-list-holder.eltd-tl-four-columns .eltd-tl-item:nth-child(4n+1) {\n clear: both;\n }\n}\n\n.eltd-twitter-list-holder.eltd-tl-five-columns .eltd-tl-item {\n width: 20%;\n}\n\n@media only screen and (min-width: 1281px) {\n .eltd-twitter-list-holder.eltd-tl-five-columns .eltd-tl-item:nth-child(5n+1) {\n clear: both;\n }\n}\n","//layout mixins - start\n\n@mixin eltdTableLayout() {\n position: relative;\n display: table;\n table-layout: fixed;\n height: 100%;\n width: 100%;\n}\n\n@mixin eltdTableCellLayout() {\n position: relative;\n display: table-cell;\n height: 100%;\n width: 100%;\n vertical-align: middle;\n}\n\n@mixin eltdRelativeHolderLayout() {\n position: relative;\n display: inline-block;\n width: 100%;\n vertical-align: middle;\n}\n\n@mixin eltdAbsoluteHolderLayout() {\n position: absolute;\n display: block;\n width: 100%;\n height: 100%;\n top: 0;\n left: 0;\n}\n\n@mixin eltdTypographyLayout() {\n color: inherit;\n font-family: inherit;\n font-size: inherit;\n font-weight: inherit;\n font-style: inherit;\n line-height: inherit;\n letter-spacing: inherit;\n text-transform: inherit;\n}\n\n//layout mixins - end\n\n//transition mixins - start\n\n@mixin eltdTransition($transition-param...) {\n -webkit-transition: $transition-param;\n -moz-transition: $transition-param;\n transition: $transition-param;\n}\n\n@mixin eltdTransitionTransform($transition-param...) {\n -webkit-transition: -webkit-transform $transition-param;\n -moz-transition: -moz-transform $transition-param;\n transition: transform $transition-param;\n}\n\n@mixin eltdTransform($transform-param...) {\n -webkit-transform: $transform-param;\n -moz-transform: $transform-param;\n transform: $transform-param;\n}\n\n@mixin eltdAnimation($animation-param...) {\n -webkit-animation: $animation-param;\n -moz-animation: $animation-param;\n animation: $animation-param;\n}\n\n@mixin eltdTransformOrigin($animation-param...) {\n -webkit-transform-origin: $animation-param;\n -moz-transform-origin: $animation-param;\n transform-origin: $animation-param;\n}\n\n//transition mixins - end\n\n/* common mixins - start */\n\n@mixin eltdBckImageStyle(){\n background-size: cover;\n background-repeat: no-repeat;\n background-position: center center;\n}\n\n@mixin eltdImageZoomHoverStyle(){\n \n overflow:hidden;\n\n img {\n @include eltdTransition(all .32s ease-in-out);\n } \n\n &:hover {\n img { \n @include eltdTransform(scale(1.05));\n }\n }\n}\n\n@mixin eltdUnderlineHoverStyle(){\n position:relative;\n\n &:after {\n content: \"\";\n position: absolute;\n bottom: 0;\n left: 0;\n width: 100%;\n height: 1px;\n background-color: currentColor;\n transform-origin:left;\n @include eltdTransition(all .32s ease-in-out);\n @include eltdTransform(scale(0,1));\n }\n\n &:hover {\n\n &:after { \n @include eltdTransform(scale(1,1));\n }\n }\n}\n\n@mixin eltdImageOverlayHoverStyle($with-hover: true){\n \n @if ($with-hover) {\n \n &:hover {\n \n &:after {\n opacity: 1;\n }\n }\n \n &:after {\n @include eltdAbsoluteHolderLayout();\n content: '';\n background-color: rgba($default-heading-color, .4);\n opacity: 0;\n @include eltdTransition(opacity .2s ease-in-out);\n }\n \n } @else {\n @include eltdAbsoluteHolderLayout();\n content: '';\n background-color: rgba($default-heading-color, .4);\n opacity: 0;\n @include eltdTransition(opacity .2s ease-in-out);\n }\n}\n\n@mixin eltdButtonDefaultStyle() {\n font-family: $default-heading-font;\n position: relative;\n display: inline-block;\n vertical-align: middle;\n width: auto;\n outline: none;\n font-size: 16px;\n line-height: 2em;\n letter-spacing: -0.4px;\n font-weight: 600;\n text-transform: uppercase;\n box-sizing: border-box;\n margin: 0;\n @include eltdTransition(color .2s ease-in-out, background-color .2s ease-in-out, border-color .2s ease-in-out);\n}\n\n@mixin eltdButtonTransparentColor() {\n color: $default-text-color;\n background-color: transparent;\n}\n\n@mixin eltdButtonSolidColor() {\n color: #fff;\n background-color: $default-dark-color;\n border: 1px solid transparent;\n}\n\n@mixin eltdButtonSolidHoverColor() {\n color: $default-dark-color;\n background-color: transparent;\n border: 1px solid $default-dark-color;\n}\n\n@mixin eltdButtonOutlineColor() {\n color: $default-dark-color;\n background-color: transparent;\n border: 1px solid $default-dark-color;\n}\n\n@mixin eltdButtonOutlineHoverColor() {\n color: #fff;\n background-color: $default-dark-color;\n border-color: $default-dark-color;\n}\n\n@mixin eltdButtonSmallParams() {\n padding: 7px 37px;\n}\n\n@mixin eltdButtonMediumParams() {\n padding: 9px 57px;\n}\n\n@mixin eltdButtonLargeParams() {\n padding: 11px 77px;\n}\n\n@mixin eltdButtonHugeParams() {\n display: block;\n text-align: center;\n padding: 11px 27px;\n}\n\n@mixin eltdPlaceholder {\n &::-webkit-input-placeholder {\n @content\n }\n &:-moz-placeholder {\n @content\n }\n &::-moz-placeholder {\n @content\n }\n &:-ms-input-placeholder {\n @content\n }\n}\n\n/* common mixins - end */\n\n//media query mixins - start\n\n@mixin laptop-landscape-large {\n @media only screen and (max-width: map-get($breakpoints, laptop-landscape-large)) {\n @content;\n }\n}\n\n@mixin laptop-landscape-medium {\n @media only screen and (max-width: map-get($breakpoints, laptop-landscape-medium)) {\n @content;\n }\n}\n\n@mixin laptop-landscape {\n @media only screen and (max-width: map-get($breakpoints, laptop-landscape)) {\n @content;\n }\n}\n\n@mixin ipad-landscape {\n @media only screen and (max-width: map-get($breakpoints, ipad-landscape)) {\n @content;\n }\n}\n\n@mixin ipad-portrait {\n @media only screen and (max-width: map-get($breakpoints, ipad-portrait)) {\n @content;\n }\n}\n\n@mixin phone-landscape {\n @media only screen and (max-width: map-get($breakpoints, phone-landscape)) {\n @content;\n }\n}\n\n@mixin phone-portrait {\n @media only screen and (max-width: map-get($breakpoints, phone-portrait)) {\n @content;\n }\n}\n\n@mixin smaller-phone-portrait {\n @media only screen and (max-width: map-get($breakpoints, smaller-phone-portrait)) {\n @content;\n }\n}\n\n//media query mixins - end\n\n//animation mixin - start\n\n@mixin keyframes($name) {\n @-webkit-keyframes #{$name} {\n @content;\n }\n\n @keyframes #{$name} {\n @content;\n }\n}\n\n@mixin animation($name, $duration, $repeat, $timing, $delay) {\n -webkit-animation-name: $name;\n -webkit-animation-duration: $duration;\n -webkit-animation-iteration-count: $repeat;\n -webkit-animation-timing-function: $timing;\n -webkit-animation-delay: $delay;\n -webkit-animation-fill-mode: forwards; /* this prevents the animation from restarting! */\n\n animation-name: $name;\n animation-duration: $duration;\n animation-iteration-count: $repeat;\n animation-timing-function: $timing;\n animation-delay: $delay;\n animation-fill-mode: forwards; /* this prevents the animation from restarting! */\n}\n\n//animation mixin - end",".eltd-twitter-list-holder {\n @include eltdRelativeHolderLayout();\n clear: both;\n\n &:not(.eltd-tl-one-column) {\n\n .eltd-tl-item {\n float: left;\n }\n }\n\n .eltd-twitter-list {\n @include eltdRelativeHolderLayout();\n list-style: none;\n margin: 0;\n padding: 0;\n }\n\n .eltd-tl-item {\n @include eltdRelativeHolderLayout();\n padding: 0;\n margin: 0;\n box-sizing: border-box;\n }\n\n .eltd-tli-inner {\n @include eltdRelativeHolderLayout();\n background-color: #ffffff;\n @include eltdTransition(all .2s ease-in-out);\n\n &:hover {\n -webkit-box-shadow: -2px 4px 13px 0 rgba(81,137,162,.05);\n -moz-box-shadow: -2px 4px 13px 0 rgba(81,137,162,.05);\n box-shadow: -2px 4px 13px 0 rgba(81,137,162,.05);\n @include eltdTransform(translateY(-3px));\n }\n }\n\n .eltd-tli-content {\n @include eltdRelativeHolderLayout();\n box-sizing: border-box;\n padding: 35px 23px;\n border: 1px solid #f2f2f2;\n }\n\n .eltd-twitter-content-top {\n @include eltdRelativeHolderLayout();\n box-sizing: border-box;\n margin-bottom: 25px;\n }\n\n .eltd-twitter-link-over {\n a {\n @include eltdAbsoluteHolderLayout();\n z-index: 1;\n }\n }\n\n .eltd-twitter-user {\n display: inline-block;\n padding-right: 30px;\n width: 100%;\n box-sizing: border-box;\n\n .eltd-twitter-image {\n display: inline-block;\n float: left;\n width: 56px;\n height: 56px;\n img {\n border-radius: 50%;\n }\n }\n\n .eltd-twitter-name {\n display: inline-block;\n float: left;\n width: calc(100% - 56px);\n padding-left: 15px;\n box-sizing: border-box;\n * {\n margin: 0;\n }\n }\n }\n\n .eltd-twitter-icon {\n display: inline-block;\n width: 20px;\n text-align: right;\n position: absolute;\n top: -7px;\n right: 3px;\n font-size: 24px;\n color: $first-main-color;\n }\n\n .eltd-tweet-text {\n padding-left: 12px;\n box-sizing: border-box;\n a {\n color:#808080;\n position: relative;\n z-index: 2;\n &:hover {\n color: $first-main-color;\n }\n }\n }\n\n .eltd-twitter-profile {\n a {\n font-size: 14px;\n color: #808080;\n position: relative;\n z-index: 2;\n &:hover {\n color: $first-main-color;\n }\n }\n }\n\n $columns_number: ('two', 'three', 'four', 'five');\n\n @for $i from 0 to length($columns_number) {\n &.eltd-tl-#{nth($columns_number,$i+1)}-columns {\n\n .eltd-tl-item {\n width: 100% / ($i+2);\n }\n\n @if ($i > 1) { // set different break point for four and five columns\n @media only screen and (min-width: $laptop-landscape-medium-plus-pixel) {\n .eltd-tl-item {\n\n &:nth-child(#{$i+2}n+1) {\n clear: both;\n }\n }\n }\n } @else if ($i == 1 ) { // set different break point for three columns\n @media only screen and (min-width: $laptop-landscape-plus-pixel) {\n\n .eltd-tl-item {\n\n &:nth-child(#{$i+2}n+1) {\n clear: both;\n }\n }\n }\n } @else {\n @media only screen and (min-width: $ipad-landscape-plus-pixel) {\n\n .eltd-tl-item {\n\n &:nth-child(#{$i+2}n+1) {\n clear: both;\n }\n }\n }\n }\n }\n }\n}\n","$breakpoints: (\n\t\tlaptop-landscape-large: 1440px,\n\t\tlaptop-landscape-medium: 1280px,\n\t\tlaptop-landscape: 1200px,\n\t\tipad-landscape: 1024px,\n\t\tipad-portrait: 768px,\n\t\tphone-landscape: 680px,\n\t\tphone-portrait: 480px,\n\t\tsmaller-phone-portrait: 320px\n);\n\n$grid-width: 1100px;\n$grid-width-laptop-landscape: 950px;\n$grid-width-ipad-landscape: 768px;\n$grid-width-ipad-portrait: 600px;\n$grid-width-phone-landscape: 420px;\n$grid-width-phone-portrait: 300px;\n$grid-width-smaller-phone-portrait: 90%;\n\n$grid-width-boxed: 1150px;\n$grid-width-laptop-landscape-boxed: 1000px;\n$grid-width-ipad-landscape-boxed: 818px;\n$grid-width-ipad-portrait-boxed: 650px;\n$grid-width-phone-landscape-boxed: 470px;\n$grid-width-phone-portrait-boxed: 350px;\n$grid-width-smaller-phone-portrait-boxed: 92%;\n\n$grid-width-1300: 1300px;\n$grid-width-1200: 1200px;\n$grid-width-1000: 1000px;\n$grid-width-800: 800px;\n\n$default-text-font: 'Raleway', sans-serif;\n$default-heading-font: 'Roboto Condensed', sans-serif;\n\n$first-main-color: #c8ff0b;\n$default-heading-color: #262626;\n$default-text-color: #464646;\n$second-text-color: #525252;\n\n$default-background-color: #fff;\n$default-border-color: #b2b2b2;\n$second-border-color: #666666;\n$default-dark-color: #000;\n$default-box-shadow: 0 0 4.85px 0.15px rgba(#000, 0.09);\n\n$header-light-color: #fff;\n$header-light-hover-color: rgba($header-light-color, .8);\n$header-dark-color: #333;\n$header-dark-hover-color: rgba($header-dark-color, .8);\n\n//responsive breakpoints\n$laptop-landscape-large-plus-pixel: 1441px;\n$laptop-landscape-large: 1440px;\n$laptop-landscape-medium-plus-pixel: 1281px;\n$laptop-landscape-medium: 1280px;\n$laptop-landscape-plus-pixel: 1201px;\n$laptop-landscape: 1200px;\n$ipad-landscape-plus-pixel: 1025px;\n$ipad-landscape: 1024px;\n$ipad-portrait-plus-pixel: 769px;\n$ipad-portrait: 768px;\n$phone-landscape-plus-pixel: 681px;\n$phone-landscape: 680px;\n$phone-portrait-plus-pixel: 481px;\n$phone-portrait: 480px;\n$smaller-phone-portrait-plus-pixel: 321px;\n$smaller-phone-portrait: 320px;"]} assets/css/shortcodes-map-responsive.css 0000644 00000004227 15133231010 0014465 0 ustar 00 /* ========================================================================== Global partials ========================================================================== */ /* common mixins - start */ /* common mixins - end */ /* ========================================================================== Shortcodes responsive styles ========================================================================== */ @media only screen and (max-width: 1280px) { .eltd-twitter-list-holder.eltd-tl-four-columns .eltd-tl-item { width: 33.33333%; } } @media only screen and (max-width: 1280px) and (min-width: 1025px) { .eltd-twitter-list-holder.eltd-tl-four-columns .eltd-tl-item:nth-child(3n+1) { clear: both; } } @media only screen and (max-width: 1280px) { .eltd-twitter-list-holder.eltd-tl-five-columns .eltd-tl-item { width: 33.33333%; } } @media only screen and (max-width: 1280px) and (min-width: 1025px) { .eltd-twitter-list-holder.eltd-tl-five-columns .eltd-tl-item:nth-child(3n+1) { clear: both; } } @media only screen and (max-width: 1024px) { .eltd-twitter-list-holder.eltd-tl-three-columns .eltd-tl-item { width: 50%; } } @media only screen and (max-width: 1024px) and (min-width: 681px) { .eltd-twitter-list-holder.eltd-tl-three-columns .eltd-tl-item:nth-child(2n+1) { clear: both; } } @media only screen and (max-width: 1024px) { .eltd-twitter-list-holder.eltd-tl-four-columns .eltd-tl-item { width: 50%; } } @media only screen and (max-width: 1024px) and (min-width: 681px) { .eltd-twitter-list-holder.eltd-tl-four-columns .eltd-tl-item:nth-child(2n+1) { clear: both; } } @media only screen and (max-width: 1024px) { .eltd-twitter-list-holder.eltd-tl-five-columns .eltd-tl-item { width: 50%; } } @media only screen and (max-width: 1024px) and (min-width: 681px) { .eltd-twitter-list-holder.eltd-tl-five-columns .eltd-tl-item:nth-child(2n+1) { clear: both; } } @media only screen and (max-width: 680px) { .eltd-twitter-list-holder .eltd-tl-item { width: 100% !important; } } /*# sourceMappingURL=../../../../plugins/eltd-twitter-feed/assets/css/shortcodes-map-responsive.css.map */ shortcodes/shortcodes-functions.php 0000644 00000004410 15133231010 0013601 0 ustar 00 <?php if(!function_exists('eltd_twitter_include_shortcodes_file')) { /** * Loades all shortcodes by going through all folders that are placed directly in shortcodes folder */ function eltd_twitter_include_shortcodes_file() { foreach(glob(ELATED_TWITTER_SHORTCODES_PATH.'/*/load.php') as $shortcode_load) { include_once $shortcode_load; } do_action('eltd_twitter_action_include_shortcodes_file'); } add_action('init', 'eltd_twitter_include_shortcodes_file', 6); // permission 6 is set to be before vc_before_init hook that has permission 9 } if(!function_exists('eltd_twitter_load_shortcodes')) { function eltd_twitter_load_shortcodes() { include_once ELATED_TWITTER_ABS_PATH.'/lib/shortcode-loader.php'; ElatedfTwitter\Lib\ShortcodeLoader::getInstance()->load(); } add_action('init', 'eltd_twitter_load_shortcodes', 7); // permission 7 is set to be before vc_before_init hook that has permission 9 and after eltd_twitter_include_shortcodes_file hook } if(!function_exists('eltd_twitter_get_shortcode_module_template_part')) { /** * Loads module template part. * * @param string $template name of the template to load * @param string $shortcode name of the shortcode folder * @param string $slug * @param array $params array of parameters to pass to template * * @return html */ function eltd_twitter_get_shortcode_module_template_part($template, $shortcode, $slug = '', $params = array()) { //HTML Content from template $html = ''; $template_path = ELATED_TWITTER_SHORTCODES_PATH.'/'.$shortcode; $temp = $template_path.'/'.$template; if(is_array($params) && count($params)) { extract($params); } $template = ''; if (!empty($temp)) { if (!empty($slug)) { $template = "{$temp}-{$slug}.php"; if(!file_exists($template)) { $template = $temp.'.php'; } } else { $template = $temp.'.php'; } } if ($template) { ob_start(); include($template); $html = ob_get_clean(); } return $html; } } shortcodes/twitter-list/holder.php 0000644 00000002170 15133231010 0013347 0 ustar 00 <div class="eltd-twitter-list-holder <?php echo esc_attr($holder_classes); ?>"> <div class="eltd-tl-wrapper eltd-outer-space"> <?php if ( isset($response) && $response->status ) { ?> <?php if ( is_array( $response->data ) && count( $response->data ) ) { ?> <ul class="eltd-twitter-list"> <?php foreach ( $response->data as $tweet ) { ?> <?php $params['tweet'] = $tweet; echo eltd_twitter_get_shortcode_module_template_part('templates/item', 'twitter-list', '', $params); ?> <?php } ?> </ul> <?php } else { ?> <div class="eltd-twitter-message"> <?php echo esc_html( $response->message ); ?> </div> <?php } ?> <?php } else { ?> <div class="eltd-twitter-not-connected"> <?php esc_html_e( 'It seams that you haven\'t connected with your Twitter account', 'eltd-twitter-feed' ); ?> </div> <?php } ?> </div> </div>