AC:Advert - Рекламные сообщения

AC:Advert - Рекламные сообщения 2.1a

Kanzai

➜ To Be Continued
Сообщения
68
Реакции
54
А где кнопка выхода? Или я слепой.
 

diller110

Добрая душа
Сообщения
353
Реакции
278
@John Мне не показалось это необходимой фичей.
Если зачем то надо, заходишь на URL/advert/login вводишь пароль 0.
 

Googick

Участник
Сообщения
17
Реакции
8
И шо делать :\

'true', // false 'reason' => 'Description of failure' // Not enought access, etc. 'res' => Array('some data here'); // if status true, else null }; */ class DB { protected $db = null; protected $f3 = null; protected $t = ''; function __construct() { global $f3; $this->db = new DB\SQL('mysql:host='.$f3->get('db_host').';port=3306;dbname='.$f3->get('db_name'), $f3->get('db_user'), $f3->get('db_pass')); } /* List, Get, Edit, Add, Delete routes */ public function list2(...$arguments) { if(is_callable(array($this, '_'.$this->t.'List'))) { $res = $this->{'_'.$this->t.'List'}($arguments); } else $res = $this->fpack('Unknown List action'); $this->t = ''; return $res; } public function get(...$arguments) { if(is_callable(array($this, '_'.$this->t.'Get'))) { $res = $this->{'_'.$this->t.'Get'}($arguments); } else $res = $this->fpack('Unknown Get action'); $this->t = ''; return $res; } public function edit(...$arguments) { if(is_callable(array($this, '_'.$this->t.'Edit'))) { $res = $this->{'_'.$this->t.'Edit'}($arguments); } else $res = $this->fpack('Unknown Edit action'); $this->t = ''; return $res; } public function add(...$arguments) { if(is_callable(array($this, '_'.$this->t.'Add'))) { $res = $this->{'_'.$this->t.'Add'}($arguments); } else $res = $this->fpack('Unknown Add action'); $this->t = ''; return $res; } public function delete(...$arguments) { if(is_callable(array($this, '_'.$this->t.'Delete'))) { $res = $this->{'_'.$this->t.'Delete'}($arguments); } else $res = $this->fpack('Unknown Delete action'); $this->t = ''; return $res; } public function getTable($table) { return new DB\SQL\Mapper($this->db, $table); } protected function pack($result) { return array('status' => true, 'res' => $result); } protected function fpack($reason) { return array('status' => false, 'reason' => $reason, 'res' => null); } /* Objects */ function server() { $this->t = 'server'; return $this; } private function _serverList(...$arguments) { $res = $this->getTable('servers')->find(); if(empty($res)) { return $this->fpack('No servers'); } return $this->pack($res); } private function _serverGet(...$data) { $res = $this->getTable('servers')->load(array('srv_id=?', $data[0][0])); if(empty($res)) { return $this->fpack('No server found'); } return $this->pack($res); } private function _serverAdd(...$data) { $server = $this->getTable('servers'); if($server) { unset($data[0][0]['srv_id']); $server->copyFrom($data[0][0]); $server->save(); return $this->pack($server); } } private function _serverDelete(...$data) { $res = $this->getTable('servers')->load(array('srv_id=?', $data[0][0])); if(empty($res)) { return $this->fpack('No server found'); } $res->erase(); } private function _serverEdit(...$data) { $res = $this->getTable('servers')->load(array('srv_id=?', $data[0][0]['srv_id'])); if(empty($res)) { return $this->fpack('No server found'); } $res->copyFrom($data[0][0]); $res->save(); return $this->pack($res); } function words() { $this->t = 'words'; return $this; } private function _wordsList(...$arguments) { $res = $this->getTable('magic_words')->find(); if(empty($res)) { return $this->fpack('No words'); } return $this->pack($res); } private function _wordsGet(...$data) { $res = $this->getTable('magic_words')->load(array('word_id=?', $data[0][0])); if(empty($res)) { return $this->fpack('No word found'); } return $this->pack($res); } private function _wordsAdd(...$data) { $res = $this->getTable('magic_words'); if($res) { unset($data[0][0]['word_id']); $res->copyFrom($data[0][0]); $res->save(); return $this->pack($res); } } private function _wordsDelete(...$data) { $res = $this->getTable('magic_words')->load(array('word_id=?', $data[0][0])); if(empty($res)) { return $this->fpack('No word found'); } $res->erase(); } private function _wordsEdit(...$data) { $res = $this->getTable('magic_words')->load(array('word_id=?', $data[0][0]['word_id'])); if(empty($res)) { return $this->fpack('No word found'); } $res->copyFrom($data[0][0]); $res->save(); return $this->pack($res); } function ads() { $this->t = 'ads'; return $this; } private function _adsList(...$arguments) { $res = $this->getTable('advert')->find([''], ['order'=>'order']); if(empty($res)) { return $this->fpack('No ads'); } return $this->pack($res); } public function adsServers($adv_id) { $res = $this->db->exec('SELECT * FROM servers WHERE srv_id IN (select srv_id from server_ads where adv_id=?)', $adv_id); if(empty($res)) { return $this->fpack('Not found'); } return $this->pack($res); } public function adsHud($adv_id) { $res = $this->getTable('hud_style')->load(['adv_id=?', $adv_id]); if(empty($res)) { return $this->fpack('Not found'); } return $this->pack($res); } private function _adsGet(...$data) { $res = $this->getTable('advert')->load(array('adv_id=?', $data[0][0])); if(empty($res)) { return $this->fpack('No ads found'); } return $this->pack($res); } private function _adsAdd(...$data) { $res = $this->getTable('advert'); if($res) { unset($data[0][0]['adv_id']); $res->copyFrom($data[0][0]); $res->save(); return $this->pack($res); } } private function _adsDelete(...$data) { $res = $this->getTable('advert')->load(array('adv_id=?', $data[0][0])); if(empty($res)) { return $this->fpack('No ads found'); } $res->erase(); } private function _adsEdit(...$data) { $res = $this->getTable('advert')->load(array('adv_id=?', $data[0][0]['adv_id'])); if(empty($res)) { return $this->fpack('No ads found'); } $res->copyFrom($data[0][0]); $res->save(); return $this->pack($res); } }Internal Server Error
Fatal error: Class 'DB' not found
 

