можно сделать по примеру привилегийМожет быть добавить колонку вначале с порядковым номером
полезная штука,не зря возилсяВсем привет!Когдато на 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),
2. В файле /protected/views/amxadmins/index.php сделать следующие изменения:Изменить
наPHP:'icq' => 'ICQ',
PHP:'icq' => 'Skype',
3. В файле protected/controllers/AmxadminsController.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 - это путь к вашей иконки
Изменить
на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 skype1. В файле 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' => 'Вконтакте',
2. В файле /protected/views/amxadmins/index.php сделать следующие изменения:После
добавить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; }
3. В файле protected/controllers/AmxadminsController.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 - это путь к вашей иконки
Изменить
на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.rar1. В файле 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',
2. В файле /protected/views/amxadmins/index.php сделать следующие изменения:После
добавитьPHP:$criteria->compare('icq',$this->icq);
PHP:$criteria->compare('skype',$this->skype);
3. В файле protected/controllers/AmxadminsController.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 - это путь к вашей иконки
4. В файле /protected/views/amxadmins/_form.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 - это путь к вашей иконки
5. В файле /protected/views/amxadmins/view.php сделать следующие изменения:После
добавитьPHP:echo $form->textFieldRow($model,'icq',array('class' => 'span6',));
PHP:echo $form->textFieldRow($model,'skype',array('class' => 'span6',));
После
добавитьPHP:'icq',
PHP:'skype',
В базе в таблице amxadmins нужно создать колонку "skype" тип "varchar" с длинной "64"Заходим в БД через phpmyadmin нажимаем вкладку SQL вставляем код и отправляем запрос
Можно создать автоматически если отправить SQL запрос:
SQL:ALTER TABLE `amx_amxadmins` ADD `skype` VARCHAR(64) NULL;
При добавлении админа ссылку на вк указивать без https://Вот что получилось Посмотреть вложение 1396
Даю сразу готовые файлы .. просто заменить... файлик с названием vk+skype.rar1. В файле 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' => 'Привилегия',
2. В файле /protected/views/amxadmins/index.php сделать следующие изменения:После
добавитьPHP:$criteria->compare('icq',$this->icq);
PHP:$criteria->compare('privilege',$this->privilege);
3. В файле protected/controllers/AmxadminsController.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 - это путь к вашей иконки
4. В файле /protected/views/amxadmins/_form.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 - это путь к вашей иконки
5. В файле /protected/views/amxadmins/view.php сделать следующие изменения:После
добавитьPHP:echo $form->textFieldRow($model,'icq',array('class' => 'span6',));
PHP:echo $form->textFieldRow($model,'privilege',array('class' => 'span6',));
После
добавитьPHP:'icq',
PHP:'privilege',
В базе в таблице amxadmins нужно создать колонку "privilege" тип "varchar" с длинной "64"Заходим в БД через phpmyadmin нажимаем вкладку SQL вставляем код и отправляем запрос
Можно создать автоматически если отправить SQL запрос:
SQL:ALTER TABLE `amx_amxadmins` ADD `privilege` VARCHAR(64) NULL;
При добавлении админа ссылку на вк указивать без https://Вот что получилось Посмотреть вложение 1618
Даю сразу готовые файлы .. просто заменить... файлик с названием vk+privilege.rarНаконец закончил.... Просидел часов 5, надеюсь не зря.... Думаю объяснил доступно..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' => 'Привилегия',
2. В файле /protected/views/amxadmins/index.php сделать следующие изменения:После
добавитьPHP:$criteria->compare('skype',$this->skype);
PHP:$criteria->compare('privilege',$this->privilege);
3. В файле protected/controllers/AmxadminsController.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 - это путь к вашей иконки
4. В файле /protected/views/amxadmins/_form.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 - это путь к вашей иконки
5. В файле /protected/views/amxadmins/view.php сделать следующие изменения:После
добавитьPHP:echo $form->textFieldRow($model,'skype',array('class' => 'span6',));
PHP:echo $form->textFieldRow($model,'privilege',array('class' => 'span6',));
После
добавитьPHP:'skype',
PHP:'privilege',
В базе в таблице amxadmins нужно создать колонку "privilege" тип "varchar" с длинной "64"Заходим в БД через phpmyadmin нажимаем вкладку SQL вставляем код и отправляем запрос
Можно создать автоматически если отправить SQL запрос:
SQL:ALTER TABLE `amx_amxadmins` ADD `privilege` VARCHAR(64) NULL;
При добавлении админа ссылку на вк указивать без https://Вот что получилосьПосмотреть вложение 1398
Даю сразу готовые файлы .. просто заменить... файлик с названием vk+skype+privilege.rar
К каждому примеру добавил готовые файлы. Если что-то пропустил .. пишите .. отредактирую ...
Спасибо!
Копирования статьи на другие ресурсы без согласия автора запрещено!!!
напиши хоть)) у тебя профиль закрытый)SuNKeePeRZ, не вопрос... стучи в телеграм или скайп
имеешь ввиду если при выборе флага выпадал просто список привилегий которые можно выставить?Установил вк + привилегия. В общем очень круто)
Но если добавить выпадающий список для привилегий с привилегиями, вообще огонь было бы)
оо мне нужно ))имеешь ввиду если при выборе флага выпадал просто список привилегий которые можно выставить?
идем суда banlis.ru/protected/models/Amxadmins.phpоо мне нужно ))
{
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] Игрок (не администратор)'
);
}
{
if($adminlist)
{
return array(
'actodfije' => 'Девушка ADMIN',
'abcdefghijklmnopqrstu' => 'Гл. Админ',
't' => 'VIP',
'acdefijt' => 'Простой ADMIN',
'to' => 'Девушка'
);
}
return array(
'actodfije' => 'Девушка ADMIN',
'abcdefghijklmnopqrstu' => 'Гл. Админ',
't' => 'VIP',
'acdefijt' => 'Простой ADMIN',
'to' => 'Девушка'
);
}