سلام ، آیا این بازدید اول شماست ؟ یا
نمایش نتایج: از شماره 1 تا 2 , از مجموع 2

موضوع: کد pagerank

  1. #1

    تاریخ عضویت
    Aug 2008
    نوشته ها
    62
    تشکر
    0
    تشکر شده 0 بار در 0 ارسال

    کد pagerank




    میریم سراغ اموزش:

    اول فایل زیرو ویرایش میکنیم:
    /Sources/Subs.php

    این کدو پیدا میکنیم:
    کد:
    
    			array(
    				'tag' => 'pre',
    				'before' => '<pre>',
    				'after' => '</pre>',
    			),
    حالا اینو قبلش میزاریم

    کد:
    			array(
    				'tag' => 'pagerank',
    				'type' => 'unparsed_content',
    				'content' => '$1',
    				'validate' => create_function('&$tag, &$data, $disabled', '
    						$pagerank = pagerank($data);
    						$data = strtr($data, array(\'<br />\' => \'\'));
    						$data = "<a href=\"". $data ."\" target=\"_blank\">".$data."</a>".$pagerank;
    					'),
    			),
    			array(
    				'tag' => 'pagerank',
    				'type' => 'unparsed_equals_content',
    				'content' => '$1',
    				'disallow_children' => array('email', 'ftp', 'url', 'iurl'),
    				'disabled_after' => ' ($1)',
    				'validate' => create_function('&$tag, &$data, $disabled', '
    						$data[1] = strtr($data[1], array(\'<br />\' => \'\'));
    						$pagerank = pagerank($data[1]);
    						$data[0] = "<a href=\"". $data[1] ."\" target=\"_blank\">".$data[0]."</a>".$pagerank;
    					'),
    			),
    پیدا میکنیم:

    کد:
    ?>
    قبلش اینو میذاریم:

    کد:
    // Start of Pagerank BBCode mod functions
    // Modified from the original public domain code/api
    // Converts string to 32-bit integer
    function StrToNum($Str, $Check, $Magic)
    {
      $Int32Unit = 4294967296; // 2^32
    
      $length = strlen($Str);
      for ($i = 0; $i < $length; $i++) {
        $Check *= $Magic; 	
        if ($Check >= $Int32Unit) {
          $Check = ($Check - $Int32Unit * (int) ($Check / $Int32Unit));
          $Check = ($Check < -2147483648) ? ($Check + $Int32Unit) : $Check;
        }
        $Check += ord($Str{$i}); 
      }
      return $Check;
    }
    
    // Generate hash of the url
    function HashURL($String)
    {
      $Check1 = StrToNum($String, 0x1505, 0x21);
      $Check2 = StrToNum($String, 0, 0x1003F);
    
      $Check1 >>= 2; 	
      $Check1 = (($Check1 >> 4) & 0x3FFFFC0 ) | ($Check1 & 0x3F);
      $Check1 = (($Check1 >> 4) & 0x3FFC00 ) | ($Check1 & 0x3FF);
      $Check1 = (($Check1 >> 4) & 0x3C000 ) | ($Check1 & 0x3FFF);	
    	
      $T1 = (((($Check1 & 0x3C0) << 4) | ($Check1 & 0x3C)) <<2 ) | ($Check2 & 0xF0F );
      $T2 = (((($Check1 & 0xFFFFC000) << 4) | ($Check1 & 0x3C00)) << 0xA) | ($Check2 & 0xF0F0000 );
    	
      return ($T1 | $T2);
    }
    
    //Generate checksum of the hash string
    function CheckHash($Hashnum)
    {
      $CheckByte = 0;
      $Flag = 0;
    
      $HashStr = sprintf('%u', $Hashnum) ;
      $length = strlen($HashStr);
    	
      for ($i = $length - 1; $i >= 0; $i --) {
        $Re = $HashStr{$i};
        if (1 === ($Flag % 2)) {       
          $Re += $Re;   
          $Re = (int)($Re / 10) + ($Re % 10);
        }
        $CheckByte += $Re;
        $Flag ++;	
      }
      $CheckByte %= 10;
      if (0 !== $CheckByte) {
        $CheckByte = 10 - $CheckByte;
        if (1 === ($Flag % 2) ) {
          if (1 === ($CheckByte % 2)) {
            $CheckByte += 9;
          }
          $CheckByte >>= 1;
        }
      }
      return '7'.$CheckByte.$HashStr;
    }
    
    //Returns the pagerank
    function getpagerank($url) {
    	
    	// Fake the useragent array.
    	$agents = array(
    					'Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.04506.30',
    					'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.9',
    					'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.8',
    				);
    
    	// Save current useragent, to restore later
    	$useragent = @ini_get('user_agent');
    	// Set fake useragent to random from the array
    	@ini_set('user_agent', $agents[array_rand($agents)]);
    
    	// Get checksum - Pagerank will be 0 unless we have a valid checksum
    	$ch = CheckHash(HashURL($url));
    	
    	// The URL to get the PR
    	$pr_url ="http://toolbarqueries.google.com/search?client=navclient-auto&ch=$ch&features=Rank&q=info:$url";	
    	
    	// Requires a function in a source folder far far away
    	global $sourcedir;
    	require_once($sourcedir .'/Subs-Package.php');
    	
    	// Get the PR using SMF's get data function
    	//Attempts to fetch data from a URL, regardless of PHP's allow_url_fopen setting
    	$data = fetch_web_data($pr_url);
    
    	// Reset the useragent now
    	@ini_set('user_agent', $useragent);
    	
    	// A valid rank string which contain Rank_
    	$pos = strpos($data, "Rank_");
    	if($pos !== false)
    	{
    		$pr = trim(substr($data, $pos + 9));
    		return str_replace("\n",'',$pr);
    	}
    	else
    		return 0;
    }
    
    // Loads/stores/shows the pagerank
    function pagerank($url)
    {
    	global $db_prefix, $settings, $txt;
    	
    	// Must not be empty
    	if(empty($url) || $url == '[مهمان/کاربر گرامی برای دیدن لینک ها ابتدا باید عضو سایت شوید و لاگین کنید برای ثبت نام اینجا کلیک کنید] || $url == '[مهمان/کاربر گرامی برای دیدن لینک ها ابتدا باید عضو سایت شوید و لاگین کنید برای ثبت نام اینجا کلیک کنید])
    		return;
    	
    	// Must contain link prefix
    	if(strpos($url, '[مهمان/کاربر گرامی برای دیدن لینک ها ابتدا باید عضو سایت شوید و لاگین کنید برای ثبت نام اینجا کلیک کنید]) === false && strpos($url, '[مهمان/کاربر گرامی برای دیدن لینک ها ابتدا باید عضو سایت شوید و لاگین کنید برای ثبت نام اینجا کلیک کنید]) === false)
    		return;
    	
    	// Md5 the url
    	$md5_url = md5($url);
    
    	// Check the db for a cached pagerank within the last 7 days
    	$request = db_query("
    		SELECT pr, timestamp
    		FROM {$db_prefix}pagerank
    		WHERE url = '".$md5_url."'
    		LIMIT 1
    	", __FILE__, __LINE__);
    	
    	// Found an cached entry
    	if (mysql_num_rows($request) == 1)
    	{
    		// Grab the row
    		$pagerank = mysql_fetch_assoc($request);
    		
    		// Entry older than 7 days?
    		if($pagerank['timestamp'] < (time() - 60*60*24*7))
    		{
    			// Where theres one old entry, theres more, so delete them
    			db_query("
    				DELETE
    				FROM {$db_prefix}pagerank
    				WHERE timestamp < ". (time() - 60*60*24*7) ."
    			", __FILE__, __LINE__);
    			
    			// Unset the data we found
    			unset($pagerank);
    		}
    		else
    			$pagerank = (int) $pagerank['pr'];
    	}
    	
    	// No valid cached pagerank so go get it.
    	if(!isset($pagerank))
    	{
    		// Grab PR
    		$pagerank = (int) getpagerank($url);
    		
    		// Store PR
    		db_query("
    				INSERT IGNORE
    				INTO {$db_prefix}pagerank (`url`, `pr`, `timestamp`)
    				VALUES ('". $md5_url ."', '". $pagerank ."',". time() .")
    			", __FILE__, __LINE__);
    	}
    
    	// Show PR
    	return ' <div style="font-size:9px;color:#808080;display:inline;margin-left:2px;margin-right:5px;" class="pr">'. $txt['pr'].$pagerank.
    		' <img src="'.$settings['default_images_url'].'/pr'.$pagerank.'.gif" alt="'.$txt['pagerank'].$pagerank. ' '.$txt['pagerank_outof'].'" />'.
    		'</div> ' ;
    }
    // End of Pagerank BBcode Mod functions
    حالا این فایلو ویرایش میکنیم:

    /Sources/ModSettings.php
    پیدا میکنیم:

    کد:
    			array('int', 'max_signatureLength'),
    اینو بعدش میذاریم:

    کد:
    			array('check', 'usepagerankonprofiles'),
    اینو ویرایش میکنیم:

    ./Themes/default/Post.template.php
    پیدا میکنیم:

    کد:
    'list' => array('code' => 'list', 'before' => '
    • \n[li]', 'after' => '[/li]\n[li][/li]\n
    ', 'description' => $txt[261]),
    بعدش اینو میذاریم:

    کد:
    	array(),
    		'pagerank' => array('code' => 'pagerank', 'before' => '[pagerank]', 'after' => '[/pagerank]','description' => $txt['pagerank_desc']),
    این فایلو ویرایش میکنیم:

    Themes/default/Profile.template.php
    پیدا میکنیم:

    کد:
    <td><a href="', $context['member']['website']['url'], '" target="_blank">', $context['member']['website']['title'], '</a>
    اینو بعدش میذاریم:

    کد:
    			<br/>';
    			// Show pagerank of Members Websites on their profile (if enabled)
    			if(($modSettings['usepagerankonprofiles']) && (!empty($context['member']['website']['url'])))
    				echo pagerank($context['member']['website']['url']);
    	
    			echo	'
    حالا این فایلو ویرایش میکنیم:

    Themes/default/languages/Modifications.persian-utf8.php
    پیدا میکنیم:

    کد:
    ?>
    اینو قبلش میذاریم:

    کد:
    $txt['usepagerankonprofiles'] = 'Use PageRank on Profiles';
    $txt['pr'] = 'PR:';
    $txt['pagerank'] = 'PageRank #';
    $txt['pagerank_desc'] = 'Google PageRank';
    $txt['pagerank_outof'] = 'out of 10';
    توجه شما میتوانید ترجمه ان را به دلخوا و راحت انجام دهید به عنوان مثال:

    کد:
    $txt['pagerank_desc'] = 'Google PageRank';
    میشه به این صورت نوشت:
    کد:
    $txt['pagerank_desc'] = 'رتبه گوگل';
    منبع:
    [مهمان/کاربر گرامی برای دیدن لینک ها ابتدا باید عضو سایت شوید و لاگین کنید برای ثبت نام اینجا کلیک کنید]
    نویسنده: فرزاد قاسم پور




    جهت مشاهده لینک ها باید ثبت نام کنید یا لاگین کنید.


  2. # ADS
    تبلیغات در جوملا فارسی
    تاریخ عضویت
    Always
    نوشته ها
    Many
     

  3. #2

    تاریخ عضویت
    Aug 2008
    نوشته ها
    62
    تشکر
    0
    تشکر شده 0 بار در 0 ارسال

    پاسخ : کد pagerank

    شرمنده یادم رفت که بگم فایلهای زیرو به بخش های مورد نظر منتقل کنید:
    کد:
    Move the included file "pagerank.gif" to "./Themes/default/images/bbc".
    Move the included file "pr0.gif" to "./Themes/default/images".
    Move the included file "pr1.gif" to "./Themes/default/images".
    Move the included file "pr2.gif" to "./Themes/default/images".
    Move the included file "pr3.gif" to "./Themes/default/images".
    Move the included file "pr4.gif" to "./Themes/default/images".
    Move the included file "pr5.gif" to "./Themes/default/images".
    Move the included file "pr6.gif" to "./Themes/default/images".
    Move the included file "pr7.gif" to "./Themes/default/images".
    Move the included file "pr8.gif" to "./Themes/default/images".
    Move the included file "pr9.gif" to "./Themes/default/images".
    Move the included file "pr10.gif" to "./Themes/default/images".

    جهت مشاهده لینک ها باید ثبت نام کنید یا لاگین کنید.


موضوعات مشابه

  1. ناگفته هاي seo و PageRank
    توسط mk2 در انجمن متفرقه
    پاسخ ها: 24
    آخرين نوشته: 06-04-2009, 03:50 PM

علاقه مندی ها (Bookmarks)

علاقه مندی ها (Bookmarks)

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •