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

Vesuvius

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

Vesuvius

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

Stanislav

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

Vesuvius

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

Stanislav

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

Vesuvius

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

pavel_a

Пользователь
Регистрация
30 Авг 2017
Сообщения
331
Симпатии
46
Пол
Мужской
#67
Всем привет!
Когдато на 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
 

Reebok

Пользователь
Регистрация
9 Июн 2017
Сообщения
80
Симпатии
4
Пол
Мужской
#69
ошибка исчезла но не отображается привилегия и вк
 

Вложения

  • 668,9 KB 22
  • 588,2 KB 22

Vesuvius

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

SuNKeePeRZ

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

Vesuvius

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

Vesuvius

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

hooligan***

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

hooligan***

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

Вложения

  • 414,5 KB 17

skitls

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

Вложения

  • 42,3 KB 13

skitls

Пользователь
Регистрация
21 Июн 2017
Сообщения
89
Симпатии
24
Пол
Мужской
#80
Изменение вида выдачи флагов
идем суда 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' => 'Девушка'
        );
    }


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