Advertisement
zero50x

Последний код

Jan 7th, 2021
799
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 6.01 KB | None | 0 0
  1.  
  2.     // Добавление автора кейса через ник
  3.     if(preg_match('/@[^\'\"=\s]{1,}/ismu', $telega["message"]["text"], $nickname)){
  4.  
  5.         // Проверяем режим
  6.         $st = $pdo->prepare(' SELECT `umod` FROM `mode` WHERE `tgid`=:tgid ');
  7.         $st->bindParam(':tgid', $telega["message"]["from"]["id"]);
  8.         $st->execute();
  9.         $mod = $st->fetchAll();
  10.  
  11.         echo '<pre>mod '; var_dump($mod); echo '</pre>';
  12.  
  13.  
  14.         // Проверяем добавлены ли темы
  15.         $st = $pdo->prepare(' SELECT `themes` FROM `adding` WHERE `tgid`=:tgid ');
  16.         $st->bindParam(':tgid', $telega["message"]["from"]["id"]);
  17.         $st->execute();
  18.         $themes = $st->fetchAll();
  19.  
  20.         echo '<pre>themes '; var_dump($themes); echo '</pre>';
  21.  
  22.         //Проверяем ник
  23.          echo '<pre>ник '; var_dump($nickname); echo '</pre>';
  24.  
  25.         // Если площадки ещё не добавлены - сообщаем и не даём работать дальше
  26.         if(!isset($themes[0]['themes']) || empty($themes[0]['themes'])){
  27.             $bot->sendMessage($telega["message"]["chat"]["id"], 'Вам нельзя добавить автора потому что у вас ещё не добавлены темы кейса. Введите их через запятую. Например: юрист, уголовный. Или: арт-терапия, песочная терапия');
  28.  
  29.         // Если всё ок и площадки добавлены
  30.         } else {
  31.  
  32.             $b=$pdo->prepare(" UPDATE `adding` SET `author`=:author, `tgid`=:tgid");
  33.             $b->bindParam(":author", $nickname[0]);
  34.             $b->bindParam(":tgid", $telega["message"]["from"]["id"]);
  35.             $b->execute();
  36.  
  37.             // Сбросим снова режим с добавление на обычный
  38.             $b=$pdo->prepare(" UPDATE `mode` SET `umod`='norm' WHERE `tgid`=:tgid");
  39.             $b->bindParam(":tgid",$telega["message"]["from"]["id"]);
  40.             $b->execute();
  41.  
  42.             // Тут пошло перемещение данных
  43.  
  44.             // Выбираем все данные из таблицы adding
  45.             $st = $pdo->prepare(' SELECT `id`,`tgid`,`tgnickmane`,`link`,`placement`,`themes`,`author` FROM `adding` WHERE `tgid`=:tgid ');
  46.             $st->bindParam(':tgid', $telega["message"]["from"]["id"]);
  47.             $st->execute();
  48.             $alldata = $st->fetchAll();
  49.  
  50.             // Выполняем основную вставку в таблицу кейсов
  51.             $b=$pdo->prepare("INSERT INTO `cases` SET `link`=:link, `author`=:author");
  52.             $b->bindParam(":link",$alldata[0]["link"]);
  53.             $b->bindParam(":author",$alldata[0]["author"]);
  54.             $insertNum = $b->execute();
  55.             $LastId = $pdo->lastInsertId();
  56.            
  57.             echo '<pre>LastId = '; var_dump($LastId); echo '</pre>';
  58.  
  59.             echo '<pre>insertNum '; var_dump($insertNum); echo '</pre>';
  60.  
  61.             // Выполняем вставку в таблицу площадок
  62.             $b=$pdo->prepare("INSERT INTO `placement` SET `caseid`=:caseid");
  63.             $b->bindParam(":caseid",$LastId);
  64.             $insertNum = $b->execute();
  65.             $LastPlacementId = $pdo->lastInsertId();
  66.  
  67.             echo '<pre>LastPlacementId '; var_dump($LastPlacementId); echo '</pre>';
  68.  
  69.             // Разбиваем площадки
  70.             $placements = explode(',', $alldata[0]["placement"]);
  71.             // Обновляем колонки
  72.             if(in_array('вк', $placements)){
  73.                 $b=$pdo->prepare(" UPDATE `placement` SET `vk`='1' WHERE `caseid`=:caseid");
  74.                 $b->bindParam(":caseid",$LastId);
  75.                 $b->execute();
  76.             }
  77.             if(in_array('инст', $placements)){
  78.                 $b=$pdo->prepare(" UPDATE `placement` SET `inst`='1' WHERE `caseid`=:caseid");
  79.                 $b->bindParam(":caseid",$LastId);
  80.                 $b->execute();
  81.             }
  82.             if(in_array('fb', $placements)){
  83.                 $b=$pdo->prepare(" UPDATE `placement` SET `fb`='1' WHERE `caseid`=:caseid");
  84.                 $b->bindParam(":caseid",$LastId);
  85.                 $b->execute();
  86.             }
  87.             if(in_array('tiktok', $placements)){
  88.                 $b=$pdo->prepare(" UPDATE `placement` SET `tiktok`='1' WHERE `caseid`=:caseid");
  89.                 $b->bindParam(":caseid",$LastId);
  90.                 $b->execute();
  91.             }
  92.             if(in_array('mytarget', $placements)){
  93.                 $b=$pdo->prepare(" UPDATE `placement` SET `mytarget`='1' WHERE `caseid`=:caseid");
  94.                 $b->bindParam(":caseid",$LastId);
  95.                 $b->execute();
  96.             }
  97.             if(in_array('одноклассники', $placements)){
  98.                 $b=$pdo->prepare(" UPDATE `placement` SET `okru`='1' WHERE `caseid`=:caseid");
  99.                 $b->bindParam(":caseid",$LastId);
  100.                 $b->execute();
  101.             }
  102.  
  103.             // Подготовка тем к добавлению
  104.             $themesList = explode(',', $alldata[0]['themes']);
  105.  
  106.             // Вставка пока в цикле
  107.             for ($i = 0; $i < count($themesList); $i++) {
  108.                 $themesList[$i] = trim($themesList[$i]);
  109.  
  110.                 $b=$pdo->prepare("INSERT INTO `themes` SET `nameru`=:nameru, `nameru_txt`=:nameru_txt");
  111.                 $b->bindParam(":nameru",$themesList[$i]);
  112.                 $b->bindParam(":nameru_txt",$themesList[$i]);
  113.                 $b->execute();
  114.             }
  115.  
  116.  
  117.             die('stop');
  118.  
  119.  
  120.             // TODO вот тут нужна проверка на изменение строки потому что мало ли что
  121.             $bot->sendMessage($telega["message"]["chat"]["id"], 'Автор успешно добавлен. Кейс отправлен на модерацию и после модерации попадёт в базу');
  122.         }
  123.  
  124.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement