Вход Регистрация
Файл: lib/tools/tool-contentcheck.php
Строк: 155
<?php
 
/** Модуль управления инструментом `анализ контента сайта`
 * @author [Eugene]
 * @copyright 2011
 * @url http://forwebm.net
 */
 
if (!@defined('W_ENGINED_L')) exit('Can`t access to this file data!');
 
//-------------------------------------------------------------------------------------

 
class w_toolitem_contentcheck extends w_toolitem_noajax_method {    
  protected
   
$http,
   
$result,
   
$dodeletecachonread;
  
  
/** раскрытие стандартного массива */
  
function GetWordListByArray($list$separator=", ") {
   if (!
$list || !@is_array($list)) { return ''; }
   return @
implode($separator, @array_unique(@array_map(array($this'strtolower'), $list)));       
  }
//GetWordListByArray
  
  /** проверка присутствия группы тэгов */
  
function CheckForExists($tags$separator=','$allmath=false) {
   
$list = @explode($separator$tags);
   if (!
$list) { return false; }
   
$ok false;
   foreach (
$list as $tag) {
    
$ok $this->GetResult($tag);
    if (!
$allmath && $ok) { return true; } 
    elseif (
$allmath && !$ok) { return false; }            
   }
   return 
$ok;       
  }
//CheckForExists
  
  
function IsUpdateResults() {
   return (
$this->dodeletecachonread && $this->control->IsOnline()); 
  }
//IsUpdateResults
  
  
private function ProcessGeneralSysItems() { 
    
$this->result = array();           
            
    
$html = new ss_HTTP_obj();
    if (!
$html->SetURL($_POST['url'])) {
      print 
'Error in parse URL!';
      exit;          
    }
    
    
//данные о странице
    //$this->result['gensys1'] = ($html->RunPluginEx2(SS_SOLOMONOPLUGIN, $error, $value, $cachDate)) ? $value : false;
//    
//    if ($this->result['gensys1']) {
//     
//     if ($cachDate) $this->result['gensys1']['cacheddate'] = $cachDate; 
//     
//     foreach ($this->result['gensys1'] as $name => &$value) {
//        
//       if ($name == 'igood') {
//        $value = @str_replace('/', ' of ', $value);
//        continue;
//       }         
//        
//       if (!isset($this->result['gensys1'][$name.'_l1'])) continue;
//       
//       $i = 1;
//       $this->result['gensys1'][$name.'-list2w'] = array();
//       while (isset($this->result['gensys1'][$name.'_l'.$i])) {
//        
//        $this->result['gensys1'][$name.'-list2w']["$i"] = $this->result['gensys1'][$name.'_l'.$i]; 
//        
//        $i++;
//       }       
//              
//     }                       
//    }
    
    //данные о странице
    
if ($this->GetToolLimitInfoEx('pagespeedapi')) {
     @
sleep(0.4);
     
$params = array(
      
'key' => $this->GetToolLimitInfoEx('pagespeedapi'),
      
'ref' => 'http://'.W_HOSTMYSITE  
     
);
     if (
$this->GetToolLimitInfoEx('pagespeedapi-userip')) {
      
$params['userIp'] = $this->control->GetCurrentIP();   
     }
     
     if (
$_POST['dp'] && $this->control->IsOnline()) $params['ignorecach'] = 1;
                  
     
$this->result['gensys2'] = ($html->RunPluginEx2(SS_PAGESPEEDONLINE$error$value2$cachDate2$params)) ? 
      
$value2 false;
     
     if (
$this->result['gensys2'] && $cachDate2$this->result['gensys2']['cacheddate'] = $cachDate2
       
    }
    
    
//majesticseo
    //@sleep(0.4);
//    $this->result['gensys3'] = ($html->RunPluginEx2(SS_MAJESTICSEOGENERALINFO, $error, $value3, $cachDate3)) ? 
//      $value3 : false;   
//    if ($this->result['gensys3'] && $cachDate3) $this->result['gensys3']['cacheddate'] = $cachDate3;
    
    
    
$this->control->smarty->assign('tool_object'$this);
    print 
$this->control->smarty->fetch('tools/contentcheck/tpl_block-general-sys-items-list.tpl');
    exit;  
  }
//ProcessGeneralSysItems
  
  
private function PreloadAjaxItems() {
   
   
//обработка общих показателей
   
if ($_POST['spparams3']) $this->ProcessGeneralSysItems(); 
    
  }
//PreloadAjaxItems
  
  
function _DoActionThisTool() {
    
   if (
$this->IsAjax()) { $this->PreloadAjaxItems(); exit; } 
    
   
$this->dodeletecachonread = !$this->CheckForGetQuery();           
   if (
$_POST['doactiontool'] != 'do') { 
       if (!isset(
$_GET['t2']) || !$_GET['t2']) { return false; }
    
$_POST['url'] = ($_GET['plink']) ? $_GET['plink'] : $_GET['t2'];
    
$_POST['doactiontool'] = 'do';    
   }
   
$this->InitJsFiles();
   
$http = new ss_HTTP_obj();
   
$this->http $http;
   if (!
$http->SetURL($_POST['url'])) { return $this->SetError('Error in parse url!'); }
   
$_POST['url'] = $http->url_self_no_protocol;
   
//параметры выполнение
   
$error  ''$cachdateupdate false;
   
$params = array(
    
'dorequsturl' => 1//выполнять запрос только при новом обращении
    //обрабатывать указанные тэги
    
'gettagssource' => array(
     
//получить тэг description из группы мета (анализировать содержимое тэга)
     
'metadescription' => array(
      
'id'        => 'descriptioninfo',
      
'name'      => 'meta',
      
'ones'      => 1,     
      
'action'    => 1,
      
'separ'     => ' ',     
      
'nameValue' => 'description',
      
'nameAttr'  => array('name''http-equiv'),
      
'valueAttr' => 'content'
     
)
     
//
    
),
    
//делить ключевые слова по пробелу
    
'keywordsbyspace' => (isset($_POST['separatorkeywords']) && $_POST['separatorkeywords'] == 1) ? true false
   
);
   
//добавим для анализа h1 - h6 тэги (не анализировать, просто получить содержимое)
   
for ($i=1$i<=6$i++) {
    
$params['gettagssource']['h'.$i.'t'] = array(
      
'id'    => 'h'.$i.'info',
      
'name'  => 'h'.$i,
      
'ones'  => 0     
    
);    
   }    
   
//кэшировать данные при гет запросе
   
if (!$this->dodeletecachonread && !$this->GetToolLimitInfoEx('docachonget')) {
    
$params['ignorecach'] = true;
   }   
   
//обновлять кэш при запросе из пост запроса
   
if ($this->IsUpdateResults()) {//($this->dodeletecachonread) {
       //обновить кэш
    
if ($this->GetToolLimitInfoEx('docachonpost')) { $params['dodeletecachonread'] = 1; } else {
     
//не использовать кэш    
     
$params['ignorecach'] = true;    
    }      
   }
   
//выполнение
   
if (!$http->RunPluginEx2(SS_CONTENTANALIZE$error$this->result$cachdateupdate$params)) {
    return 
$this->SetError((!$error) ? $this->GetText('erroractiontool', array('Content analisys')) : $error);
   }
   
//записать в историю
   
if (!$cachdateupdate) { $this->AddDataToHistory($http->url_host); }
   
//дата последнего обновления информации, если используется кэш и данные из кэша
   
if ($cachdateupdate) { $this->result['cachlastupdatedate'] = $cachdateupdate; }   
   return 
true;       
  }
//_DoActionThisTool
  
  
function NextUpdateDate() {
   if (
$this->IsUpdateResults() || !$this->result['cachlastupdatedate'] || $this->control->IsOnline()) { return false; }
   if (isset(
$this->result['lastupdatenexttime'])) return $this->result['lastupdatenexttime'];
   
   
$time = @strtotime($this->result['cachlastupdatedate']);
   
$date_time_array = @getdate($time);
   
   
$time = @date("Y-m-d H:i:s", @mktime(
    
$date_time_array['hours'], $date_time_array['minutes'], $date_time_array['seconds'], $date_time_array['mon'],
    
$date_time_array['mday'] + 5$date_time_array['year']
   ));
    
   return 
$this->result['lastupdatenexttime'] = ss_Plugin_GenWhoisDomainEx::GetDateDiffInterval2(
    
$this->GetThisDateTime(), $time
   
);    
  }
//NextUpdateDate
      
 
}//w_toolitem_contentcheck

 //-------------------------------------------------------------------------------------
 /* Copyright (с) 2011 forwebm.net */
?>
Онлайн: 1
Реклама