|
Menu |
|
|
Home |
| |
|
Discussions |
| |
|
Tools |
| |
|
Affiliates |
| |
|
Content |
| |
|
Info |
| | |
|
|
|
|
|
User Info |
|
Membership:
Latest: MichaelSnaRe
New Today: 0
New Yesterday: 0
Overall: 9144
People Online:
Visitors: 124
Members: 0
Total: 124
|
|
|
|
|
|
Full disclosure |
|
|
|
|
|
|
|
|
|
IT Security and Insecurity Portal |
|
|
Please help to decode this ionCube file |
|
Posted: Tue Jan 08, 2013 8:45 pm |
|
|
ccc |
Regular user |
|
|
Joined: Jan 08, 2013 |
Posts: 15 |
|
|
|
|
|
|
|
<?php //003ab
if(!extension_loaded('ionCube Loader')){$__oc=strtolower(substr(php_uname(),0,3));$__ln='ioncube_loader_'.$__oc.'_'.substr(phpversion(),0,3).(($__oc=='win')?'.dll':'.so');@dl($__ln);if(function_exists('_il_exec')){return _il_exec();}$__ln='/ioncube/'.$__ln;$__oid=$__id=realpath(ini_get('extension_dir'));$__here=dirname(__FILE__);if(strlen($__id)>1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}@dl($__ln);}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo('Site error: the file <b>'.__FILE__.'</b> requires the ionCube PHP Loader '.basename($__ln).' to be installed by the site administrator.');exit(199);
?>
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
ZMhdTzIUgBmeHaW= |
|
|
|
|
|
|
|
|
Posted: Wed Jan 09, 2013 12:17 pm |
|
|
vv456 |
Advanced user |
|
|
Joined: Aug 24, 2012 |
Posts: 190 |
|
|
|
|
|
|
|
Post a new file, this seems to be corrupted |
|
|
|
|
Posted: Wed Jan 09, 2013 4:28 pm |
|
|
ccc |
Regular user |
|
|
Joined: Jan 08, 2013 |
Posts: 15 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Posted: Wed Jan 09, 2013 5:23 pm |
|
|
vv456 |
Advanced user |
|
|
Joined: Aug 24, 2012 |
Posts: 190 |
|
|
|
|
|
|
|
ccc wrote: | vv456 wrote: | Post a new file, this seems to be corrupted |
here is the link please check it, when ever i open in notepad it comes out with same result.
http://depositfiles.com/files/vzreo1esr |
decoded
Code: | <?php
class addon_moreFromSeller_common {
var $addonPath = 'addons/moreFromSeller/';
var $serverPath = '';
var $version = self::version;
var $addonName = 'moreFromSeller';
var $addonTitle = self::addonTitle;
var $db = false;
var $site_config = array( );
var $site_email = '';
var $site_url = '';
var $text = array( );
var $adData = array( );
var $userData = array( );
var $sellerData = array( );
var $errors = array( );
var $licenseErrors = array( );
var $debug_ips = array( );
var $debugRecipients = array( );
var $debug_messages = array( );
var $debug_classes = array( 'admin' => false, 'pages' => false, 'util' => false, 'tags' => false );
function getCommonVars() {
$this->db = dataAccess::getinstance( );
if (( !$this->addonIsLicensed( true ) && geoAddon::getinstance( )->isEnabled( $this->addonName ) )) {
geoAddon::getinstance( )->disableAddon( $this->addonName );
}
$this->site_config = $this->getSiteConfig( );
$this->site->email = $this->getSiteSetting( 'site_email' );
$this->site_url = str_replace( 'index.php', '', $this->site_config['classifieds_url'] );
$this->text = geoAddon::getinstance( )->getText( authTag, $this->addonName, $_COOKIE['classified_session'] );
$this->serverPath = BASE_DIR . $this->addonPath;
}
function getSiteConfig() {
$query = 'SELECT * FROM geodesic_classifieds_configuration';
$rs = $this->db->Execute( $query );
if (!$rs) {
$this->addError( 'addon_moreFromSeller_common', 'getSiteConfig', $this->db->ErrorMsg( ) );
return false;
}
$this->site_config = $rs->GetRowAssoc( false );
return $this->site_config;
}
function getSiteSetting($setting) {
$query = '' . 'SELECT value FROM geodesic_site_settings WHERE setting=\'' . $setting . '\'';
$rs = $this->db->Execute( $query );
if (!$rs) {
$this->addError( 'addon_moreFromSeller_common', 'getSiteSetting', $this->db->ErrorMsg( ) );
return false;
}
$result = $rs->GetRowAssoc( false );
return $result['value'];
}
function getAdData($adID = false, $xml = false) {
$cart = geoCart::getinstance( );
if (!$adID) {
if ($_REQUEST['a'] == 2) {
$adID = $_REQUEST['b'];
}
else {
if (( isset( $_REQUEST['store'] ) && isset( $_REQUEST['listing'] ) )) {
$adID = $_REQUEST['listing'];
}
else {
if (( ( is_object( $cart ) && $cart->item->get( 'listing_id' ) ) && ( $cart->main_type == 'listing_renew_updrate' || $cart->main_type == 'listing_edit' ) )) {
$adID = $cart->item->get( 'listing_id' );
}
}
}
}
$query = '' . 'SELECT * FROM geodesic_classifieds WHERE id=' . $adID;
$rs = $this->db->Execute( $query );
if (!$rs) {
$this->addError( 'ERROR', 'addon_moreFromSeller_common', 'getAdData', $this->db->ErrorMsg( ) );
}
else {
if ($rs->recordCount( ) == 0) {
$this->addDebugMessage( '' . 'No Data For Listing No. ' . $adID );
}
else {
$this->adData = $rs->getRowAssoc( false );
foreach ($d as $key => $value) {
$this->adData[$key] = geoString::fromdb( $value );
}
$d['extras'] = $this->getAdExtras( $adID );
if ($this->adData['image'] != 0) {
$this->adData['images'] = $this->getAdImages( $adID );
}
if ($this->adData['item_type'] == 2) {
$this->adData['bids'] = $this->getAdBids( $adID );
}
}
}
return ($xml ? $this->adDataXML( ) : $this->adData);
}
function getAdExtras($adID) {
$query = '' . 'SELECT * FROM geodesic_classifieds_ads_extra WHERE classified_id=' . $adID . ' ORDER BY display_order ASC';
$rs = $this->db->Execute( $query );
$extras = array( );
if (!$rs) {
$this->addError( 'WARNING', 'addon_moreFromSeller_common', 'getAdExtras', $this->db->ErrorMsg( ) );
}
else {
if (0 < $rs->recordCount( )) {
$i = 0;
while ($i < $rs->recordCount( )) {
$extra = $rs->getRowAssoc( false );
$rs->moveNext( );
foreach ($extra as $k => $v) {
$extra[$k] = geoString::fromdb( $v );
}
$extras[] = $extra;
++$i;
}
}
}
return $extras;
}
function getAdImages($adID) {
$query = '' . 'SELECT * FROM geodesic_classifieds_images_urls WHERE classified_id=' . $adID . ' ORDER BY display_order ASC';
$rs = $this->db->Execute( $query );
$images = array( );
if (!$rs) {
$this->addError( 'WARNING', 'addon_moreFromSeller_common', 'getAdImages', $this->db->ErrorMsg( ) );
}
else {
if (0 < $rs->recordCount( )) {
$i = 0;
while ($i < $rs->RecordCount( )) {
$image = $rs->getRowAssoc( false );
$rs->MoveNext( );
foreach ($image as $k => $v) {
$image[$k] = geoString::fromdb( $v );
}
$images[] = $image;
++$i;
}
}
}
return $images;
}
function getAdBids($adId) {
$query = '' . 'SELECT * FROM geodesic_auctions_bids WHERE auction_id=' . $adId . ' ORDER BY time_of_bid DESC';
$rs = $this->db->Execute( $query );
$bids = array( );
if (!$rs) {
$this->addError( 'WARNING', 'addon_moreFromSeller_common', 'getAdBids', $this->db->ErrorMsg( ) );
}
else {
if (0 < $rs->recordCount( )) {
$i = 0;
while ($i < $rs->recordCount( )) {
$bid = $rs->getRowAssoc( false );
$rs->moveNext( );
foreach ($bid as $k => $v) {
$bid[$k] = geoString::fromdb( $v );
}
$bids[] = $bid;
++$i;
}
}
}
return $bids;
}
function adDataXML() {
DOMDocument;
$doc = new ( '1.0', 'utf-8' );
$doc->formatOutput = true;
$adData = $doc->appendChild( $doc->createElement( 'adData' ) );
foreach ($this->adData as $fieldname => $value) {
switch ($fieldname) {
case 'date': {
$adData->appendChild( $doc->createElement( $fieldname, date( DATE_ATOM, $value ) ) );
break;
}
case 'ends': {
$adData->appendChild( $doc->createElement( $fieldname, date( DATE_ATOM, $value ) ) );
break;
}
case 'expiration_last_sent': {
$adData->appendChild( $doc->createElement( $fieldname, date( DATE_ATOM, $value ) ) );
break;
}
case 'start_time': {
$adData->appendChild( $doc->createElement( $fieldname, date( DATE_ATOM, $value ) ) );
break;
}
case 'end_time': {
$adData->appendChild( $doc->createElement( $fieldname, date( DATE_ATOM, $value ) ) );
break;
}
case 'images': {
$images = $adData->appendChild( $doc->createElement( $fieldname ) );
$value['date_entered'] = date( DATE_ATOM, $value['date_entered'] );
foreach ($value as $imageField => $imageValue) {
$images->appendChild( $doc->createElement( $imageField, $imageValue ) );
}
break;
}
case 'extras': {
$extras = $adData->appendChild( $doc->createElement( $fieldname ) );
foreach ($value as $extraField => $extraValue) {
$extras->appendChild( $doc->createElement( $extraField, $extraValue ) );
}
break;
}
case 'bids': {
$bids = $adData->appendChild( $doc->createElement( $fieldname ) );
$value['time_of_bid'] = date( DATE_ATOM, $value['time_of_bid'] );
foreach ($value as $bidsField => $bidsValue) {
$bids->appendChild( $doc->createElement( $bidsField, $bidsValue ) );
}
break;
}
case 'title': {
$title = $adData->appendChild( $doc->createElement( 'title' ) );
$title->appendChild( $doc->createCDATASection( $value ) );
break;
}
case 'description': {
$description = $adData->appendChild( $doc->createElement( 'description' ) );
$description->appendChild( $doc->createCDATASection( $value ) );
break;
}
default: {
$adData->appendChild( $doc->createElement( $fieldname, $value ) );
break;
}
}
}
return $doc->saveXML( );
}
function getUserData($userID = false, $xml = false) {
$userID = ($userID ? $userID : geoSession::getinstance( )->getUserID( ));
$query = 'SELECT
' . ' geodesic_userdata.*,
' . ' geodesic_user_groups_price_plans.group_id,
' . ' geodesic_user_groups_price_plans.price_plan_id,
' . ' geodesic_user_groups_price_plans.auction_price_plan_id
' . 'FROM
' . ' geodesic_userdata
' . ' LEFT JOIN geodesic_user_groups_price_plans ON (
' . ' geodesic_userdata.id = geodesic_user_groups_price_plans.id
' . ' )
' . ( '' . 'WHERE geodesic_userdata.id=' . $userID );
$rs = $this->db->Execute( $query );
if (!$rs) {
$this->addError( 'ERROR', 'addon_moreFromSeller_common', 'getUserData', $this->db->ErrorMsg( ) );
}
else {
if ($rs->recordCount( ) == 0) {
$this->addDebugMessage( '' . 'No Data For User No. ' . $userID );
}
else {
$this->userData = $rs->getRowAssoc( false );
foreach ($this->userData as $fieldname => $value) {
$this->userData[$fieldname] = geoString::fromdb( $value );
}
}
}
return ($xml ? $this->userDataXML( ) : $this->userData);
}
function userDataXML() {
DOMDocument;
$doc = new ( '1.0', 'utf-8' );
$doc->formatOutput = true;
$userData = $doc->appendChild( $doc->createElement( 'userData' ) );
foreach ($this->userData as $fieldname => $value) {
if (stristr( $fieldname, 'optional_field' )) {
$optional = $userData->appendChild( $doc->createElement( $fieldname ) );
$optional->appendChild( $doc->createCDATASection( $value ) );
continue;
}
if ($fieldname == 'date_joined') {
$userData->appendChild( $fieldname, date( DATE_ATOM, $value ) );
continue;
}
if ($fieldname == 'last_login_time') {
$userData->appendChild( $fieldname, date( DATE_ATOM, strtotime( $value ) ) );
continue;
}
$userData->appendChild( $doc->createElement( $fieldname, $value ) );
}
return $doc->saveXML( );
}
function getSellerData($adID, $xml = false) {
$this->sellerData = array( );
$cart = geoCart::getinstance( );
if (!$adID) {
if ($_REQUEST['a'] == 2) {
$adID = $_REQUEST['b'];
}
else {
if (( isset( $_REQUEST['store'] ) && isset( $_REQUEST['listing'] ) )) {
$adID = $_REQUEST['listing'];
}
else {
if (( ( is_object( $cart ) && $cart->item->get( 'listing_id' ) ) && ( $cart->main_type == 'listing_renew_updrate' || $cart->main_type == 'listing_edit' ) )) {
$adID = $cart->item->get( 'listing_id' );
}
}
}
}
$query = 'SELECT
' . ' geodesic_userdata.*,
' . ' geodesic_user_groups_price_plans.group_id,
' . ' geodesic_user_groups_price_plans.price_plan_id,
' . ' geodesic_user_groups_price_plans.auction_price_plan_id
' . 'FROM
' . ' geodesic_userdata
' . ' LEFT JOIN geodesic_user_groups_price_plans ON (
' . ' geodesic_userdata.id = geodesic_user_groups_price_plans.id
' . ' )
' . ' LEFT JOIN geodesic_classifieds ON (
' . ' geodesic_classifieds.seller = geodesic_userdata.id
' . ' )
' . ( '' . 'WHERE geodesic_classifieds.id=' . $adID );
$rs = $this->db->Execute( $query );
if (!$rs) {
$this->addError( 'ERROR', 'addon_moreFromSeller_common', 'getSellerData', $this->db->ErrorMsg( ) );
}
else {
if ($rs->RecordCount( ) == 0) {
$this->addDebugMessage( '' . 'No Seller Data For Ad No. ' . $adID );
}
else {
$this->sellerData = $rs->getRowAssoc( false );
foreach ($this->sellerData as $fieldname => $value) {
$this->sellerData[$fieldname] = geoString::fromdb( $value );
}
}
}
return ($xml ? $this->sellerDataXML( ) : $this->sellerData);
}
function sellerDataXML() {
DOMDocument;
$doc = new ( '1.0', 'utf-8' );
$doc->formatOutput = true;
$sellerData = $doc->appendChild( $doc->createElement( 'sellerData' ) );
foreach ($this->sellerData as $fieldname => $value) {
if (stristr( $fieldname, 'optional_field' )) {
$optional = $sellerData->appendChild( $doc->createElement( $fieldname ) );
$optional->appendChild( $doc->createCDATASection( $value ) );
continue;
}
if ($fieldname == 'date_joined') {
$sellerData->appendChild( $doc->createElement( 'date_joined', date( DATE_ATOM, $value ) ) );
continue;
}
if ($fieldname == 'last_login_time') {
$sellerData->appendChild( $doc->createElement( 'last_login_time', date( DATE_ATOM, strtotime( $value ) ) ) );
continue;
}
$sellerData->appendChild( $doc->createElement( $fieldname, $value ) );
}
return $doc->saveXML( );
}
function getCategoryArray($category_id = 0, $recursive = false) {
$language_id = ($_COOKIE['language_id'] ? $_COOKIE['language_id'] : 1);
$query = 'SELECT languages.category_name, categories.category_id
' . 'FROM geodesic_categories categories, geodesic_classifieds_categories_languages languages
' . 'WHERE languages.category_id = categories.category_id
' . ( ( '' . 'AND categories.parent_id =' . $category_id . '
' ) . '
' ) . ( ( '' . 'AND languages.language_id=' . $language_id . '
' ) . '
' ) . 'ORDER BY categories.display_order ASC, languages.category_name ASC';
$rs = $this->db->Execute( $query );
if (( !$rs || $this->db->ErrorMsg( ) )) {
$this->addError( 'SQL', 'addon_moreFromSeller_common', 'getCategoryArray', $this->db->ErrorMsg( ) );
return false;
}
if ($rs->RecordCount( ) == 0) {
$this->errors[] = 'NO RESULTS';
return false;
}
$categories = array( );
$i = 0;
while ($i < $rs->RecordCount( )) {
$result = $rs->GetRowAssoc( false );
$rs->moveNext( );
$result['category_name'] = geoString::fromdb( $result['category_name'] );
if ($recursive) {
$subcategories = $this->buildCategoryArray( $result['category_id'] );
if ($subcategories) {
$result['subcategories'] = $subcategories;
}
}
$categories[] = $result;
++$i;
}
return $categories;
}
function getCategoryXML($parentId = 0, $recursive = false, &$ar = false, &$doc = false, $parentNode = false) {
if (!$ar) {
$ar = $this->buildCategoryArray( $parentId, $recursive );
}
if (!$doc) {
DOMDocument;
$doc = new ( );
$doc->formatOutput = true;
$parentNode = $doc->appendChild( $doc->createElement( 'categories' ) );
}
if (0 < count( $this->errors )) {
$errors = $parentNode->appendChild( $doc->createElement( 'errors' ) );
foreach ($this->errors as $error) {
$errors->appendChild( $doc->createElement( 'error', $error ) );
}
return $doc->saveXML( );
}
$i = 0;
while ($i < count( $ar )) {
$category = $doc->createElement( 'category', $ar[$i]['category_name'] );
$category->setAttribute( 'id', $ar[$i]['category_id'] );
if (is_array( $ar[$i]['subcategories'] )) {
$category->appendChild( $this->appendSubCategory( $ar[$i]['category_id'], $ar[$i['subcategories']], $doc ) );
}
$parentNode->appendChild( $category );
++$i;
}
$doc->appendChild( $parentNode );
return $doc->saveXML( );
}
function appendSubCategory($parent_id, &$subCategories, $doc) {
$subCategoriesElement = $doc->createElement( 'subcategories' );
$subCategoriesElement->setAttribute( 'parent_id', $parent_id );
foreach ($subCategories as $subCategory) {
$category = $subCategoriesElement->appendChild( $doc->createElement( 'category', $subCategory['category_name'] ) );
$category->setAttribute( 'id', $subCategory['category_id'] );
if (is_array( $subCategories['subcategories'] )) {
$category->appendChild( $this->appendSubCategory( $subCategory['category_id'], $subCategories['subcategories'], $doc ) );
continue;
}
}
return $subCategories;
}
function showCategoryTree($category_id, $clickable = false) {
$array = $this->getCategoryTreeArray( $category_id );
if (!is_array( $array )) {
return false;
}
if (!$clickable) {
$array = array_reverse( $array );
$string = implode( ' > ', $array );
}
else {
foreach ($array as $id => $value) {
$strArray[] = '' . '<a href=\'index.php?a=5&b=' . $id . '\'>' . $value . '</a>';
}
$string = implode( ' > ', $strArray );
}
return $string;
}
function getCategoryTreeArray($category_id, $ar = array( )) {
$language_id = ($_COOKIE['language_id'] ? $_COOKIE['language_id'] : 1);
$query = 'SELECT languages.category_id,
' . 'languages.category_name,
' . 'categories.parent_id
' . 'FROM geodesic_categories categories,
' . 'geodesic_classifieds_categories_languages languages
' . ( ( '' . 'WHERE categories.category_id=' . $category_id . '
' ) . '
' ) . ( ( '' . 'AND languages.language_id=' . $language_id . '
' ) . '
' ) . 'AND languages.category_id=categories.category_id';
$rs = $this->db->Execute( $query );
if (!$rs) {
$this->addError( 'SQL', 'addon_moreFromSeller_common', 'getCategoryTreeArray', $this->db->ErrorMsg( ) . ( '' . '<pre>' . $query . '</pre>' ) );
return false;
}
$result = $rs->GetRowAssoc( false );
$ar[$result['category_id']] = urldecode( $result['category_name'] );
if ($result['parent_id'] != 0) {
$ar = $this->getCategoryTreeArray( $result['parent_id'], $ar );
}
return $ar;
}
function getPaging($page, $record_count, $limit, $link) {
$total_pages = ceil( $record_count / $limit );
return geoPagination::gethtml( $total_pages, $page, $link );
}
function neat_trim($str, $n, $delim = '...') {
$matches = array( );
$len = strlen( $str );
if ($n < $len) {
preg_match( '/(.{' . $n . '}.*?)\b/', $str, $matches );
return rtrim( $matches[1] ) . $delim;
}
return $str;
}
function isWriteable($filePath) {
$s = stat( $filePath );
$permissions = substr( decoct( $s[mode] ), 0 - 3 );
return (trim( $permissions ) == '777' ? true : false);
}
function addError($severity, $class, $function, $message, $file = false, $line = false) {
$error = array( );
$error['severity'] = $severity;
$error['class'] = $class;
$error['function'] = $function;
$error['message'] = $message;
if ($file) {
$error['file'] = $file;
}
if ($line) {
$error['line'] = $line;
}
$this->errors[] = $error;
}
function getErrors($xml = false) {
if (!$xml) {
return $this->errors;
}
DOMDocument;
$doc = new ( );
$errors = $doc->appendChild( $doc->createElement( 'errors' ) );
foreach ($this->errors as $e) {
$error = $errors->appendChild( $doc->createElement( 'error' ) );
foreach ($e as $k => $v) {
$error->appendChild( $doc->createElement( $k, $v ) );
}
}
return $doc->saveXML( );
}
function displayErrors() {
geoTemplate;
$tpl = new ( 'addon', $this->addonName );
$tpl->assign( 'errors', $this->errors );
return $tpl->fetch( 'system/errors.tpl' );
}
function addDebugMessage($message) {
if (is_array( $message )) {
$this->add_debug_array_message( $message );
}
else {
$this->debug_messages[] = $message;
}
return true;
}
function addDebugArraymessage($array) {
foreach ($array as $key => $value) {
if (is_array( $value )) {
$this->add_debug_message( '' . $key . ' = Array (' );
$this->add_debug_message( '<blockquote>' );
$this->add_debug_message( $value );
$this->add_debug_message( '</blockquote>' );
$this->add_debug_message( ')' );
continue;
}
$this->add_debug_message( '' . $key . ' = ' . $value );
}
return true;
}
function displayDebugMessages() {
if (!count( $this->debug_messages )) {
geoTemplate;
$tpl = new ( 'addon', $this->addonName );
$tpl->assign( 'messages', $this->debug_messages );
return $tpl->fetch( 'system/debug.tpl' );
}
return '';
}
function sendDebugMessages() {
if (( $this->debug_email && count( $this->debug_messages ) )) {
foreach ($this->debugRecipients as $recipient) {
$messages = $this->displayDebugMessages( );
geoEmail::sendmail( $recipient, 'Debug Output For ' . $this->site_url, $messages, 0, 0, 'utf-8', 'text.html' );
}
}
return true;
}
function sendSuggestion($data) {
$addonInfo = geoAddon::getinstance( )->getInfoClass( $this->addonName, true );
$hostName = $_SERVER['HTTP_HOST'];
$ipAddress = $_SERVER['SERVER_ADDR'];
if (geoPC::is_class_auctions( )) {
$data['product_type'] = 'ClassAuctions';
}
else {
if (geoPC::is_classifieds( )) {
$data['product_type'] = 'Classifieds';
}
else {
if (geoPC::is_auctions( )) {
$data['product_type'] = 'Auctions';
}
}
}
if (geoPC::is_lite( )) {
$data['edition'] = 'Lite';
}
else {
if (geoPC::is_basic( )) {
$data['edition'] = 'Basic';
}
else {
if (geoPC::is_premier( )) {
$data['edition'] = 'Premier';
}
else {
if (geoPC::is_ent( )) {
$data['edition'] = 'Enterprise';
}
}
}
}
$data['version'] = geoPC::getversion( );
$data['addonName'] = $this->addonName;
$data['addonVersion'] = $addonInfo->$version;
$data['from'] = trim( stip_tags( $data['from'] ) );
$data['subject'] = trim( stip_tags( $data['subject'] ) );
$data['content'] = trim( stip_tags( $data['content'] ) ) . ( ( ( ( ( ( ( ( '' . '
' ) . '
' ) . '
' ) . '
' ) . $hostname . ' : ' . $ipAddress . '
' ) . '
' ) . '
' ) . '
License Key: ' ) . moreFromSeller_key;
$data['to'] = 'cms@interactivevillages.com';
$data['url'] = $this->site_url;
geoTemplate;
$tpl = new ( 'addon', $this->addonName );
$tpl->assign( 'data', $data );
$content = $tpl->fetch( 'system/contactMsg.tpl' );
geoEmail::sendmail( $data['to'], $data['subject'], $content, $data['from'], $data['from'], 'utf-8', 'text/html' );
}
function resetCategoryCount() {
$query = 'SELECT category_id, in_statement FROM geodesic_categories ORDER BY display_order';
$rs = $this->db->Execute( $query );
if (!$rs) {
$this->addError( 'SQL', 'addon_moreFromSeller_common', 'resetCategoryCount', $this->db->ErrorMsg( ) );
return false;
}
if ($rs->recordCount( ) == 0) {
$this->addError( 'Warning', 'addon_moreFromSeller_common', 'resetCategoryCount', 'Unable to list categories' );
return false;
}
$i = 0;
while ($i < $rs->RecordCount( )) {
$result = $rs->GetRowAssoc( false );
$rs->moveNext( );
$qry = 'UPDATE geodesic_categories
' . 'SET category_count=(
' . ' SELECT count(id)
' . ' FROM geodesic_classifieds
' . ' WHERE live=1
' . ' AND item_type=1
' . ( '' . ' AND category ' . $result['in_statement'] ) . '),
' . 'auction_category_count=(
' . ' SELECT count(id)
' . ' FROM geodesic_classifieds
' . ' WHERE live=1
' . ' AND (item_type=2 OR item_type=4)
' . ( '' . ' AND category ' . $result['in_statement'] ) . ')
' . ( '' . 'WHERE category_id=' . $result['category_id'] );
if (!$this->db->Execute( $qry )) {
$this->addError( 'SQL', 'addon_moreFromSeller_common', 'resetCategoryCount', $this->db->ErrorMsg( ) );
}
++$i;
}
return (count( $this->errors ) ? false : true);
}
function addonIsLicensed() {
if (moreFromSeller_DEVMODE) {
return true;
}
$db = dataAccess::getinstance( );
$validString = base64_encode( md5( $_SERVER['HTTP_HOST'] . moreFromSeller_product_id . moreFromSeller_key ) );
$query = 'SELECT `key`
' . 'FROM geodesic_addons_iv_licenses WHERE addon=\'' . $this->addonName . '\'
' . ( '' . 'AND `key`=\'' . $validString . '\'' );
$rs = $db->Execute( $query );
if (!$rs) {
$this->addError( 'LICENSE: ', 'addon_moreFromSeller_common', 'addonIsLicensed', $db->ErrorMsg( ), __FILE__, 766 );
return false;
}
if (0 < $rs->recordCount( )) {
return true;
}
$addonIsLicensed = $this->checkLicense( );
if ($addonIsLicensed === true) {
$this->setLicense( );
return true;
}
$this->addError( 'LICENSE', 'addon_moreFromSeller_common', 'addonIsLicensed', $addonIsLicensed, __FILE__, 777 );
return false;
}
function setLicense() {
$db = dataAccess::getinstance( );
$validString = base64_encode( md5( $_SERVER['HTTP_HOST'] . moreFromSeller_product_id . moreFromSeller_key ) );
$query = 'INSERT INTO geodesic_addons_iv_licenses(
' . '`addon`,
' . '`key`
' . ')VALUES(
' . '\'' . $this->addonName . '\',
' . ( '' . '\'' . $validString . '\'
' ) . ')';
if (!$db->Execute( $query )) {
$this->addError( 'LICENSE: ', 'addon_moreFromSeller_common', 'setLicense', $db->ErrorMsg( ), __FILE__, 792 );
return false;
}
return true;
}
function checkLicense() {
$installed_host = 'https://www.interactivevillages.com/accounts/validate_internal.php';
$query_string = 'license=' . moreFromSeller_key;
$query_string .= '&product_id=' . moreFromSeller_product_id;
$per_server = false;
$per_install = false;
$per_site = true;
if ($per_server) {
$server_array = $this->phpaudit_get_mac_address( );
$query_string .= '&access_host=' . gethostbyaddr( @gethostbyname( $server_array[1] ) );
$query_string .= '&access_mac=' . $server_array[0];
}
else {
if ($per_install) {
$query_string .= '&access_directory=' . $this->path_translated( );
$query_string .= '&access_ip=' . $this->server_addr( );
$query_string .= '&access_host=' . $_SERVER['HTTP_HOST'];
}
else {
if ($per_site) {
$query_string .= '&access_ip=' . $this->server_addr( );
$query_string .= '&access_host=' . $_SERVER['HTTP_HOST'];
}
}
}
$query_string .= '&access_token=';
$query_string .= $this->make_token( );
if (!@function_exists( 'file_get_contents' )) {
}
$tags = null;
$values = null;
$fullUrl = $installed_host . '?' . $query_string;
$data = @file_get_contents( $fullUrl );
if (!$data) {
return 'Communication Error: unable to connect to license server';
}
$parser = @xml_parser_create( '' );
@xml_parser_set_option( $parser, XML_OPTION_CASE_FOLDING, 0 );
@xml_parser_set_option( $parser, XML_OPTION_SKIP_WHITE, 1 );
@xml_parse_into_struct( $parser, $data, $values, $tags );
@xml_parser_free( $parser );
$returned = $values[0]['attributes'];
if (empty( $returned )) {
$returned['status'] = 'Communication Error';
}
switch ($returned['status']) {
case 'active': {
true;
}
}
return ;
}
function make_token() {
return md5( '2c88964d8394165264884ccd99a289aa' . time( ) );
}
function phpaudit_get_mac_address() {
$fp = @popen( '/sbin/ifconfig', 'r' );
if (!$fp) {
return 0 - 1;
}
$res = @fread( $fp, 4096 );
@pclose( $fp );
$array = @explode( 'HWaddr', $res );
if (@count( $array ) < 2) {
$array = @explode( 'ether', $res );
}
$array = @explode( '
', $array[1] );
$buffer[] = @trim( $array[0] );
$array = @explode( 'inet addr:', $res );
if (@count( $array ) < 2) {
$array = @explode( 'inet ', $res );
}
$array = @explode( ' ', $array[1] );
$buffer[] = @trim( $array[0] );
return $buffer;
}
function path_translated() {
$option = array( 'PATH_TRANSLATED', 'ORIG_PATH_TRANSLATED', 'SCRIPT_FILENAME', 'DOCUMENT_ROOT', 'APPL_PHYSICAL_PATH' );
foreach ($option as $key) {
if (!isset( $_SERVER[$key] )) {
continue;
}
if (@substr( @php_uname( ), 0, 7 ) == 'Windows') {
return substr( $_SERVER[$key], 0, @strrpos( $_SERVER[$key], '\' ) );
}
return substr( $_SERVER[$key], 0, @strrpos( $_SERVER[$key], '/' ) );
}
return false;
}
function server_addr() {
$options = array( '$this->server_addr', 'LOCAL_ADDR' );
foreach ($options as $key) {
if (isset( $_SERVER[$key] )) {
return $_SERVER[$key];
}
}
return false;
}
}
function file_get_contents($url) {
return implode( '', @file( $url ) );
}
include_once( BASE_DIR . 'addons/moreFromSeller/addonKey.php' );
define( 'moreFromSeller_key', $license_key );
define( 'moreFromSeller_product_id', '63' );
define( 'moreFromSeller_DEVMODE', false );
?> |
|
|
|
|
|
|
|
Thanks a lot |
|
Posted: Wed Jan 09, 2013 5:57 pm |
|
|
ccc |
Regular user |
|
|
Joined: Jan 08, 2013 |
Posts: 15 |
|
|
|
|
|
|
|
Great job done, appreciated. |
|
|
|
|
www.waraxe.us Forum Index -> PHP script decode requests
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
All times are GMT
Page 1 of 1
|
|
|
Powered by phpBB © 2001-2008 phpBB Group
|
|
|
|
|
|