promothemes does not currently provide support for this item.

85 comments found.

Is there a way to replace twitter livestream with facebook livestream ? :)

Bougth this.

Header and Footer not shown in IE. Is This already fixen?

Thank you

Given OAuth is now required to get the twitter feeds working in this template, here is a simple quick way to get it working – you can find the detail here, but in summary:

Around line 125 of script.js in the js directory, change as follows:
    //twitterScript.src = ""+twitterUsername+"&count=2&callback=parseTweets";
    twitterScript.src = ""+encodeURIComponent("statuses/user_timeline.json?screen_name=YOUR-TWITTER-NAME&count=2&callback=parseTweets");

... clearly replacing YOUR-SITE and YOUR-TWITTER-NAME as to whatever you need… (yes you can make it refer to twitterUsername)...

Then install the following as ‘twitproxy.php’ in the top level of your web tree… paying attention to the YOUR-XXX comments in the code…. and remembering you have to authorise your application on twitter for OAuth here

Here is twitproxy.php:


 *  Usage:
 *  Send the url you want to access url encoded in the url paramater, for example (This is with JS): 
 *  /twitproxy.php?url='+encodeURIComponent('statuses/user_timeline.json?screen_name=MikeRogers0&count=2')

// The tokens, keys and secrets from the app you created at
$config = array(
    'oauth_access_token' => 'YOUR-ACCESS-TOKEN',
    'oauth_access_token_secret' => 'YOUR-ACCESS-TOKEN-SECRET',
    'consumer_key' => 'YOUR-CONSUMER-KEY',
    'consumer_secret' => 'YOUR-CONSUMER-KEY-SECRET',
    'use_whitelist' => true, // If you want to only allow some requests to use this script.
    'base_url' => ''

// Only allow certain requests to twitter. Stop randoms using your server as a proxy.
$whitelist = array(

* Ok, no more config should really be needed. Yay!

// We'll get the URL from $_GET[]. Make sure the url is url encoded, for example encodeURIComponent('statuses/user_timeline.json?screen_name=MikeRogers0&count=10&include_rts=false&exclude_replies=true')
    die('No URL set');

$url = $_GET['url'];

if($config['use_whitelist'] && !isset($whitelist[$url])){
    die('URL is not locally authorised');

// Figure out the URL parmaters
$url_parts = parse_url($url);
parse_str($url_parts['query'], $url_arguments);

$full_url = $config['base_url'].$url; // Url with the query on it.
$base_url = $config['base_url'].$url_parts['path']; // Url without the query.

* Code below from by Rivers 
* with a few modfications by Mike Rogers to support variables in the URL nicely

function buildBaseString($baseURI, $method, $params) {
    $r = array();
    foreach($params as $key=>$value){
    $r[] = "$key=" . rawurlencode($value);
    return $method."&" . rawurlencode($baseURI) . '&' . rawurlencode(implode('&', $r));

function buildAuthorizationHeader($oauth) {
    $r = 'Authorization: OAuth ';
    $values = array();
    foreach($oauth as $key=>$value)
    $values[] = "$key=\"" . rawurlencode($value) . "\"";
    $r .= implode(', ', $values);
    return $r;

// Set up the oauth Authorization array
$oauth = array(
    'oauth_consumer_key' => $config['consumer_key'],
    'oauth_nonce' => time(),
    'oauth_signature_method' => 'HMAC-SHA1',
    'oauth_token' => $config['oauth_access_token'],
    'oauth_timestamp' => time(),
    'oauth_version' => '1.0'

$base_info = buildBaseString($base_url, 'GET', array_merge($oauth, $url_arguments));
$composite_key = rawurlencode($config['consumer_secret']) . '&' . rawurlencode($config['oauth_access_token_secret']);
$oauth_signature = base64_encode(hash_hmac('sha1', $base_info, $composite_key, true));
$oauth['oauth_signature'] = $oauth_signature;

// Make Requests
$header = array(
$options = array(
    CURLOPT_HTTPHEADER => $header,
    //CURLOPT_POSTFIELDS => $postfields,
    CURLOPT_HEADER => false,
    CURLOPT_URL => $full_url,

$feed = curl_init();
curl_setopt_array($feed, $options);
$result = curl_exec($feed);
$info = curl_getinfo($feed);
// Send suitable headers to the end user.
if(isset($info['content_type']) && isset($info['size_download'])){
    header('Content-Type: '.$info['content_type']);
    header('Content-Length: '.$info['size_download']);


It’s not elegant but it works…

Nice one.
May be this 85 e-Commerce Icons will be interesting for your buyers.
Good luck with sales.

demo?? Not Found The requested URL /envato/metro-demo/ was not found on this server. Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request.

Live Preview fixed


i can’t download Config.json to add extra icons with fontello.


Ps. Amazing vCard!

Solved, i’ve found the Config.json in the documentation folder.

the click doesn’t work on IE 9, is this fixed?

Great file…bookmarked.

when you go to interests on a mobile device it doesn’t go to responsive – it just slides all over the place


Could you tell me how to remove bottom text background (this place where we can see ‘Portfolio’ title) on photo slideshow box?

Kind Regards,

twitter bölümü çal??m?yor. twitterproxy i?lemlerini yapmama ra?men. Ne yapmam gerekiyor

Is it able to add facebook feed & not twitter feed ? can u pls give me the code for it ?

Hi – Is there support available for this ? We recently bought this and are facing some issues..

Is there way to replace a block with image? how?

This template needs work! - Some of it is NOT responsive – ie the portfolio page. - Bottom menu generally appears below the fold, which is annoying. - You cant change the height of the main blocks to pull up the bottom menu, because all other blocks are a percentage of this fixed height, so it messes everything up. - CSS and javascript are very poorly formatted. - Very hard to implement in a CMS. - Scrollbars detract from the look

Its a good idea. It just needs more polish.

Hey, I was wondering if the slider problem in Chrome could be fixed along with the twitter feed not seeming to work. If this works, I’ll be very very happy to buy it.

So, is there any support for this or did the author abandon ship?

Hi I have a problem with the contact form. It doesn’t seem to be problem with the mailer it self, but it stops somewhere in the following code from script.js. From the form you see the submit-button disappear, but the form it self does not fade out, and there is no “Thank you!”.

               $("#contact-form .submit").fadeOut(function(){

Thank you!

$("#contact-form .submit").removeClass('disabled');