Esempio n. 1
0
 public function get_data()
 {
     $data = array();
     $err = array();
     $routes = explode('/', $_SERVER['REQUEST_URI']);
     if (empty($_SESSION['login']) or empty($_SESSION['id'])) {
         $data['user']['reg'] = '0';
     } else {
         $data['user']['reg'] = '1';
         $data['user']['login'] = $_SESSION['login'];
     }
     if (!empty($routes['2']) && isset($routes['2'])) {
         $db = new MysqliDB();
         $page = 5;
         // Записей на страницу
         $tag_id = $db->query("SELECT id FROM tag WHERE link='" . $routes['2'] . "'", 1);
         $question_id = $db->query("SELECT question_id FROM tag_id WHERE tag_id='" . $tag_id['id'] . "' ORDER BY question_id DESC LIMIT 0,{$page}", 3);
         $count = $db->query("SELECT COUNT(*) as question_id FROM tag_id WHERE tag_id='" . $tag_id['id'] . "'", 1);
         $data['tag_id'] = $tag_id['id'];
         $data['count'] = $page;
         $data['page_count'] = ceil($count['question_id'] / $page);
         for ($i = 0; $i < count($question_id); $i++) {
             $string = $db->query("SELECT id,question FROM question WHERE id='" . $question_id[$i]['question_id'] . "'", 1);
             $str = explode('<div', $string['question']);
             $str = explode('&nbsp;', $str[0]);
             $string['question'] = strip_tags($str[0]);
             $data['question'][$i] = $string;
         }
         $data['otvet'] = "gut";
     } else {
         header("Refresh: 1; URL=/main");
     }
     return $data;
 }
Esempio n. 2
0
 public function get_data()
 {
     $data = array();
     $db = new MysqliDB();
     if (empty($_SESSION['login']) or empty($_SESSION['id'])) {
         $data['user']['reg'] = '0';
     } else {
         $data['user']['reg'] = '1';
         $data['user']['login'] = $_SESSION['login'];
     }
     $routes = explode('/', $_SERVER['REQUEST_URI']);
     $user = $db->query("SELECT login FROM users WHERE id='" . $_SESSION['id'] . "'", 1);
     if ($user['login'] == $routes[2]) {
         // если это наша страница
         $data['page_status'] = "my";
         if (isset($routes[3]) && $routes[3] == "off") {
             $login = $_SESSION['login'];
             unset($_SESSION['login']);
             unset($_SESSION['id']);
             unset($_SESSION['status']);
             header("Location: /users/{$login}", true, 303);
         }
     } else {
         // если это чужая страница
         $data['page_status'] = "stranger";
     }
     return $data;
 }
Esempio n. 3
0
        ?>
)</h3>
					<?php 
        echo MysqliDB::result_to_html_table($stdObjTableInfo->rslFksFrom);
        ?>
				</div>
				<div id="divFKs<?php 
        echo $stdObjTableInfo->tableName;
        ?>
">
					<h3>FKs TO (Tablas que contienen referencias a <?php 
        echo $stdObjTableInfo->tableName;
        ?>
)</h3>
					<?php 
        echo MysqliDB::result_to_html_table($stdObjTableInfo->rslFksTo);
        ?>
				</div>
			</div>
<?php 
    }
}
?>
		</div>
		<input type="submit" />
	</fieldset>
</form>
<form action="<?php 
echo BASE_URL . FILE_APP;
?>
" method="post" enctype="multipart/form-data"
Esempio n. 4
0
<?php

