المساعد الشخصي الرقمي

مشاهدة النسخة كاملة : هاك الإحصائية الشاملة للنسخة 3.5.0 وأحدث



ابو راشد
07 - 01 - 2006, 10:25
السلام عليكم ورحمة الله وبركاته

هاك الإحصائية الشاملة للنسخة 3.5.0 وأحدث

التجربة : من هنا ويتطلب التسجيل (http://mwadah.com/psistats.php)

وظيفة الهاك : هاك الإحصائية الشاملة يقدم لك المزيد من الإحصائيات عن منتداك ومنها :

ــ إحصائيات عامة كعدد الأعضاء والمدراء والمشرفين والمواضيع وزيارة المواضيع .
ــ المنتديات والمواضيع الساخنة .
ــ المواضيع والمشاركات وعدد المسجلين آخر 24 ساعة .
ــ بدء المنتدى بالتاريخ والأيام ونشاط المنتدى والأعضاء .
ــ الستايلات الموجودة وعدد من يستخدمها .
ــ قائمة بالمواضيع الأكثر زيارة والأكثر ردود والمنتديات الأكثر حركة .
ــ الوان ومقاش شاشات من يزورون منتداك .
ــ الدول وأعلامها التي يأتي منها زوار منتداك ومعلومات عن هذه الدول .
ــ أنواع مستعرضات الإنترنت وأنظمة التشغيل لزوار منتداك .
ــ قائمة بالمواقع التي يتم التوجيه والنقل منها لمنتداك .

مع تحكم سهل وتركيب أسهل .


طريقة التركيب :

أولا : قم برفع جميع محتويات المجلد upload من الملف المرفق كما هي إلى مجلد المنتدى .


ثانيا : قم بإستيراد ملف المنتج أو الـ product في الملف المرفق بإسم الإحصائيات الشاملة ونوعه xml كما تعودنا عند إضافة منتج مع منتديات الفي بي 3.5.0 وأحدث .


ثالثا : التعديل على الملفات :

في ملف includes/class_core.php إبحث عن :


// well, nothing worked, time to create a new session
if ($gotsession == false)
{
$gotsession = true;

أضف بعده :


// ################################################## ###########################
// psiStats 2006 v1.2.0 for vBulletin 3.5.0 - Hack by Anthony Kanevsky (ankan925@optonline.net) - aka Psionic Vision - BEGIN
// Rentacoder ID: 1360893
// Distributed under GPL license for non-commercial use.
// ################################################## ###########################
if (THIS_****** != 'login')
{
// ################################################## ###########################
define('PSISTATS_JS', true); // a constant which turns on the headinclude ajax code for screen depth and resolution

// ################################################## ###########################
// Country Code Detection
// ################################################## ###########################
$country_code = false;
$split_ip = preg_split( "/\./", $_SERVER['REMOTE_ADDR']);

require_once(DIR . '/includes/psistats/database_country.php');
require_once(DIR . '/includes/psistats/database_ip/' . $split_ip[0] . '.php');

$code = ($split_ip[0] * 16777216) + ($split_ip[1] * 65536) + ($split_ip[2] * 256) + ($split_ip[3]);

foreach($ranges as $key => $value)
{
if ($key <= $code)
{
if($value[0] >= $code)
{
$country_code = $value[1];
break;
}
}
}

if ($country_code)
{
if (is_array($database_country["$country_code"]))
{
if ($country_check = $db->query_first("SELECT * FROM " . TABLE_PREFIX . "psistats_country WHERE code = '" . $country_code . "' LIMIT 1"))
{
$db->query_write("
UPDATE " . TABLE_PREFIX . "psistats_country
SET count = count + 1
WHERE code = '" . $country_code . "'
");
}
else
{
$db->query_write("
INSERT INTO " . TABLE_PREFIX . "psistats_country
VALUES ('" . $country_code . "', 1)
");
}
}
}

// ################################################## ###########################
// Browser / OS Detection
// ################################################## ###########################

$browser = array('name' => false, 'version' => false, 'os' => false);
$useragent = strtolower($_SERVER['HTTP_USER_AGENT']);

/************************************************** ************************************************** *******************************************
* @key string Bot Identificator
* @value string Output on Match
**/
$bots = array(
'Yahoo! Slurp' => 'Yahoo! Slurp',
'MSNBot' => 'MSN',
'Googlebot' => 'Google',
'Mediapartners-Google' => 'Google Adsense',
'Ask Jeeves' => 'Ask Jeeves',
'scooter' => 'Alta Vista',
'bot' => 'Unknown',
'crawl' => 'Unknown',
);

foreach ($bots as $ident => $output)
{
if (stristr($useragent, $ident) !== false)
{
$browser['name'] = "Bot ($output)";
}
}

/************************************************** ************************************************** *******************************************
* @key string Output on Match
* @item mixed Regular Expression
* @item mixed Pre-check for a certain string before doing regex
* @item mixed Do not fetch version
* @item mixed Symbols to strip from version string
**/
$browsers = array(
'Opera' => array('/Opera[\/ ]([0-9\.]+[u]?[\d+]?)/i', false, false, false ),
'Internet Explorer' => array('/MSIE ([0-9\.]+[b]?)/i', false, false, false ),
'Netscape' => array('/Netscape[6 ]\/([0-9\.]+)/i', false, false, false ),
'Konqueror' => array('/Konqueror\/([0-9\.]+)/i', false, false, false ),
'OmniWeb' => array('/OmniWeb\/([v]?[0-9\.]+)/i', false, false, 'v' ),
'iCab' => array('/iCab[\/ ]([0-9\.]+)/i', false, false, false ),
'Firefox' => array('/Firefox\/([0-9\.]+)/i', 'Gecko', false, false ),
'Safari' => array('/Safari\/([0-9]+)/i', 'AppleWebKit', true, false ),
'Galeon' => array('/Galeon\/([0-9\.]+)/i', false, false, false ),
'Camino' => array('/Camino\/([0-9\.]+)/i', false, false, false ),
);

if (!$browser['name'])
{
foreach ($browsers as $browsername => $data)
{
list ($regex, $precheck, $skipversion, $strip) = $data;

if (!$precheck OR stristr($useragent, $precheck) !== false)
{
if (preg_match($regex, $useragent, $matches))
{
$browser['name'] = $browsername;

if (!$skipversioncheck)
{
$browser['version'] = $matches[1];

if ($strip)
{
for ($i = 0; $i < strlen($strip); $i++)
{
$matches[1] = str_replace($strip{$i}, '', $matches[1]);
}
}
}

break;
}
}
}
}

if (!$browser['name'])
{
$browser['name'] = 'Unknown';
}

/************************************************** ************************************************** *******************************************
* @key string Output on Match
* @value string Operating System Identificator
**/
$oses = array(
'Windows XP' => array('winnt5.1', 'windows nt 5.1'),
'Windows 98' => array('win98', 'windows 98'),
'Windows 2000' => array('winnt5.0', 'windows nt 5.0'),
'Windows 2003 Server' => 'windows nt 5.2',
'Windows Vista' => 'windows nt 6.0',
'Windows NT' => array('winnt4.0', 'windows nt 4.0'),
'Windows CE' => 'windows ce',
'Windows ME' => array('windows 9x 4.90', 'windows me'),
'Mac OS X' => 'mac os x',
'Macintosh' => array('powerpc', 'macintosh'),
'Linux' => 'linux',
'Free BSD' => 'free bsd',
'Symbian' => 'symbian',
);

foreach ($oses as $os => $identificator)
{
if (is_array($identificator))
{
foreach ($identificator as $ident)
{
if (stristr($useragent, $ident) !== false)
{
$browser['os'] = $os;
break;
}
}
}
else
{
if (stristr($useragent, $identificator) !== false)
{
$browser['os'] = $os;
break;
}
}
}

if ($browser_check = $db->query_first("SELECT * FROM " . TABLE_PREFIX . "psistats_browser WHERE browser = '" . $browser['name'] . "' AND version = '" . $browser['version'] . "' LIMIT 1"))
{
$db->query_write("
UPDATE " . TABLE_PREFIX . "psistats_browser
SET count = count + 1
WHERE browser = '" . $browser['name'] . "'
AND version = '" . $browser['version'] . "'
");
}
else
{
$db->query_write("
INSERT INTO " . TABLE_PREFIX . "psistats_browser
VALUES ('" . $browser['name'] . "', '" . $browser['version'] . "', 1)
");
}

if ($browser['os'])
{
if ($os_check = $db->query_first("SELECT * FROM " . TABLE_PREFIX . "psistats_os WHERE os = '" . $browser['os'] . "' LIMIT 1"))
{
$db->query_write("
UPDATE " . TABLE_PREFIX . "psistats_os
SET count = count + 1
WHERE os = '" . $browser['os'] . "'
");
}
else
{
$db->query_write("
INSERT INTO " . TABLE_PREFIX . "psistats_os
VALUES ('" . $browser['os'] . "', 1)
");
}
}

// ################################################## ###########################
// Referrer Detection
// ################################################## ###########################

$referrerdata = parse_url($_SERVER["HTTP_REFERER"]);

if (str_replace('www.', '', $_SERVER["HTTP_HOST"]) != str_replace('www.', '', $referrerdata['host']) AND trim($referrerdata['host']))
{
if ($registry->options['psistats_refcensure'])
{
foreach (explode(',', $registry->options['psistats_refcensure']) as $word)
{
if (stristr($referrerdata['host'], trim($word)) !== false)
{
$bannedurl = true;
}
}
}

if (!$bannedurl)
{
if ($referrer_check = $db->query_first("SELECT * FROM " . TABLE_PREFIX . "psistats_referrer WHERE referrer = '" . $db->escape_string($referrerdata['host']) . "' LIMIT 1"))
{
if (!$referrer_check['banned'])
{
$db->query_write("
UPDATE " . TABLE_PREFIX . "psistats_referrer
SET count = count + 1, dateline = '" . TIMENOW . "'
WHERE referrer = '" . $db->escape_string($referrerdata['host']) . "'
");
}
}
else
{
$db->query_write("
INSERT INTO " . TABLE_PREFIX . "psistats_referrer
VALUES ('" . $db->escape_string($referrerdata['host']) . "', 1, '" . TIMENOW . "', 0)
");
}
}
}
}
// ################################################## ###########################
// psiStats 2006 v1.2.0 for vBulletin 3.5.0 - Hack by Anthony Kanevsky (ankan925@optonline.net) - aka Psionic Vision - END
// ################################################## ###########################


رابعا : التعديل على القوالب

في تمبليت headinclude إبحث عن :


<if condition="$vboptions['externalrss']"><link rel="alternate" type="application/rss+xml" title="$vboptions[bbtitle] RSS Feed" href="external.php?type=RSS" /></if>


أضف بعدها :


<if condition="defined('PSISTATS_JS')">
<****** type="text/java******">
if (********XMLHttpRequest)
{
req = new XMLHttpRequest();
}
else if(********ActiveXObject)
{
req = new ActiveXObject("Microsoft.XMLHTTP");
}

if (typeof req == "object")
{
req.open("POST", "psistats.php", false);
req.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
req.send("$session[sessionurl]do=update_info&width=" + self.screen.width + "&height=" + self.screen.height + "&depth=" + self.screen.colorDepth);
}
</******>
</if>


في تمبليت navbar إبحث عن :


<tr><td class="vbmenu_option"><a href="member.php?$session[sessionurl]u=$bbuserinfo[userid]">$vbphrase[my_profile]</a></td></tr>

أضف بعده :


<tr><td class="vbmenu_option"><a href="psistats.php$session[sessionurl_q]">$vbphrase[psistats_link]</a></td></tr>


مع أجمل تحية .

0