[Инструкция] Замена поля ICQ на ВК или Skype + добавление поля Привилегия(CS:BANS)

Vesuvius

НЕ СКРИПТЕР!!!
Команда форума
Администратор
Регистрация
8 Июн 2017
Сообщения
1.596
Симпатии
560
Пол
Мужской
Ну согласен с вами.. Как только вернут возможность редактировать 1 посто.. Добавлю) спасибо)
 

Vesuvius

НЕ СКРИПТЕР!!!
Команда форума
Администратор
Регистрация
8 Июн 2017
Сообщения
1.596
Симпатии
560
Пол
Мужской
Обновил первый пост, перезалил файлики.
Добавил все замечания которые привел BeasT, за что ему спасибо.
 
  • Мне нравится
Симпатии: BeasT

Stanislav

Пользователь
Регистрация
11 Июн 2017
Сообщения
19
Симпатии
3
Пол
Мужской
Добрый вечер! Форумчане, подскажите как на странице АДМИНЫ сортируется вообще список? Можно ли сделать сортировку по нику, по дате окончания услуги и если это не тяжело по дате добавления услуги? На данный момент стоит VK+Privilege. Может быть добавить колонку вначале с порядковым номером, а при добавлении админа задавать ему порядковый номер (но думаю это слишком геморно получается)
 

Vesuvius

НЕ СКРИПТЕР!!!
Команда форума
Администратор
Регистрация
8 Июн 2017
Сообщения
1.596
Симпатии
560
Пол
Мужской
Stanislav, как автоматическую сортировку сделать я незнаю...
а чтоб
Может быть добавить колонку вначале с порядковым номером
можно сделать по примеру привилегий
 

Stanislav

Пользователь
Регистрация
11 Июн 2017
Сообщения
19
Симпатии
3
Пол
Мужской
Vesuvius, ну так сортировки то все равно не будет. Хотелось бы столбцы сделать, чтобы можно было сортировать. Это к примеру как статистика к CSStats SQL
 

Vesuvius

НЕ СКРИПТЕР!!!
Команда форума
Администратор
Регистрация
8 Июн 2017
Сообщения
1.596
Симпатии
560
Пол
Мужской
Stanislav, понял тебя.... но я не силен в етом... может есть скриптери... помогут!
 

pavel_a