Саша Шеин

Кому костылей?
Сообщения
1,697
Реакции
621
И шо делать :\

'true', // false 'reason' => 'Description of failure' // Not enought access, etc. 'res' => Array('some data here'); // if status true, else null }; */ class DB { protected $db = null; protected $f3 = null; protected $t = ''; function __construct() { global $f3; $this->db = new DB\SQL('mysql:host='.$f3->get('db_host').';port=3306;dbname='.$f3->get('db_name'), $f3->get('db_user'), $f3->get('db_pass')); } /* List, Get, Edit, Add, Delete routes */ public function list2(...$arguments) { if(is_callable(array($this, '_'.$this->t.'List'))) { $res = $this->{'_'.$this->t.'List'}($arguments); } else $res = $this->fpack('Unknown List action'); $this->t = ''; return $res; } public function get(...$arguments) { if(is_callable(array($this, '_'.$this->t.'Get'))) { $res = $this->{'_'.$this->t.'Get'}($arguments); } else $res = $this->fpack('Unknown Get action'); $this->t = ''; return $res; } public function edit(...$arguments) { if(is_callable(array($this, '_'.$this->t.'Edit'))) { $res = $this->{'_'.$this->t.'Edit'}($arguments); } else $res = $this->fpack('Unknown Edit action'); $this->t = ''; return $res; } public function add(...$arguments) { if(is_callable(array($this, '_'.$this->t.'Add'))) { $res = $this->{'_'.$this->t.'Add'}($arguments); } else $res = $this->fpack('Unknown Add action'); $this->t = ''; return $res; } public function delete(...$arguments) { if(is_callable(array($this, '_'.$this->t.'Delete'))) { $res = $this->{'_'.$this->t.'Delete'}($arguments); } else $res = $this->fpack('Unknown Delete action'); $this->t = ''; return $res; } public function getTable($table) { return new DB\SQL\Mapper($this->db, $table); } protected function pack($result) { return array('status' => true, 'res' => $result); } protected function fpack($reason) { return array('status' => false, 'reason' => $reason, 'res' => null); } /* Objects */ function server() { $this->t = 'server'; return $this; } private function _serverList(...$arguments) { $res = $this->getTable('servers')->find(); if(empty($res)) { return $this->fpack('No servers'); } return $this->pack($res); } private function _serverGet(...$data) { $res = $this->getTable('servers')->load(array('srv_id=?', $data[0][0])); if(empty($res)) { return $this->fpack('No server found'); } return $this->pack($res); } private function _serverAdd(...$data) { $server = $this->getTable('servers'); if($server) { unset($data[0][0]['srv_id']); $server->copyFrom($data[0][0]); $server->save(); return $this->pack($server); } } private function _serverDelete(...$data) { $res = $this->getTable('servers')->load(array('srv_id=?', $data[0][0])); if(empty($res)) { return $this->fpack('No server found'); } $res->erase(); } private function _serverEdit(...$data) { $res = $this->getTable('servers')->load(array('srv_id=?', $data[0][0]['srv_id'])); if(empty($res)) { return $this->fpack('No server found'); } $res->copyFrom($data[0][0]); $res->save(); return $this->pack($res); } function words() { $this->t = 'words'; return $this; } private function _wordsList(...$arguments) { $res = $this->getTable('magic_words')->find(); if(empty($res)) { return $this->fpack('No words'); } return $this->pack($res); } private function _wordsGet(...$data) { $res = $this->getTable('magic_words')->load(array('word_id=?', $data[0][0])); if(empty($res)) { return $this->fpack('No word found'); } return $this->pack($res); } private function _wordsAdd(...$data) { $res = $this->getTable('magic_words'); if($res) { unset($data[0][0]['word_id']); $res->copyFrom($data[0][0]); $res->save(); return $this->pack($res); } } private function _wordsDelete(...$data) { $res = $this->getTable('magic_words')->load(array('word_id=?', $data[0][0])); if(empty($res)) { return $this->fpack('No word found'); } $res->erase(); } private function _wordsEdit(...$data) { $res = $this->getTable('magic_words')->load(array('word_id=?', $data[0][0]['word_id'])); if(empty($res)) { return $this->fpack('No word found'); } $res->copyFrom($data[0][0]); $res->save(); return $this->pack($res); } function ads() { $this->t = 'ads'; return $this; } private function _adsList(...$arguments) { $res = $this->getTable('advert')->find([''], ['order'=>'order']); if(empty($res)) { return $this->fpack('No ads'); } return $this->pack($res); } public function adsServers($adv_id) { $res = $this->db->exec('SELECT * FROM servers WHERE srv_id IN (select srv_id from server_ads where adv_id=?)', $adv_id); if(empty($res)) { return $this->fpack('Not found'); } return $this->pack($res); } public function adsHud($adv_id) { $res = $this->getTable('hud_style')->load(['adv_id=?', $adv_id]); if(empty($res)) { return $this->fpack('Not found'); } return $this->pack($res); } private function _adsGet(...$data) { $res = $this->getTable('advert')->load(array('adv_id=?', $data[0][0])); if(empty($res)) { return $this->fpack('No ads found'); } return $this->pack($res); } private function _adsAdd(...$data) { $res = $this->getTable('advert'); if($res) { unset($data[0][0]['adv_id']); $res->copyFrom($data[0][0]); $res->save(); return $this->pack($res); } } private function _adsDelete(...$data) { $res = $this->getTable('advert')->load(array('adv_id=?', $data[0][0])); if(empty($res)) { return $this->fpack('No ads found'); } $res->erase(); } private function _adsEdit(...$data) { $res = $this->getTable('advert')->load(array('adv_id=?', $data[0][0]['adv_id'])); if(empty($res)) { return $this->fpack('No ads found'); } $res->copyFrom($data[0][0]); $res->save(); return $this->pack($res); } }Internal Server Error
Fatal error: Class 'DB' not found
Попробуйте вариант из данного поста: AC:Advert - Рекламные сообщения
 

