public function get_data() { $ObjDb = new connect_db(); $ObjDb->db_connect(); $query = "SELECT site FROM {$this->site_tablename} WHERE user_id = '{$this->user_id}' GROUP BY site"; $result = mysql_query($query); if (!$result) { error_message(mysql_error()); } for ($i = 0; $i < mysql_num_rows($result); $i++) { $query_data = mysql_fetch_array($result); $site = $query_data['site']; //$SiteArray[] = iconv('windows-1251', 'utf-8', $site); $SiteArray[] = $site; } if (count($SiteArray) != 0) { $SiteArray = array_unique($SiteArray); $temp = $SiteArray; $SiteArray = array(); foreach ($temp as $value) { $SiteArray[] = $value; } unset($temp); } //----------------------поиск сайтов с неуказаными запросами в таблице if (count($SiteArray) != 0) { foreach ($SiteArray 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}'"; $result = mysql_query($query); if (!$result) { error_message(mysql_error()); } for ($i = 0; $i < mysql_num_rows($result); $i++) { $query_data = mysql_fetch_array($result); $keyword = $query_data['keyword']; if ($keyword == null) { $keywordBool[] = 0; break; } else { $keywordBool[] = 1; $bool = 1; break; } } } } $data = array('sitearray' => $SiteArray, 'bool' => $bool, 'keywordbool' => $keywordBool, 'seacher' => $this->seacher); $ObjDb->db_close(); return $data; }
function __construct() { include_once "libraries/connect_db.class.php"; $this->userpassword = $_SESSION['userpassword']; $this->nickname = $_SESSION['nickname']; $nickname = $this->nickname; $userpassword = $this->userpassword; $ObjDb = new connect_db(); $link_id = $ObjDb->db_connect(); $query = "SELECT * FROM {$this->user_tablename} WHERE nickname = '{$nickname}' AND userpassword = '******'"; $result = mysql_query($query); $query_data = mysql_fetch_assoc($result); $this->user_id = $query_data['user_id']; $this->email = $query_data['email']; $ObjDb->db_close(); }
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(); } }
<?php require_once "../../libraries/connect_db.class.php"; session_start(); $user_id = $_SESSION['user_id']; $count_tablename = "count_curl"; $seacher = array("google", "yandex"); ////Получаем число доступных запросов $ObjDb = new connect_db(); $ObjDb->db_connect(); foreach ($seacher as $value) { $query = "SELECT count FROM {$count_tablename} WHERE user_id = '{$user_id}' AND seacher = '{$value}'"; $result = mysql_query($query); if (!$result) { error_message(mysql_error()); } $query_data = mysql_fetch_array($result); if ($value == 'yandex') { $countOfRequest[$value] = 300 - $query_data['count']; } else { $countOfRequest[$value] = 300 - $query_data['count']; } } $jsonTextCountOfRequest = json_encode($countOfRequest); $ObjDb->db_close(); echo $jsonTextCountOfRequest;
public function get_data() { if ($_POST['site'] == null && $_GET['keyword'] == null) { return 1; } $ObjDb = new connect_db(); $ObjDb->db_connect(); session_start(); if ($_POST['site']) { $site = $_POST['site']; $seacher = $_POST['url']; $_SESSION['stat_seacher'] = $seacher; $_SESSION['site'] = $site; } else { $site = $_GET['site']; $seacher = $_GET['url']; $_SESSION['stat_seacher'] = $seacher; $_SESSION['site'] = $site; } if ($_GET['keyword'] != null) { $GetKeyword = $_GET['keyword']; } //-------------------------получение запросов из таблицы и запись в $Data---------------- //$site = iconv('utf-8', 'windows-1251', $site); $query = "SELECT keyword FROM {$this->site_tablename} WHERE user_id = '{$this->user_id}' AND site = '{$site}'"; $result = mysql_query($query); if (!$result) { print mysql_error(); exit; } for ($i = 0; $i < mysql_num_rows($result); $i++) { $query_data = mysql_fetch_array($result); $keyword = $query_data['keyword']; if ($keyword == null && mysql_num_rows($result) == 1) { $KeywordData = array(); } else { //$KeywordData[] = iconv('windows-1251', 'utf-8', $keyword); $KeywordData[] = $keyword; } } //$site = iconv('windows-1251', 'utf-8', $site); if (is_array($KeywordData)) { array_unshift($KeywordData, $site); } $Data = $KeywordData; unset($KeywordData); //------------------------получение результатов из базы и запись в $PositionData----------------- //$site = iconv('utf-8', 'windows-1251', $site); //$seacher = iconv('utf-8', 'windows-1251', $seacher); if (is_array($Data)) { foreach ($Data as $k => $keyword) { if ($k == 0) { continue; } //$keyword = iconv('utf-8', 'windows-1251', $keyword); $query = "SELECT keyword_id FROM {$this->site_tablename} WHERE site = '{$site}' AND user_id = '{$this->user_id}' AND keyword = '{$keyword}'"; $result = mysql_query($query); if (!$result) { print mysql_error(); exit; } $query_data = mysql_fetch_array($result); $keyword_id = $query_data['keyword_id']; $query = "SELECT accessdate, position, url, depth FROM {$this->result_tablename} WHERE keyword_id = '{$keyword_id}' AND seacher = '{$seacher}' ORDER BY accessdate ASC"; $result = mysql_query($query); if (!$result) { print mysql_error(); exit; } //$keyword = iconv('windows-1251', 'utf-8', $keyword); for ($i = 0; $i < mysql_num_rows($result); $i++) { $query_data = mysql_fetch_array($result); $position = $query_data['position']; $depth = $query_data['depth']; $accessdate = $query_data['accessdate']; $url = $query_data['url']; $dateExpl = explode(" ", $accessdate); $date = explode("-", $dateExpl[0]); $time = explode(":", $dateExpl[1]); $temp = array(); foreach ($date as $key => $value) { if ($key == 1) { $value--; } $temp[] = intval($value); } foreach ($time as $value) { array_push($temp, $value); } //исключаем значения времени запросов не найденных при поиске $dateArray[] = $temp; unset($time); unset($date); //----------------глубина поиска------------------------ // Откидывает результаты поиска с разницей времени менье часа // не доделано, не откидывает позиции откидывает только глубину // $accessU = intval(strtotime($accessdate)); // $lastDateDepth = $dateDepth[count($dateDepth) - 1]; // // if (is_array($lastDateDepth)) { // foreach ($lastDateDepth as $key => $value) { // if ($key == 0) // $lastAccess = $value; // if ($key == 1) // $value++; // if ($key > 0 && $key < 3) // $lastAccess.="-" . $value; // if ($key == 3) // $lastAccess.=" " . $value; // if ($key > 3 && $key <= 5) // $lastAccess.=":" . $value; // } // } // $lastU = intval(strtotime($lastAccess)); // $delta = 1 * 60 * 60; // $diff = $accessU - $lastU; // // if (($positionDepth[count($positionDepth) - 1] != $depth && $diff > 0) || $diff > $delta) { // $dateDepth[] = $temp; // $positionDepth[] = $depth; // } //------------------------------------------------------------------------------------ $dateDepth[] = $temp; $positionDepth[] = $depth; unset($temp); //------------------------------------------------------- if ($url != NULL) { // $positionArray[] = iconv('windows-1251', 'utf-8', $position); $positionArray[] = $position; } else { $positionArray[] = NULL; } $urlArray[] = $url; } if (!(mysql_num_rows($result) == 0)) { $PositionData[] = array($keyword, $positionArray, $dateArray, $urlArray); } unset($positionArray); unset($dateArray); if (count($positionDepth) > 0) { $DepthData[] = array('Глубина поиска', $positionDepth, $dateDepth); } unset($dateDepth); unset($positionDepth); unset($lastAccess); } } //$site = iconv('windows-1251', 'utf-8', $site); /* echo"<pre>"; print_r($PositionData); echo"</pre>"; exit; */ if ($_GET['keyword']) { $GetKeyword = $_GET['keyword']; foreach ($PositionData as $k => $v) { if ($GetKeyword == $v[0]) { break; } } $ArrayPositionData = $PositionData; $PositionData = array($DepthData[$k], $ArrayPositionData[$k]); } else { $ArrayPositionData = $PositionData; $PositionData = array($DepthData[0], $ArrayPositionData[0]); } $ObjDb->db_close(); return array('ArrayPositionData' => $ArrayPositionData, 'PositionData' => $PositionData, 'site' => $site, 'seacher' => $seacher); }
function create_account() { $nick = strip_tags($_POST['nick']); $day = strip_tags($_POST['date0']); $month = strip_tags($_POST['date1']); $year = strip_tags($_POST['date2']); $password1 = strip_tags($_POST['password1']); $password2 = strip_tags($_POST['password2']); $sex = strip_tags($_POST['sex']); $email = strip_tags($_POST['email']); $password = strip_tags($_POST['password']); if (empty($nick)) { self::error_message("Введите свой ник!"); } if (strlen($password1) < 5) { self::error_message("Короткий пароль!"); } /* if(empty($password1)) {error_message("Введите пароль снова для проверки!"); } */ if (strlen($password2) < 5) { self::error_message("Короткий пароль!"); } /* if(empty($password2)) {error_message("Введите пароль снова для проверки!"); } */ if (empty($email)) { self::error_message("Введите свой e-mail-адрес!"); } if (filter_var($email, FILTER_VALIDATE_EMAIL) == false) { self::error_message("Неверный формат e-mail-адреса!"); } if ($sex == null) { self::error_message("Укажите ваш пол!"); } if ($password1 != $password2) { self::error_message("Пароли не совпадают!"); } if ($password != $_SESSION['password']) { self::error_message("Ключевой пароль не верен!"); } $ObjDb = new connect_db(); $ObjDb->db_connect(); if (Model_register::in_use_nickname($nick)) { Model_register::error_message("Ник {$nick} уже используется. Пожалуйста, выберите другой."); } if (Model_register::in_use_email($email)) { Model_register::error_message("E-mail {$email} уже используется. Пожалуйста, выберите другой."); } $nick = iconv('utf-8', 'windows-1251', $nick); $password1 = iconv('utf-8', 'windows-1251', $password1); $email = iconv('utf-8', 'windows-1251', $email); $query = "START TRANSACTION;"; $result = mysql_query($query); if (!$result) { Model_register::error_message(mysql_error()); } $query = "INSERT INTO {$this->user_tablename} VALUES(NULL,'{$nick}','{$sex}','{$password1}','{$email}')"; $result = mysql_query($query); if (!$result) { Model_register::error_message(mysql_error()); } $query = "SELECT user_id FROM {$this->user_tablename} WHERE nickname = '{$nick}' AND userpassword = '******'"; $result = mysql_query($query); if (!$result) { Model_register::error_message(mysql_error()); } $query_data = mysql_fetch_array($result); $user_id = $query_data['user_id']; foreach ($this->seacher as $value) { $query = "INSERT INTO {$this->count_tablename} VALUES('{$user_id}','0','{$value}',CURRENT_TIMESTAMP)"; $result = mysql_query($query); if (!$result) { Model_register::error_message(mysql_error()); } } $query = "COMMIT;"; $result = mysql_query($query); if (!$result) { Model_register::error_message(mysql_error()); } $ObjDb->db_close(); $nick = iconv('windows-1251', 'utf-8', $nick); $password1 = iconv('windows-1251', 'utf-8', $password1); $_SESSION['user_id'] = $user_id; $_SESSION['nickname'] = $nick; $_SESSION['userpassword'] = $password1; $_SESSION["redirect"] = 1; }
function save_keyword($Data) { global $site_tablename, $user_id; //-------------------------------работа с таблицей данных-------------------------------- $ObjDb = new connect_db(); $ObjDb->db_connect(); //-------------------------запись и удаление запросов из таблицы--------------------------- foreach ($Data as $SiteKeyword) { $site = $SiteKeyword[0]; $k = count($SiteKeyword) - 1; //$site = iconv ('utf-8', 'windows-1251', $site); $query = "SELECT keyword FROM {$site_tablename} WHERE user_id = '{$user_id}' AND site = '{$site}'"; $result = mysql_query($query); if (!$result) { print mysql_error(); exit; //return 0; } for ($i = 0; $i < mysql_num_rows($result); $i++) { $query_data = mysql_fetch_array($result); $keyword = $query_data['keyword']; if ($keyword == null && mysql_num_rows($result) == 1) { $KeywordData = array(); } else { //$KeywordData[] = iconv ('windows-1251', 'utf-8', $keyword); $KeywordData[] = $keyword; } } $KeywordsTemp = array_splice($SiteKeyword, -$k, $k); $deleted_keywords = array_unique(array_diff($KeywordData, $KeywordsTemp)); $add_keywords = array_unique(array_diff($KeywordsTemp, $KeywordData)); if (count($add_keywords) != 0 && count($KeywordData) == 0) { $query = "DELETE FROM {$site_tablename} WHERE user_id = {$user_id} AND site = '{$site}' AND keyword IS NULL "; $result = mysql_query($query); if (!$result) { print mysql_error(); exit; //return 0; } } foreach ($add_keywords as $keyword) { //$keyword = iconv ('utf-8', 'windows-1251', $keyword); $query = "INSERT INTO {$site_tablename} VALUES(NULL,'{$user_id}','{$site}','{$keyword}')"; $result = mysql_query($query); if (!$result) { print mysql_error(); exit; //return 0; } } foreach ($deleted_keywords as $keyword) { //$keyword = iconv ('utf-8', 'windows-1251', $keyword); $query = "DELETE FROM {$site_tablename} WHERE user_id = {$user_id} AND site = '{$site}' AND keyword = '{$keyword}' "; $result = mysql_query($query); if (!$result) { print mysql_error(); exit; //return 0; } } //------------------------------случай удаления все ключевых слов---- if (count($deleted_keywords) == count($KeywordData) && count($KeywordData) != 0 && count($add_keywords) == 0) { $query = "INSERT INTO {$site_tablename} VALUES(NULL,'{$user_id}','{$site}',NULL)"; $result = mysql_query($query); if (!$result) { print mysql_error(); exit; //return 0; } } unset($SiteData); unset($KeywordData); } $ObjDb->db_close(); return 1; }
function save_email() { if ($this->email == null) { return; } if (empty($this->email)) { self::error_message("Введите свой e-mail-адрес!"); } if (filter_var($this->email, FILTER_VALIDATE_EMAIL) == false) { self::error_message("Неверный формат e-mail-адреса!"); } if ($this->pass != $_SESSION['password']) { self::error_message("Ключевой пароль не верен!"); } $ObjDb = new connect_db(); $ObjDb->db_connect(); if (self::in_use_email($this->email)) { self::error_message("E-mail {$this->email} уже используется. Пожалуйста, выберите другой."); } $query = "START TRANSACTION;"; $result = mysql_query($query); if (!$result) { self::error_message(mysql_error()); } $query = "UPDATE {$this->user_tablename} SET email = '{$this->email}' WHERE user_id = '{$this->user_id}'"; $result = mysql_query($query); if (!$result) { self::error_message(mysql_error()); } $query = "COMMIT;"; $result = mysql_query($query); if (!$result) { self::error_message(mysql_error()); } $ObjDb->db_close(); echo 'Email успешно изменен.'; }
function do_authentication() { $filename = basename($_SERVER['SCRIPT_FILENAME']); $PHP_SELF = $_SERVER['PHP_SELF']; if (!$_SESSION['nickname']) { if (!isset($this->nickname)) { authentication::login_form(); exit; } else { $_SESSION['userpassword'] = $this->userpassword; $_SESSION['nickname'] = $this->nickname; } $nickname = iconv('utf-8', 'windows-1251', $this->nickname); $userpassword = iconv('utf-8', 'windows-1251', $this->userpassword); $ObjDb = new connect_db(); $link_id = $ObjDb->db_connect(); $query = "SELECT * FROM {$this->user_tablename} WHERE nickname = '{$nickname}' AND userpassword = '******'"; $result = mysql_query($query); $query_data = mysql_fetch_assoc($result); $user_id = $query_data['user_id']; $_SESSION['user_id'] = $user_id; if (!mysql_num_rows($result)) { $_SESSION['nickname'] = null; $_SESSION['userpassword'] = null; $_SESSION['user_id'] = null; return 1; } else { $query = "SELECT user_id FROM {$this->access_log_tablename} WHERE page = '{$filename}'\n 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 \n \tWHERE page = '{$filename}' AND user_id = '{$user_id}'"; } mysql_query($query); $num_rows = mysql_affected_rows($link_id); if ($num_rows != 1) { die(sql_error()); } } $ObjDb->db_close(); } elseif ($_SESSION['nickname'] && $_SESSION['userpassword']) { $nickname = $_SESSION['nickname']; $filename = basename($_SERVER['SCRIPT_FILENAME']); $ObjDb = new connect_db($this->dbhost, $this->dbusername, $this->dbuserpassword, $this->dbname); $link_id = $ObjDb->db_connect(); $nickname = iconv('utf-8', 'windows-1251', $nickname); $query = "select user_id from users where nickname='{$nickname}'"; $result = mysql_query($query); $query_data = mysql_fetch_assoc($result); $user_id = $query_data['user_id']; $nickname = iconv('windows-1251', 'utf-8', $nickname); $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 \n WHERE page = '{$filename}' AND user_id = '{$user_id}'"; } mysql_query($query); $num_rows = mysql_affected_rows($link_id); if ($num_rows != 1) { die(sql_error()); } $ObjDb->db_close(); } }
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; }