コード例 #1
0
ファイル: model_main.php プロジェクト: agalardo/i-tim-local
 public function get_data()
 {
     session_start();
     require_once 'libraries/connect_db.class.php';
     if ($_POST['exit'] == 'Выход') {
         $_SESSION['nickname'] = null;
         $_SESSION['userpassword'] = null;
         $_SESSION['user_id'] = null;
         session_destroy();
         unset($_POST);
     }
     if ($_SESSION['nickname'] && $_SESSION['userpassword']) {
         $nickname = $_SESSION['nickname'];
         $filename = basename($_SERVER['SCRIPT_FILENAME']);
         $ObjDb = new connect_db();
         $link_id = $ObjDb->db_connect();
         $nickname = iconv('utf-8', 'windows-1251', $nickname);
         $query = "select user_id from {$this->user_tablename} where nickname='{$nickname}'";
         $result = mysql_query($query);
         $query_data = mysql_fetch_assoc($result);
         $user_id = $query_data['user_id'];
         $query = "SELECT user_id FROM {$this->access_log_tablename} WHERE page = '{$filename}' AND user_id = '{$user_id}'";
         $result = mysql_query($query);
         if (!mysql_num_rows($result)) {
             $query = "INSERT INTO {$this->access_log_tablename} VALUES ('{$filename}', '{$user_id}', 1, NULL)";
         } else {
             $query = "UPDATE {$this->access_log_tablename} SET visitcount = visitcount + 1, accessdate = NULL WHERE page = '{$filename}' AND user_id = '{$user_id}'";
         }
         $result = mysql_query($query);
         $num_rows = mysql_affected_rows($link_id);
         if ($num_rows != 1) {
             die($ObjDb->sql_error());
         }
         $ObjDb->db_close();
     }
 }
コード例 #2
0
<?php