Пользователь
Регистрация
30 Авг 2017
Сообщения
464
Симпатии
52
Пол
Мужской
Всем привет!
Когдато на c-s.net.ua писал пост как заменить icq на вк + добавить колонку skype и вот что получилось при старом варианте Посмотреть вложение 1384
Правда мне не нравилась cылка в графе вк ..
На dev-cs.ru по моему мануалу написали статью как вместо ссылки сделать просто значок вк ... идея неплохая ... но мне не понравилось так как колонка получается слишком пустая .. Посмотреть вложение 1403
Поэтому задавался вопросом как сделать так чтобы ссылку меняло на имя с ВК.
Помогли хорошие люди на форуме breakt, fantom, за что им большое спасибо) Получилось вот что Посмотреть вложение 1388
P.S.: Закомментировал часть кода, а именно флаги доступа и информацию о доступе, думаю, что этого обычному игроку знать не нужно, а вы и так знаете какие флаги вы выдали, если хотите то раскомментируйте!
И так поехали:
1. В файле protected/models/amxadmins.php сделать следующие изменения:
Изменить
PHP:
* @property integer $icq Контакты
на
PHP:
* @property integer $icq Skype
Изменить
PHP:
array('icq, ashow, days, change', 'numerical', 'integerOnly'=>true),
на
PHP:
array('ashow, days, change', 'numerical', 'integerOnly'=>true),
array('icq', 'length', 'max'=>64),
Изменить
PHP:
'icq' => 'ICQ',
на
PHP:
'icq' => 'Skype',
2. В файле /protected/views/amxadmins/index.php сделать следующие изменения:
Изменить
PHP:
,
        array(
            'name' => 'icq',
            'type' => 'raw',
            'value' => '$data->icq != 0 ? CHtml::encode($data->icq) : "<i>Не задан</i>"',
            'htmlOptions' => array(
                'style' => 'width: 100px;'
            )
на
PHP:
,
        array(
            'name' => 'icq',
            'type' => 'raw',
            'value' => '$data->icq ? CHtml::image("images/skype.ico"). " " . CHtml::link($data->icq, "skype:".$data->icq."?call") : "". CHtml::image("images/skype.ico"). "<i>  Не указано</i>"',
            'htmlOptions' => array(
                'style' => 'width: 170px;'
            )
images/skype.ico - это путь к вашей иконки
3. В файле protected/controllers/AmxadminsController.php сделать следующие изменения:
Изменить
PHP:
<tr>";
      $info .= "<td><b>Контакты</b></td>";
      $info .= "<td>" . ($model->icq ? CHtml::image("//icq-rus.com/icq/3/".$model->icq.".gif"). " " . $model->icq : 'Не задан') . "</td>";
      $info .= "</tr>
на
PHP:
<tr>";
        $info .= "<td><b>Skype</b></td>";
        $info .= "<td>" . ($model->icq ? CHtml::image("images/skype.ico"). " " . CHtml::link($model->icq, "skype:".$model->icq."?call") : CHtml::image("images/skype.ico"). '  Не указано') . "</td>";
        $info .= "</tr>
images/skype.ico - это путь к вашей иконки
В базе в таблице amxadmins для колонки "icq" выставить тип "varchar" с длинной "64"

Вот что получилось Посмотреть вложение 1391
Даю сразу готовые файлы .. просто заменить... файлик с названием only skype
1. В файле protected/models/amxadmins.php сделать следующие изменения:
Изменить
PHP:
* @property integer $icq Контакты
на
PHP:
* @property integer $icq Вконтакте
Изменить
PHP:
array('icq, ashow, days, change', 'numerical', 'integerOnly'=>true),
на
PHP:
array('ashow, days, change', 'numerical', 'integerOnly'=>true),
array('icq', 'length', 'max'=>64),
Изменить
PHP:
'icq' => 'ICQ',
на
PHP:
'icq' => 'Вконтакте',
После
PHP:
        return parent::afterValidate();
    }
добавить
PHP:
public function getNameicq(){
    $title = Yii::app()->cache->get('ICQ_' . $this->icq);
    if ($title !== false) {
        return $title;
    }
    $url = 'http://' . parse_url($this->icq, PHP_URL_HOST);
    $title = '';
    $page = @file_get_contents('http://'.$this->icq);
    if ($page && preg_match("#<title>([^<]+)</title>#iu", $page, $out)) {
        $title = $out[1];
        mb_convert_encoding($title, 'utf8');

        Yii::app()->cache->set('ICQ_' . $this->icq, $title, 21600);
    }
    return $title;
}
2. В файле /protected/views/amxadmins/index.php сделать следующие изменения:
Изменить
PHP:
,
        array(
            'name' => 'icq',
            'type' => 'raw',
            'value' => '$data->icq != 0 ? CHtml::encode($data->icq) : "<i>Не задан</i>"',
            'htmlOptions' => array(
                'style' => 'width: 100px;'
            )
на
PHP:
,
        array(
            'name' => 'icq',
            'type' => 'raw',
            'value' => '$data->icq ? CHtml::image("images/vk.ico"). " ". CHtml::link($data->nameicq, "http://".$data->icq, array("target"=>"_blank")): "". CHtml::image("images/vk.ico"). "<i>  Не указано</i>"',
            'htmlOptions' => array(
                'style' => 'width: 170px;'
            )
images/vk.ico - это путь к вашей иконки
3. В файле protected/controllers/AmxadminsController.php сделать следующие изменения:
Изменить
PHP:
<tr>";
      $info .= "<td><b>Контакты</b></td>";
      $info .= "<td>" . ($model->icq ? CHtml::image("//icq-rus.com/icq/3/".$model->icq.".gif"). " " . $model->icq : 'Не задан') . "</td>";
      $info .= "</tr>
на
PHP:
<tr>";
        $info .= "<td><b>Вконтакте</b></td>";
        $info .= "<td>" . ($model->icq ? CHtml::image("images/vk.ico"). " " . CHtml::link($model->nameicq,"http://".$model->icq, array("target"=>"_blank")) : CHtml::image("images/vk.ico"). '  Не указано') . "</td>";
        $info .= "</tr>
images/vk.ico - это путь к вашей иконки
В базе в таблице amxadmins для колонки "icq" выставить тип "varchar" с длинной "64"

При добавлении админа ссылку на вк указивать без https://
Вот что получилось Посмотреть вложение 1397
Даю сразу готовые файлы .. просто заменить... файлик с названием only vk.rar
1. В файле protected/models/amxadmins.php сделать следующие изменения:
После
PHP:
* @property integer $icq Вконтакте
добавить
PHP:
* @property integer $skype Skype
Изменить
PHP:
array('icq', 'length', 'max'=>64),
на
PHP:
array('icq, skype', 'length', 'max'=>64),
Изменить
PHP:
array('id, username, password, access, flags, steamid, nickname, icq, ashow, created, expired, days', 'safe',  'on'=>'search'),
на
PHP:
array('id, username, password, access, flags, steamid, nickname, icq, ashow, created, expired, days, skype', 'safe',  'on'=>'search'),
После
PHP:
'icq' => 'Вконтакте',
добавить
PHP:
'skype' => 'Skype',
После
PHP:
$criteria->compare('icq',$this->icq);
добавить
PHP:
$criteria->compare('skype',$this->skype);
2. В файле /protected/views/amxadmins/index.php сделать следующие изменения:
После
PHP:
,
        array(
            'name' => 'icq',
            'type' => 'raw',
            'value' => '$data->icq ? CHtml::image("images/vk.ico"). " ". CHtml::link($data->nameicq, "http://".$data->icq, array("target"=>"_blank")): "". CHtml::image("images/vk.ico"). "<i>  Не указано</i>"',
            'htmlOptions' => array(
                'style' => 'width: 170px;'
            )
        )
добавить
PHP:
,
        array(
            'name' => 'skype',
            'type' => 'raw',
            'value' => '$data->skype ? CHtml::image("images/skype.ico"). " " . CHtml::link($data->skype, "skype:".$data->skype."?call") : "". CHtml::image("images/skype.ico"). "<i>  Не указано</i>"',
            'htmlOptions' => array(
                'style' => 'width: 170px;'
            )
        )
images/vk.ico - это путь к вашей иконки
images/skype.ico - это путь к вашей иконки
3. В файле protected/controllers/AmxadminsController.php сделать следующие изменения:
После
PHP:
<tr>";
        $info .= "<td><b>Вконтакте</b></td>";
        $info .= "<td>" . ($model->icq ? CHtml::image("images/vk.ico"). " " . CHtml::link($model->nameicq,"http://".$model->icq, array("target"=>"_blank")) : CHtml::image("images/vk.ico"). '  Не указано') . "</td>";
        $info .= "</tr>
добавить
PHP:
<tr>";
        $info .= "<td><b>Skype</b></td>";
        $info .= "<td>" . ($model->skype ? CHtml::image("images/skype.ico"). " " . CHtml::link($model->skype, "skype:".$model->skype."?call") : CHtml::image("images/skype.ico"). '  Не указано') . "</td>";
        $info .= "</tr>
images/vk.ico - это путь к вашей иконки
images/skype.ico - это путь к вашей иконки
4. В файле /protected/views/amxadmins/_form.php сделать следующие изменения:
После
PHP:
echo $form->textFieldRow($model,'icq',array('class' => 'span6',));
добавить
PHP:
echo $form->textFieldRow($model,'skype',array('class' => 'span6',));
5. В файле /protected/views/amxadmins/view.php сделать следующие изменения:
После
PHP:
'icq',
добавить
PHP:
'skype',
В базе в таблице amxadmins нужно создать колонку "skype" тип "varchar" с длинной "64"
Можно создать автоматически если отправить SQL запрос:
Заходим в БД через phpmyadmin нажимаем вкладку SQL вставляем код и отправляем запрос
SQL:
ALTER TABLE `amx_amxadmins` ADD `skype` VARCHAR(64) NULL;
При добавлении админа ссылку на вк указивать без https://
Вот что получилось Посмотреть вложение 1396
Даю сразу готовые файлы .. просто заменить... файлик с названием vk+skype.rar
1. В файле protected/models/amxadmins.php сделать следующие изменения:
После
PHP:
* @property integer $icq Вконтакте
добавить
PHP:
* @property integer $privilege Привилегия
Изменить
PHP:
array('icq', 'length', 'max'=>64),
на
PHP:
array('icq, privilege', 'length', 'max'=>64),
Изменить
PHP:
array('id, username, password, access, flags, steamid, nickname, icq, ashow, created, expired, days', 'safe',  'on'=>'search'),
на
PHP:
array('id, username, password, access, flags, steamid, nickname, icq, ashow, created, expired, days, privilege', 'safe',  'on'=>'search'),
После
PHP:
'icq' => 'Вконтакте',
добавить
PHP:
'privilege' => 'Привилегия',
После
PHP:
$criteria->compare('icq',$this->icq);
добавить
PHP:
$criteria->compare('privilege',$this->privilege);
2. В файле /protected/views/amxadmins/index.php сделать следующие изменения:
После
PHP:
,
        array(
            'name' => 'icq',
            'type' => 'raw',
            'value' => '$data->icq ? CHtml::image("images/vk.ico"). " ". CHtml::link($data->nameicq, "http://".$data->icq, array("target"=>"_blank")): "". CHtml::image("images/vk.ico"). "<i>  Не указано</i>"',
            'htmlOptions' => array(
                'style' => 'width: 170px;'
            )
        )
добавить
PHP:
,
        array(
            'name' => 'privilege',
            'type' => 'raw',
            'value' => '$data->privilege',
            'htmlOptions' => array(
                'style' => 'width: 170px;'
            )
        )
images/vk.ico - это путь к вашей иконки
3. В файле protected/controllers/AmxadminsController.php сделать следующие изменения:
После
PHP:
<tr>";
        $info .= "<td><b>Вконтакте</b></td>";
        $info .= "<td>" . ($model->icq ? CHtml::image("images/vk.ico"). " " . CHtml::link($model->nameicq,"http://".$model->icq, array("target"=>"_blank")) : CHtml::image("images/vk.ico"). '  Не указано') . "</td>";
        $info .= "</tr>
добавить
PHP:
<tr>";
        $info .= "<td><b>Привилегия</b></td>";
        $info .= "<td>".$model->privilege."</td>";
        $info .= "</tr>
images/vk.ico - это путь к вашей иконки
4. В файле /protected/views/amxadmins/_form.php сделать следующие изменения:
После
PHP:
echo $form->textFieldRow($model,'icq',array('class' => 'span6',));
добавить
PHP:
echo $form->textFieldRow($model,'privilege',array('class' => 'span6',));
5. В файле /protected/views/amxadmins/view.php сделать следующие изменения:
После
PHP:
'icq',
добавить
PHP:
'privilege',
В базе в таблице amxadmins нужно создать колонку "privilege" тип "varchar" с длинной "64"
Можно создать автоматически если отправить SQL запрос:
Заходим в БД через phpmyadmin нажимаем вкладку SQL вставляем код и отправляем запрос
SQL:
ALTER TABLE `amx_amxadmins` ADD `privilege` VARCHAR(64) NULL;
При добавлении админа ссылку на вк указивать без https://
Вот что получилось Посмотреть вложение 1618
Даю сразу готовые файлы .. просто заменить... файлик с названием vk+privilege.rar
1. В файле protected/models/amxadmins.php сделать следующие изменения:
После
PHP:
* @property integer $skype Skype
добавить
PHP:
* @property integer $privilege Привилегия
Изменить
PHP:
array('icq, skype', 'length', 'max'=>64),
на
PHP:
array('icq, skype, privilege', 'length', 'max'=>64),
Изменить
PHP:
array('id, username, password, access, flags, steamid, nickname, icq, ashow, created, expired, days, skype', 'safe',  'on'=>'search'),
на
PHP:
array('id, username, password, access, flags, steamid, nickname, icq, ashow, created, expired, days, skype, privilege', 'safe',  'on'=>'search'),
После
PHP:
'skype' => 'Skype',
добавить
PHP:
'privilege' => 'Привилегия',
После
PHP:
$criteria->compare('skype',$this->skype);
добавить
PHP:
$criteria->compare('privilege',$this->privilege);
2. В файле /protected/views/amxadmins/index.php сделать следующие изменения:
После
PHP:
,
        array(
            'name' => 'skype',
            'type' => 'raw',
            'value' => '$data->skype ? CHtml::image("images/skype.ico"). " " . CHtml::link($data->skype, "skype:".$data->skype."?call") : "". CHtml::image("images/skype.ico"). "<i>  Не указано</i>"',
            'htmlOptions' => array(
                'style' => 'width: 170px;'
            )
        )
добавить
PHP:
,
        array(
            'name' => 'privilege',
            'type' => 'raw',
            'value' => '$data->privilege',
            'htmlOptions' => array(
                'style' => 'width: 170px;'
            )
        )
images/skype.ico - это путь к вашей иконки
3. В файле protected/controllers/AmxadminsController.php сделать следующие изменения:
После
PHP:
<tr>";
        $info .= "<td><b>Skype</b></td>";
        $info .= "<td>" . ($model->skype ? CHtml::image("images/skype.ico"). " " . CHtml::link($model->skype, "skype:".$model->skype."?call") : CHtml::image("images/skype.ico"). '  Не указано') . "</td>";
        $info .= "</tr>
добавить
PHP:
<tr>";
        $info .= "<td><b>Привилегия</b></td>";
        $info .= "<td>".$model->privilege."</td>";
        $info .= "</tr>
images/skype.ico - это путь к вашей иконки
4. В файле /protected/views/amxadmins/_form.php сделать следующие изменения:
После
PHP:
echo $form->textFieldRow($model,'skype',array('class' => 'span6',));
добавить
PHP:
echo $form->textFieldRow($model,'privilege',array('class' => 'span6',));
5. В файле /protected/views/amxadmins/view.php сделать следующие изменения:
После
PHP:
'skype',
добавить
PHP:
'privilege',

В базе в таблице amxadmins нужно создать колонку "privilege" тип "varchar" с длинной "64"
Можно создать автоматически если отправить SQL запрос:
Заходим в БД через phpmyadmin нажимаем вкладку SQL вставляем код и отправляем запрос
SQL:
ALTER TABLE `amx_amxadmins` ADD `privilege` VARCHAR(64) NULL;
При добавлении админа ссылку на вк указивать без https://
Вот что получилосьПосмотреть вложение 1398
Даю сразу готовые файлы .. просто заменить... файлик с названием vk+skype+privilege.rar
Наконец закончил.... Просидел часов 5, надеюсь не зря.... Думаю объяснил доступно..
К каждому примеру добавил готовые файлы. Если что-то пропустил .. пишите .. отредактирую ...
Спасибо!
Копирования статьи на другие ресурсы без согласия автора запрещено!!!
полезная штука,не зря возился :D
 

Vesuvius

НЕ СКРИПТЕР!!!
Команда форума
Администратор
Регистрация
8 Июн 2017
Сообщения
1.596
Симпатии
560
Пол
Мужской
Reebok, что то не так сделали....
как все ето делалось?
 

SuNKeePeRZ

Пользователь
Регистрация
7 Авг 2017
Сообщения
203
Симпатии
10
Пол
Мужской
Vesuvius, Сможешь поставить за небольшую сумму?) с лс могу дать линк доступ) чтобы показывал вк+скайп+привилегии)
 