diller110

Добрая душа
Сообщения
353
Реакции
278
@Googick в файле WEB/app/DB.php первую строку
<?
заменить на
<?php
 

Googick

Участник
Сообщения
17
Реакции
8
Apache или Nginx, какая версия веб-сервера, php.
php 5.6.40-5+ubuntu14.04.1+deb.sury.org+1
Apache/2.4.7 (Ubuntu)

Нашел еще одну болячку :D
Русский транслите не хотит работать.
43766
 
Последнее редактирование:

diller110

Добрая душа
Сообщения
353
Реакции
278
@Googick Как решили прошлую проблему?
Проблема в кодировке бд, попробуйте настроить кодировки таблиц в phpmyadmin, или гуглить как перевести бд на utf-8.
 

SlavON

Добрая душа
Сообщения
1,582
Реакции
326
потому что на каких то версиях пыхи не поддерживается ( <? КОД ?> ) только так ( <?php КОД ?> )
Ну я сижу на более универсальной версии, чтобы подходило под разного рода системы. Странно, что сходу никто не догадался об этом.
Сообщения автоматически склеены:

diller110 почему если я прописываю ip адрес сервера при создании рекламы я получаю такую ошибку?
L 07/22/2019 - 05:32:38: [SM] Exception reported: This server not registered in database. Check: localhost:27019
L 07/22/2019 - 05:32:38: [SM] Blaming: ac_advert.smx
L 07/22/2019 - 05:32:38: [SM] Call stack trace:
L 07/22/2019 - 05:32:38: [SM] [0] SetFailState
L 07/22/2019 - 05:32:38: [SM] [1] Line 94, E:\å\sm 1.9\scripting\ac_advert.sp::SqlQueryServers
У меня сервер не может быть по адресу localhost:27019
Сообщения автоматически склеены:

Так и не понял где настройка, как часто показывать рекламу...
 
Последнее редактирование:

Саша Шеин

Кому костылей?
Сообщения
1,697
Реакции
621
потому что на каких то версиях пыхи не поддерживается ( <? КОД ?> ) только так ( <?php КОД ?> )
Или просто в настройках выключена поддержка shortcode-ов, или как-то иначе это называется в настройках, могу путать.
Сообщения автоматически склеены:

Вот так называется: short_open_tag .
 
  • Мне нравится
Реакции: MaZa

diller110

Добрая душа
Сообщения
353
Реакции
278
@SlavON Добавь в строку запуска параметры: +ip 123.45.67.890 -port 27015
 

Googick

Участник
Сообщения
17
Реакции
8
@Googick Как решили прошлую проблему?
Проблема в кодировке бд, попробуйте настроить кодировки таблиц в phpmyadmin, или гуглить как перевести бд на utf-8.
Ну поскольку web мордой буду пользоваться только я, тупо поставил на openserver под php 7.3. а так мог кинуть на другой дедик просто было лень где стоит 7,2 php :D
 

SlavON

Добрая душа
Сообщения
1,582
Реакции
326
@SlavON Добавь в строку запуска параметры: +ip 123.45.67.890 -port 27015
Я сейчас чёт не понял, это рофл или что? Всю жизнь запускаю серваки с указанием ип и порта. Как вообще серваки кто-то запускает без указания порта?
 
Последнее редактирование:

RAIN182

Участник
Сообщения
411
Реакции
55
#1005 - Невозможно создать таблицу `ac_advert`.`server_ads` (ошибка: 150 "Foreign key constraint is incorrectly formed") (Детали…)
 

e_zhuravlev

Участник
Сообщения
317
Реакции
117
L 07/30/2019 - 02:08:16: SourceMod error session started
L 07/30/2019 - 02:08:16: Info (map "workshop/1371534022/aim_scout") (file "errors_20190730.log")
L 07/30/2019 - 02:08:16: [SM] Exception reported: Fail on sql query: Ads list
L 07/30/2019 - 02:08:16: [SM] Blaming: ac_advert.smx
L 07/30/2019 - 02:08:16: [SM] Call stack trace:
L 07/30/2019 - 02:08:16: [SM] [0] SetFailState
L 07/30/2019 - 02:08:16: [SM] [1] Line 133, E:\е\sm 1.9\scripting\ac_advert.sp::SqlQueryAds

Удаленный доступ к БД есть веб базу видит а сервер нет
 
Сверху Снизу