header('Content-Type: text/html; charset=UTF-8');
include_once "../libraries/connect_db.class.php";
$ObjDb = new connect_db();
$link_id = $ObjDb->db_connect();
if (!$link_id) {
    die($ObjDb->sql_error());
}
# Создание таблицы 'activity'(признак работы скрипта поиска)
$tablename = 'activity';
$table_def = "bool TINYINT NOT NULL,";
$table_def .= "seacher VARCHAR(50) BINARY NOT NULL";
$query = "START TRANSACTION;";
$result = mysql_query($query);
if (!$result) {
    die($ObjDb->sql_error());
}
if (!mysql_query("CREATE TABLE {$tablename} ({$table_def})  ENGINE=InnoDB;")) {
    die($ObjDb->sql_error());
}
$seacher = array('yandex', 'google');
foreach ($seacher as $value) {
    $query = "INSERT INTO {$tablename} VALUES(0,'{$value}')";
    $result = mysql_query($query);
    if (!$result) {
        die($ObjDb->sql_error());
    }
}
echo "Таблица {$tablename} была успешно создана.<br />";
# Создание таблицы 'captcha'(признак работы скрипта поиска)
コード例 #3
0
ファイル: model_parser.php プロジェクト: agalardo/i-tim-local
 public function get_data()
 {
     //-------------------------------работа с таблицей данных--------------------------------
     $ObjDb = new connect_db();
     $link_id = $ObjDb->db_connect();
     if (!$link_id) {
         print $ObjDb->sql_error();
         exit;
     }
     //------------------------выбор сайтов и запросов из таблицы---------------------------------
     $query = "SELECT site FROM {$this->site_tablename} WHERE user_id = '{$this->user_id}' GROUP BY site";
     $result = mysql_query($query);
     if (!$result) {
         print $ObjDb->sql_error();
         exit;
     }
     for ($i = 0; $i < mysql_num_rows($result); $i++) {
         $query_data = mysql_fetch_array($result);
         $site = $query_data['site'];
         //$Sites[] = iconv('windows-1251', 'utf-8', $site);
         $Sites[] = $site;
     }
     if (count($Sites) != 0) {
         $Sites = array_unique($Sites);
         $temp = $Sites;
         $Sites = array();
         foreach ($temp as $value) {
             $Sites[] = $value;
         }
         unset($temp);
         foreach ($Sites as $site) {
             //$site = iconv('utf-8', 'windows-1251', $site);
             $query = "SELECT keyword FROM {$this->site_tablename} WHERE user_id = '{$this->user_id}' AND site = '{$site}'";
             //$site = iconv('windows-1251', 'utf-8', $site);
             $temp[] = $site;
             $result = mysql_query($query);
             if (!$result) {
                 print $ObjDb->sql_error();
                 exit;
             }
             for ($i = 0; $i < mysql_num_rows($result); $i++) {
                 $query_data = mysql_fetch_array($result);
                 $keyword = $query_data['keyword'];
                 if ($keyword == null) {
                     continue;
                 }
                 //$temp[] = iconv('windows-1251', 'utf-8', $keyword);
                 $temp[] = $keyword;
             }
             $Data[] = $temp;
             unset($temp);
         }
     }
     /* echo"<pre>";
        print_r($Data);
        echo"</pre>";
        exit; */
     //------------------------определение $textArray---------------------------------------
     $site = $Sites[0];
     //$site = iconv('utf-8', 'windows-1251', $site);
     $query = "SELECT keyword FROM {$this->site_tablename} WHERE user_id = '{$this->user_id}' AND site = '{$site}'";
     $site = $Sites[0];
     $result = mysql_query($query);
     if (!$result) {
         print $ObjDb->sql_error();
         exit;
     }
     for ($i = 0; $i < mysql_num_rows($result); $i++) {
         $query_data = mysql_fetch_array($result);
         $keyword = $query_data['keyword'];
         //$textArray[] = iconv('windows-1251', 'utf-8', $keyword);
         $textArray[] = $keyword;
     }
     //------------------------------------------------------------------------------
     ////-----------------------Получаем число доступных запросов--------------------
     foreach ($this->seacher as $value) {
         //---------------Проверяем перерыв между поисками-------------------
         $query = "SELECT accessdate FROM {$this->count_tablename} WHERE user_id = '{$this->user_id}' AND seacher = '{$value}'";
         $result = mysql_query($query);
         if (!$result) {
             print $ObjDb->sql_error();
             exit;
         }
         $query_data = mysql_fetch_array($result);
         $accessdate = $query_data['accessdate'];
         $todayU = intval(date("U"));
         $accessU = intval(strtotime($accessdate));
         $todayDate = mktime(date("H"), date("i"), date("s"), date("m"), date("d"), date("Y"));
         $accessdate = date("Y-m-d H:i:s", $todayDate);
         $diff = $todayU - $accessU;
         /*
          * Если перерыв больше $delta сбрасываем счетчик и записываем новое время
          * при последующем обновлении count в $count_tablename время не обновляется до истечения времени $delta
          */
         if ($diff > $this->delta) {
             $query = "UPDATE {$this->count_tablename} SET count = '0', accessdate = '{$accessdate}' WHERE user_id = '{$this->user_id}' AND seacher = '{$value}'";
             $result = mysql_query($query);
             if (!$result) {
                 print $ObjDb->sql_error();
                 exit;
             }
         }
         $query = "SELECT count FROM {$this->count_tablename} WHERE user_id = '{$this->user_id}' AND seacher = '{$value}'";
         $result = mysql_query($query);
         if (!$result) {
             print $ObjDb->sql_error();
             exit;
         }
         $query_data = mysql_fetch_array($result);
         $countOfRequest[$value] = 300 - $query_data['count'];
         // 300 максимальное число запросов отведено на полдня(можно варьировать в $delta parser_curl_yandex.php etc)
     }
     //------------------------------------------------------------------------------------
     $data = array('Sites' => $Sites, 'textArray' => $textArray, 'Data' => $Data, 'CountOfRequest' => $countOfRequest);
     $ObjDb->db_close();
     return $data;
 }