Vesuvius

НЕ СКРИПТЕР!!!
Команда форума
Администратор
Регистрация
8 Июн 2017
Сообщения
1.596
Симпатии
560
Пол
Мужской
SuNKeePeRZ, не вопрос... стучи в телеграм или скайп
 

Vesuvius

НЕ СКРИПТЕР!!!
Команда форума
Администратор
Регистрация
8 Июн 2017
Сообщения
1.596
Симпатии
560
Пол
Мужской

hooligan***

Пользователь
Регистрация
9 Июн 2017
Сообщения
377
Симпатии
105
Пол
Мужской
Установил вк + привилегия. В общем очень круто)
Но если добавить выпадающий список для привилегий с привилегиями, вообще огонь было бы)
 

hooligan***

Пользователь
Регистрация
9 Июн 2017
Сообщения
377
Симпатии
105
Пол
Мужской
Чуть подправил шаблон для bloody. Если кому нужно, то скину
 

Вложения

skitls

Пользователь
Регистрация
21 Июн 2017
Сообщения
216
Симпатии
62
Пол
Мужской
Установил вк + привилегия. В общем очень круто)
Но если добавить выпадающий список для привилегий с привилегиями, вообще огонь было бы)
имеешь ввиду если при выборе флага выпадал просто список привилегий которые можно выставить?
 