if (isset($_SERVER['HTTP_X_REQUESTED_WITH']) && !empty($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest') {
    require_once 'application/lib/MysqliDb.php';
    $db = new MysqliDB();
    if ($_REQUEST['action'] == "paginator_question") {
        $page1 = $_POST['page'] * $_POST['count'];
        $count = $_POST['count'];
        $question = $db->query("SELECT id,question FROM question ORDER BY date DESC LIMIT {$page1},{$count}", 3);
        for ($i = 0; $i < count($question); $i++) {
            $str = explode('<div', $question[$i]['question']);
            $str = explode('&nbsp;', $str[0]);
            $str[0] = strip_tags($str[0]);
            printf("<li>%s <a href='/admin/content/del/%s'><i class='fa fa-power-off'></i></a><a href='/admin/content/upd/%s'><i class='fa fa-pencil'></i></a></li>", $str[0], $question[$i]['id'], $question[$i]['id']);
        }
    } elseif ($_REQUEST['action'] == "paginator_tag") {
        $page1 = $_POST['page'] * $_POST['count'];
        $count = $_POST['count'];
        $tag = $db->query("SELECT id,tag FROM tag ORDER BY id DESC LIMIT {$page1},{$count}", 3);
        for ($i = 0; $i < count($tag); $i++) {
            $str = explode('<div', $tag[$i]['tag']);
            $str = explode('&nbsp;', $str[0]);
            $str[0] = strip_tags($str[0]);
            printf("<li>%s <a href='/admin/tag/del/%s'><i class='fa fa-power-off'></i></a><a href='/admin/tag/upd/%s'><i class='fa fa-pencil'></i></a></li>", $str[0], $tag[$i]['id'], $tag[$i]['id']);
        }
    } elseif ($_REQUEST['action'] == "paginator_users") {
        $page1 = $_POST['page'] * $_POST['count'];
        $count = $_POST['count'];
        $users = $db->query("SELECT id,login,status FROM users ORDER BY id DESC LIMIT {$page1},{$count}", 3);
        for ($i = 0; $i < count($users); $i++) {
            $str = explode('<div', $users[$i]['login']);
Esempio n. 5
0
	/**
	 * Recupera datos en diversos formatos
	 * @param  string $query Consulta SQL a ejecutar
	 * @param  string $tipo  Tipo de resultado deseado (mysqli_result | var | obj | arrVars | arrArrs | arrObjs | num_rows | html_table)
	 * @return mixed mysqli_result | string | object | array | integer
	 */
	private function get_data($query,$tipo="mysqli_result") {
		$qResult=$this->query($query);
		switch ($tipo) {
			case "mysqli_result":
				$result=$qResult;
			case "var":
				$row=$qResult->fetch_array();
				$result=$row[0];
				break;
			case "obj":
				$result=$qResult->fetch_object();
				break;
			case "arrVars":
				$result=array();
				while ($row=$qResult->fetch_array(MYSQLI_ASSOC)) {
					array_push($result,$row[0]);
				}
				break;
			case "arrArrs":
				//$result=$qResult->fetch_all(MYSQLI_BOTH);//<- Según el manual esta disponible a partir de PHP 5.3.0 pero probé en dl333 con PHP 5.3.3 y undefined method mysqli_result::fetch_all(), quiza porque Available only with mysqlnd (nd=native driver)
				$result=array();
				while ($row=$qResult->fetch_array(MYSQLI_ASSOC)) {
					array_push($result,$row);
				}
				break;
			case "arrObjs":
				$result=array();
				while ($row=$qResult->fetch_object()) {
					array_push($result,$row);
				}
				break;
			case "num_rows":
				$result=$qResult->num_rows;
				break;
			case "html_table":
				$result=MysqliDB::mysqli_result_to_html_table($qResult);
				break;
		}
		$qResult->free();
		return $result;
	}
Esempio n. 6
0
 public function get_data()
 {
     $data = array();
     $err = array();
     $routes = explode('/', $_SERVER['REQUEST_URI']);
     if (isset($_SESSION['login']) && $_SESSION['status'] > 1) {
         $data['otvet'] = "main";
         $data['status'] = $_SESSION['status'];
     } else {
         $data['otvet'] = "verification";
     }
     if (isset($routes[2]) && $routes[2] == "content" && isset($_SESSION['login']) && $_SESSION['status'] > 1) {
         $data['otvet'] = "content";
         if (isset($routes[3])) {
             if ($routes[3] == "add") {
                 $data['action'] = "content_add";
             } elseif ($routes[3] == "upd") {
                 if (isset($routes[4]) && is_numeric($routes[4])) {
                     $data['action'] = "content_upd";
                     $db = new MysqliDB();
                     $data['content_list'] = $db->query("SELECT * FROM question WHERE id='" . $routes[4] . "'", 1);
                     $tag = $db->query("SELECT tag_id FROM tag_id WHERE question_id='" . $routes[4] . "'", 3);
                     for ($i = 0; $i < count($tag); $i++) {
                         $tag[$i] = $db->query("SELECT tag FROM tag WHERE id='" . $tag[$i]['tag_id'] . "'", 1);
                     }
                     for ($i = 0; $i < count($tag); $i++) {
                         $tag[$i] = $tag[$i]['tag'];
                     }
                     $data['tag'] = implode(",", $tag);
                     $data['content_list']['answer'] = unserialize($data['content_list']['answer']);
                     $data['content_list']['cout'] = count($data['content_list']['answer']['answer']) - 1;
                 }
             } elseif ($routes[3] == "del" && is_numeric($routes[4]) && $_SESSION['status'] > 2) {
                 $db = new MysqliDB();
                 // Это для тегов
                 $tag = $db->query("SELECT tag_id FROM tag_id WHERE question_id='" . $routes['4'] . "'", 3);
                 for ($i = 0; $i < count($tag); $i++) {
                     $db->query("UPDATE tag SET count=count-1 WHERE id = '" . $tag[$i]['tag_id'] . "'");
                     $count = $db->query("SELECT count FROM tag WHERE id='" . $tag[$i]['tag_id'] . "'", 1);
                     if ($count['count'] < 1) {
                         $db->query("DELETE FROM tag WHERE id='" . $tag[$i]['tag_id'] . "'");
                     }
                 }
                 $db->query("DELETE FROM tag_id WHERE question_id='" . $routes['4'] . "'");
                 $result = $db->query("DELETE FROM question WHERE id='" . $routes['4'] . "'");
                 $data['otvet'] = "gut";
             } else {
                 header('Location: /admin/content', true, 303);
             }
         } else {
             $data['action'] = "content_list";
             $db = new MysqliDB();
             $page = 8;
             $count = $db->query("SELECT COUNT(*) as id FROM question", 1);
             $data['count'] = $page;
             $data['page_count'] = ceil($count['id'] / $page);
             $data['content_list'] = $db->query("SELECT id,question FROM question ORDER BY date DESC LIMIT 0,{$page}", 3);
             for ($i = 0; $i < count($data['content_list']); $i++) {
                 $str = explode('<div', $data['content_list'][$i]['question']);
                 $str = explode('&nbsp;', $str[0]);
                 $data['content_list'][$i]['question'] = strip_tags($str[0]);
             }
         }
     } elseif (isset($routes[2]) && $routes[2] == "users" && isset($_SESSION['login']) && $_SESSION['status'] > 2) {
         $data['otvet'] = "users";
         if (isset($routes[3])) {
             if ($routes[3] == "add") {
                 $data['action'] = "users_add";
             } elseif ($routes[3] == "upd") {
                 if (isset($routes[4]) && is_numeric($routes[4])) {
                     $data['action'] = "users_upd";
                     $db = new MysqliDB();
                     $data['users_list'] = $db->query("SELECT * FROM users WHERE id='" . $routes[4] . "'", 1);
                 }
             } elseif ($routes[3] == "del" && is_numeric($routes[4])) {
                 $db = new MysqliDB();
                 $db->query("DELETE FROM users WHERE id='" . $routes['4'] . "'");
                 $data['otvet'] = "gut";
             }
         } else {
             $data['action'] = "users_list";
             $db = new MysqliDB();
             $page = 8;
             $count = $db->query("SELECT COUNT(*) as id FROM users", 1);
             $data['count'] = $page;
             $data['page_count'] = ceil($count['id'] / $page);
             $data['users_list'] = $db->query("SELECT id,login,status FROM users ORDER BY id DESC LIMIT 0,{$page}", 3);
         }
     } elseif (isset($routes[2]) && $routes[2] == "tag" && isset($_SESSION['login']) && $_SESSION['status'] > 1) {
         $data['otvet'] = "tag";
         if (isset($routes[3])) {
             if ($routes[3] == "add") {
                 $data['action'] = "tag_add";
             } elseif ($routes[3] == "upd") {
                 if (isset($routes[4]) && is_numeric($routes[4])) {
                     $data['action'] = "tag_upd";
                     $db = new MysqliDB();
                     $data['tag'] = $db->query("SELECT * FROM tag WHERE id='" . $routes[4] . "'", 1);
                 } else {
                     header('Location: /admin/tag', true, 303);
                 }
             } elseif ($routes[3] == "del" && is_numeric($routes[4])) {
                 $db = new MysqliDB();
                 $result = $db->query("DELETE FROM tag WHERE id='" . $routes['4'] . "'");
                 $result = $db->query("DELETE FROM tag_id WHERE tag_id='" . $routes['4'] . "'");
                 $data['otvet'] = "gut";
             } else {
                 header('Location: /admin/tag', true, 303);
             }
         } else {
             $data['action'] = "tag_list";
             $db = new MysqliDB();
             $page = 8;
             $count = $db->query("SELECT COUNT(*) as id FROM tag", 1);
             $data['count'] = $page;
             $data['page_count'] = ceil($count['id'] / $page);
             $data['tag_list'] = $db->query("SELECT id,tag FROM tag ORDER BY id DESC LIMIT 0,{$page}", 3);
         }
     } elseif (isset($routes[2]) && $routes[2] == "messages" && isset($_SESSION['login']) && $_SESSION['status'] > 1) {
         $data['otvet'] = "messages";
     }
     if (isset($_POST['verification'])) {
         if (isset($_POST['login'])) {
             $login = $_POST['login'];
             if ($login == '') {
                 unset($login);
             }
         }
         if (isset($_POST['password'])) {
             $password = $_POST['password'];
             if ($password == '') {
                 unset($password);
             }
         }
         if (empty($login) or empty($password)) {
             header('Location: /admin', true, 303);
         } else {
             $db = new MysqliDB();
             $password = md5(md5($password));
             $verification = $db->query("SELECT * FROM users WHERE login='******'", 1);
             if ($verification['password'] == $password && $verification['status'] >= 2) {
                 $_SESSION['id'] = $verification['id'];
                 $_SESSION['login'] = $verification['login'];
                 $_SESSION['status'] = $verification['status'];
                 $data['status'] = $_SESSION['status'];
                 header('Location: /admin', true, 303);
             } else {
                 header('Location: /admin', true, 303);
             }
         }
     } elseif (isset($_POST['go'])) {
         // добавление вопроса
         if (isset($_POST['question'])) {
             $question = $_POST['question'];
             if ($question == '') {
                 unset($question);
             }
         }
         if (isset($_POST['answer'])) {
             $answer = $_POST['answer'];
             if ($answer == '') {
                 unset($answer);
             }
         }
         if (isset($_POST['vibor'])) {
             $vibor = $_POST['vibor'];
             if ($vibor == '') {
                 unset($vibors);
             }
         }
         if (isset($_POST['tag'])) {
             $tag = $_POST['tag'];
             if ($tag == '') {
                 $tag = "no tag";
             }
         }
         if (empty($question) or empty($answer)) {
             $err[] = "Вы ввели не всю информацию, вернитесь назад и заполните все поля!";
             $data['otvet'] = "err";
         } else {
             $db = new MysqliDB();
             // Это для чекбоксов
             $cout = count($_POST['answer']);
             $new_answer = array_values($answer);
             $key = array();
             $result = array();
             $key['answer'] = array_keys($answer);
             if (isset($vibor)) {
                 $key['vibor'] = array_keys($vibor);
                 $y = 0;
                 for ($i = 0; $i < $cout; $i++) {
                     $result['answer'][] = $new_answer["{$i}"];
                     if ($key['answer']["{$i}"] == $key['vibor']["{$y}"]) {
                         $y++;
                         $result['vibor'][] = "on";
                     } else {
                         $result['vibor'][] = "off";
                     }
                 }
             } else {
                 for ($i = 0; $i < $cout; $i++) {
                     $result['answer'][] = $new_answer["{$i}"];
                     $result['vibor'][] = "off";
                 }
             }
             $answer = serialize($result);
             $answer = addcslashes($answer, "\\");
             $query1 = $db->query("INSERT INTO question (question,answer,author,date) VALUES('{$question}','{$answer}','" . $_SESSION['login'] . "',NOW())", "id");
             // Это для тегов
             $tag = explode(",", $tag);
             $array_tag = array();
             for ($i = 0; $i < count($tag); $i++) {
                 $demo = $db->query("SELECT id FROM tag WHERE tag='" . $tag[$i] . "'", 1);
                 if (count($demo) == 0) {
                     $link = $this->rus2translit($tag[$i]);
                     $query = $db->query("INSERT INTO tag (tag,link,count) VALUES('" . $tag[$i] . "','{$link}','1')");
                 } else {
                     $db->query("UPDATE tag SET count=count+1 WHERE tag = '" . $tag[$i] . "'");
                 }
                 $array_tag[] = $db->query("SELECT id FROM tag WHERE tag='" . $tag[$i] . "'", 1);
                 $query = $db->query("INSERT INTO tag_id (tag_id,question_id) VALUES('" . $array_tag[$i]['id'] . "','{$query1}')");
             }
             $data['otvet'] = "gut";
         }
     } elseif (isset($_POST['upd'])) {
         // обновление вопроса
         if (isset($_POST['question'])) {
             $question = $_POST['question'];
             if ($question == '') {
                 unset($question);
             }
         }
         if (isset($_POST['answer'])) {
             $answer = $_POST['answer'];
             if ($answer == '') {
                 unset($answer);
             }
         }
         if (isset($_POST['vibor']) or isset($_POST['id'])) {
             $vibor = $_POST['vibor'];
             if ($vibor == '') {
                 unset($vibors);
             }
         }
         if (isset($_POST['tag'])) {
             $tag = $_POST['tag'];
             if ($tag == '') {
                 unset($tag);
             }
         }
         if (empty($question) or empty($answer) or empty($_POST['v_id'])) {
             $err[] = "Вы ввели не всю информацию, вернитесь назад и заполните все поля!";
             $data['otvet'] = "err";
         } else {
             $db = new MysqliDB();
             $cout = count($_POST['answer']);
             $new_answer = array_values($answer);
             $key = array();
             $result = array();
             $key['answer'] = array_keys($answer);
             if (isset($vibor)) {
                 $key['vibor'] = array_keys($vibor);
                 $y = 0;
                 for ($i = 0; $i < $cout; $i++) {
                     $result['answer'][] = $new_answer["{$i}"];
                     if ($key['answer']["{$i}"] == $key['vibor']["{$y}"]) {
                         $y++;
                         $result['vibor'][] = "on";
                     } else {
                         $result['vibor'][] = "off";
                     }
                 }
             } else {
                 for ($i = 0; $i < $cout; $i++) {
                     $result['answer'][] = $new_answer["{$i}"];
                     $result['vibor'][] = "off";
                 }
             }
             $result = serialize($result);
             $result = addcslashes($result, "\\");
             $db->query("UPDATE question SET question='{$question}', answer='{$result}', date=NOW() WHERE id = '" . $_POST['v_id'] . "'");
             // Это для тегов
             $tag = explode(",", $tag);
             $tag_old = $db->query("SELECT tag_id FROM tag_id WHERE question_id='" . $_POST['v_id'] . "'", 3);
             for ($i = 0; $i < count($tag_old); $i++) {
                 $tag_old[$i] = $db->query("SELECT tag FROM tag WHERE id='" . $tag_old[$i]['tag_id'] . "'", 1);
                 $tag_old[$i] = $tag_old[$i]['tag'];
             }
             $tag_new = array_values(array_diff($tag, $tag_old));
             $tag_del = array_values(array_diff($tag_old, $tag));
             for ($i = 0; $i < count($tag_new); $i++) {
                 $tag_id = $db->query("SELECT id FROM tag WHERE tag='" . $tag_new[$i] . "'", 1);
                 if (count($tag_id) > 0) {
                     $db->query("UPDATE tag SET count=count+1 WHERE tag = '" . $tag_new[$i] . "'");
                     $tag_id = $tag_id['id'];
                 } else {
                     $link = $this->rus2translit($tag_new[$i]);
                     $tag_id = $db->query("INSERT INTO tag (tag,link,count) VALUES('" . $tag_new[$i] . "','{$link}','1')", "id");
                 }
                 $db->query("INSERT INTO tag_id (tag_id,question_id) VALUES('" . $tag_id . "','" . $_POST['v_id'] . "')");
             }
             for ($i = 0; $i < count($tag_del); $i++) {
                 $db->query("UPDATE tag SET count=count-1 WHERE tag = '" . $tag_del[$i] . "'");
                 $tag = $db->query("SELECT id,count FROM tag WHERE tag='" . $tag_del[$i] . "'", 1);
                 if ($tag['count'] < 1) {
                     $db->query("DELETE FROM tag WHERE id='" . $tag['id'] . "'");
                 }
                 $db->query("DELETE FROM tag_id WHERE tag_id='" . $tag['id'] . "' AND question_id='" . $_POST['v_id'] . "'");
             }
             $data['otvet'] = "gut";
         }
     } elseif (isset($_POST['users_add'])) {
         // добавление юзера
         if (isset($_POST['login'])) {
             $login = $_POST['login'];
             if ($login == '') {
                 unset($login);
             }
         }
         if (isset($_POST['password'])) {
             $password = $_POST['password'];
             if ($password == '') {
                 unset($password);
             }
         }
         if (isset($_POST['email'])) {
             $email = $_POST['email'];
             if ($email == '') {
                 unset($email);
             }
         }
         if (isset($_POST['status'])) {
             $status = $_POST['status'];
             if ($status == '') {
                 unset($status);
             }
         }
         if (empty($login) or empty($password) or empty($email) or empty($status)) {
             $err[] = "Вы ввели не всю информацию, вернитесь назад и заполните все поля!";
             $data['otvet'] = "err";
         } else {
             $login = $this->verification($login);
             $password = $this->verification($password);
             $email = $this->verification($email);
             $status = $this->verification($status);
             $password = md5(md5($password));
             $db = new MysqliDB();
             $query = $db->query("INSERT INTO users (login,password,email,a_date,b_date,ip,status) VALUES('{$login}','{$password}','{$email}',NOW(),NOW(),'" . $_SERVER['REMOTE_ADDR'] . "','{$status}')");
             $data['otvet'] = "gut";
         }
     } elseif (isset($_POST['users_upd'])) {
         // обновление юзера
         if (isset($_POST['login'])) {
             $login = $_POST['login'];
             if ($login == '') {
                 unset($login);
             }
         }
         if (isset($_POST['password'])) {
             $password = $_POST['password'];
             if ($password == '') {
                 unset($password);
             }
         }
         if (isset($_POST['email'])) {
             $email = $_POST['email'];
             if ($email == '') {
                 unset($email);
             }
         }
         if (isset($_POST['status'])) {
             $status = $_POST['status'];
             if ($status == '') {
                 unset($status);
             }
         }
         if (empty($login) or empty($password) or empty($email) or empty($status)) {
             header('Location: /admin/users', true, 303);
         } else {
             $login = $this->verification($login);
             $password = $this->verification($password);
             $email = $this->verification($email);
             $status = $this->verification($status);
             $password = md5(md5($password));
             $db = new MysqliDB();
             $db->query("UPDATE users SET login='******', password='******', email='{$email}', status='{$status}' WHERE id = '" . $_POST['u_id'] . "'");
             $data['otvet'] = "gut";
         }
     } elseif (isset($_POST['tag_add'])) {
         // добавление тега
         if (isset($_POST['tag'])) {
             $tag = $_POST['tag'];
             if ($tag == '') {
                 unset($tag);
             }
         }
         if (isset($_POST['link'])) {
             $link = $_POST['link'];
             if ($link == '') {
                 unset($link);
             }
         }
         $db = new MysqliDB();
         if (empty($tag) or empty($link)) {
             $err[] = "Вы ввели не всю информацию, вернитесь назад и заполните все поля!";
             $data['otvet'] = "err";
         } else {
             $demo = $db->query("SELECT id FROM tag WHERE tag='{$tag}'", 1);
             if (count($demo) > 0) {
                 $err[] = "Извените, такой тег уже есть.";
             }
             $link = $this->rus2translit($link);
             $demo = $db->query("SELECT id FROM tag WHERE link='{$link}'", 1);
             if (count($demo) > 0) {
                 $err[] = "Извените, такой link уже есть.";
             }
             if (count($err) == 0) {
                 $tag = $this->verification($tag);
                 $link = $this->verification($link);
                 $query = $db->query("INSERT INTO tag (tag,link) VALUES('{$tag}','{$link}')");
                 $data['otvet'] = "gut";
             } else {
                 $data['otvet'] = "err";
             }
         }
     } elseif (isset($_POST['tag_upd'])) {
         // обновление тега
         if (isset($_POST['tag'])) {
             $tag = $_POST['tag'];
             if ($tag == '') {
                 unset($tag);
             }
         }
         if (isset($_POST['link'])) {
             $link = $_POST['link'];
             if ($link == '') {
                 unset($link);
             }
         }
         if (isset($_POST['id'])) {
             $id = $_POST['id'];
             if ($id == '') {
                 unset($id);
             }
         }
         $db = new MysqliDB();
         if (empty($tag) or empty($link) or empty($id)) {
             $err[] = "Вы ввели не всю информацию, вернитесь назад и заполните все поля!";
             $data['otvet'] = "err";
         } else {
             $demo = $db->query("SELECT tag,link FROM tag WHERE id='{$id}'", 1);
             if ($demo['tag'] !== $tag) {
                 $demo1 = $db->query("SELECT id FROM tag WHERE tag='{$tag}'", 1);
                 if (count($demo1) > 0) {
                     $err[] = "Извените, такой тег уже есть.";
                 }
             }
             $link = $this->rus2translit($link);
             if ($demo['link'] !== $link) {
                 $demo1 = $db->query("SELECT id FROM tag WHERE link='{$link}'", 1);
                 if (count($demo1) > 0) {
                     $err[] = "Извените, такой link уже есть.";
                 }
             }
             if (count($err) == 0) {
                 $demo = $db->query("SELECT id FROM tag WHERE tag='{$tag}'", 3);
                 $db->query("UPDATE tag SET tag='{$tag}', link='{$link}' WHERE id = '" . $_POST['id'] . "'");
                 $data['otvet'] = "gut";
             } else {
                 $data['otvet'] = "err";
             }
         }
     }
     if ($data['otvet'] == "gut") {
         header("Refresh: 10; URL=/admin");
     }
     $data['status'] = $_SESSION['status'];
     $data['err'] = $err;
     return $data;
 }
 public function __construct($host, $username, $password, $db)
 {
     $this->_mysqli = new mysqli($host, $username, $password, $db) or die('There was a problem connecting to the database');
     self::$_instance = $this;
 }
Esempio n. 8
0
<?php

if (isset($_SERVER['HTTP_X_REQUESTED_WITH']) && !empty($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest') {
    session_start();
    function verification($p)
    {
        $p = stripslashes($p);
        $p = htmlspecialchars($p);
        $p = trim($p);
        return $p;
    }
    require_once 'application/lib/MysqliDb.php';
    $db = new MysqliDB();
    if ($_REQUEST['action'] == "question_verify") {
        $verify = $db->query("SELECT answer FROM question WHERE id='" . $_POST['id'] . "'", 1);
        $verify['answer'] = unserialize($verify['answer']);
        $count1 = count($verify['answer']['vibor']);
        $err = 0;
        $arr = array();
        $count2 = count($_POST['checkbox']);
        for ($i = 0; $i < $count2; $i++) {
            $arr[$_POST['checkbox'][$i]['name']] = "on";
        }
        for ($i = 0; $i < $count1; $i++) {
            if (!isset($arr[$i])) {
                $arr[$i] = "off";
            }
        }
        for ($i = 0; $i < $count1; $i++) {
            if ($arr[$i] !== $verify['answer']['vibor'][$i]) {
                $err++;
Esempio n. 9
0
 public function get_data()
 {
     $data = array();
     $err = array();
     $routes = explode('/', $_SERVER['REQUEST_URI']);
     if (empty($_SESSION['login']) or empty($_SESSION['id'])) {
         $data['user']['reg'] = '0';
     } else {
         $data['user']['reg'] = '1';
         $data['user']['login'] = $_SESSION['login'];
     }
     if (isset($routes[1]) && $routes[1] == "question") {
         if (isset($routes[2]) && $routes[2] == "rand") {
             $data['otvet'] = "rand";
             $data['question'] = $this->rand_question();
         } elseif (isset($routes[2]) && is_numeric($routes[2])) {
             $db = new MysqliDB();
             $data['question'] = $db->query("SELECT * FROM question WHERE id='" . $routes[2] . "'", 1);
             if (count($data['question']['id']) == 1) {
                 $tag = $db->query("SELECT tag_id FROM tag_id WHERE question_id='" . $routes[2] . "'", 3);
                 $info = array();
                 for ($i = 0; $i < count($tag); $i++) {
                     $info[] = $db->query("SELECT tag,link FROM tag WHERE id='" . $tag[$i]['tag_id'] . "'", 1);
                 }
                 $data['question']['tag'] = $info;
                 $data['question']['answer'] = unserialize($data['question']['answer']);
                 $data['otvet'] = "rand";
                 $data['fix'] = "link";
             } else {
                 header('Location: /question/rand', true, 303);
             }
         } elseif (isset($routes[2]) && $routes[2] == "option") {
             $data['otvet'] = "option";
             $db = new MysqliDB();
             $page = 5;
             // Записей на страницу
             $data['tag'] = $db->query("SELECT tag,link FROM tag LIMIT 0,{$page}", 3);
             $count = $db->query("SELECT COUNT(*) as id FROM tag", 1);
             $data['count'] = $page;
             $data['page_count'] = ceil($count['id'] / $page);
         } elseif (isset($routes[2]) && $routes[2] == "tag" && isset($routes[3])) {
             $data['otvet'] = "go";
             $db = new MysqliDB();
             $tag = explode('&', $routes[3]);
             $str;
             for ($i = 0; $i < count($tag); $i++) {
                 $tag_id = $db->query("SELECT id FROM tag WHERE link='" . $tag[$i] . "'", 1);
                 if ($i + 1 !== count($tag)) {
                     $str = "'" . $tag_id['id'] . "'" . "," . $str;
                 } else {
                     $str = $str . "'" . $tag_id['id'] . "'";
                 }
             }
             $question_id = $db->query("SELECT DISTINCT question_id FROM tag_id WHERE tag_id IN (" . $str . ")", 3);
             for ($i = 0; $i < count($question_id); $i++) {
                 $question_arr[] = $question_id[$i]['question_id'];
             }
             $page = 1;
             // Записей на страницу
             $data['count'] = $page;
             $data['page_count'] = ceil(count($question_arr) / $page);
             shuffle($question_arr);
             $question = $db->query("SELECT id,question,answer FROM question WHERE id='" . $question_arr[0] . "'", 1);
             $question['answer'] = unserialize($question['answer']);
             $question_arr = implode(",", $question_arr);
             $data['question_arr'] = $question_arr;
             $data['question'] = $question;
         }
     }
     return $data;
 }