Вложения

skitls

Пользователь
Регистрация
21 Июн 2017
Сообщения
216
Симпатии
62
Пол
Мужской
Изменение вида выдачи флагов
идем суда banlis.ru/protected/models/Amxadmins.php
Там ищем функцию public static function getFlags($adminlist = false)
C++:
{
        if($adminlist)
        {
            return array(
                'a' => 'Иммунитет (не может быть кикнут / забанен и т.д)',
                'b' => 'Резервирование слотов (может использовать зарезервированные слоты)',
                'c' => 'Команда amx_kick',
                'd' => 'Команда amx_ban и amx_unban',
                'e' => 'Команда amx_slay и amx_slap',
                'f' => 'Команда amx_map',
                'g' => 'Команда amx_cvar (не все CVAR\'ы доступны)',
                'h' => 'Команда amx_cfg',
                'i' => 'amx_chat и другие команды чата',
                'j' => 'amx_vote и другие команды голосований (Vote)',
                'k' => 'Доступ к изменению значения команды sv_password (через команду amx_cvar)',
                'l' => 'Доступ к amx_rcon и rcon_password (через команду amx_cvar)',
                'm' => 'Уровень доступа A (для иных плагинов)',
                'n' => 'Уровень доступа B',
                'o' => 'Уровень доступа C',
                'p' => 'Уровень доступа D',
                'q' => 'Уровень доступа E',
                'r' => 'Уровень доступа F',
                's' => 'Уровень доступа G',
                't' => 'Уровень доступа H',
                'u' => 'Основной доступ',
                'z' => 'Игрок (не администратор)'
            );
        }

        return array(
            'a' => '[a] Иммунитет (не может быть кикнут / забанен и т.д)',
            'b' => '[b] Резервирование слотов (может использовать зарезервированные слоты)',
            'c' => '[c] Команда amx_kick',
            'd' => '[d] Команда amx_ban и amx_unban',
            'e' => '[e] Команда amx_slay и amx_slap',
            'f' => '[f] Команда amx_map',
            'g' => '[g] Команда amx_cvar (не все CVAR\'ы доступны)',
            'h' => '[h] Команда amx_cfg',
            'i' => '[i] amx_chat и другие команды чата',
            'j' => '[j] amx_vote и другие команды голосований (Vote)',
            'k' => '[k] Доступ к изменению значения команды sv_password (через команду amx_cvar)',
            'l' => '[l] Доступ к amx_rcon и rcon_password (через команду amx_cvar)',
            'm' => '[m] Уровень доступа A (для иных плагинов)',
            'n' => '[n] Уровень доступа B',
            'o' => '[o] Уровень доступа C',
            'p' => '[p] Уровень доступа D',
            'q' => '[q] Уровень доступа E',
            'r' => '[r] Уровень доступа F',
            's' => '[s] Уровень доступа G',
            't' => '[t] Уровень доступа H',
            'u' => '[u] Основной доступ',
            'z' => '[z] Игрок (не администратор)'
        );
    }

C++:
    {
        if($adminlist)
        {
            return array(
            'actodfije' => 'Девушка ADMIN',
            'abcdefghijklmnopqrstu' => 'Гл. Админ',
            't' => 'VIP',
            'acdefijt' => 'Простой ADMIN',
            'to' => 'Девушка'
            );
        }

        return array(
            'actodfije' => 'Девушка ADMIN',
            'abcdefghijklmnopqrstu' => 'Гл. Админ',
            't' => 'VIP',
            'acdefijt' => 'Простой ADMIN',
            'to' => 'Девушка'
        );
    }


Можно даже сделать все красивее и в первый пост положить
 
Сверху Снизу