- Регистрация
- 8 Июн 2017
- Сообщения
- 1.595
- Симпатии
- 572
- Пол
- Мужской
Всем привет!
Когдато на c-s.net.ua писал пост как заменить icq на вк + добавить колонку skype и вот что получилось при старом варианте 
Правда мне не нравилась cылка в графе вк ..
На dev-cs.ru по моему мануалу написали статью как вместо ссылки сделать просто значок вк ... идея неплохая ... но мне не понравилось так как колонка получается слишком пустая ..

Поэтому задавался вопросом как сделать так чтобы ссылку меняло на имя с ВК.
Помогли хорошие люди на форуме breakt, fantom, за что им большое спасибо) Получилось вот что

P.S.: Закомментировал часть кода, а именно флаги доступа и информацию о доступе, думаю, что этого обычному игроку знать не нужно, а вы и так знаете какие флаги вы выдали, если хотите то раскомментируйте!
И так поехали:
1. В файле protected/models/amxadmins.php сделать следующие изменения:
2. В файле /protected/views/amxadmins/index.php сделать следующие изменения:
3. В файле protected/controllers/AmxadminsController.php сделать следующие изменения:
Вот что получилось
Даю сразу готовые файлы .. просто заменить... файлик с названием only skype
Изменить
на
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',
Изменить
на
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"
Вот что получилось

Даю сразу готовые файлы .. просто заменить... файлик с названием only skype
1. В файле protected/models/amxadmins.php сделать следующие изменения:
2. В файле /protected/views/amxadmins/index.php сделать следующие изменения:
3. В файле protected/controllers/AmxadminsController.php сделать следующие изменения:

Даю сразу готовые файлы .. просто заменить... файлик с названием only vk.rar
Изменить
на
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;
}
Изменить
на
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://
Вот что получилось 
Даю сразу готовые файлы .. просто заменить... файлик с названием only vk.rar
1. В файле protected/models/amxadmins.php сделать следующие изменения:
2. В файле /protected/views/amxadmins/index.php сделать следующие изменения:
3. В файле protected/controllers/AmxadminsController.php сделать следующие изменения:
4. В файле /protected/views/amxadmins/_form.php сделать следующие изменения:
5. В файле /protected/views/amxadmins/view.php сделать следующие изменения:

Даю сразу готовые файлы .. просто заменить... файлик с названием vk+skype.rar
После
добавить
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);
После
добавить
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 - это путь к вашей иконки
/images/skype.ico - это путь к вашей иконки
После
добавить
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 - это путь к вашей иконки
/images/skype.ico - это путь к вашей иконки
После
добавить
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"
Можно создать автоматически если отправить SQL запрос:
Заходим в БД через phpmyadmin нажимаем вкладку SQL вставляем код и отправляем запросМожно создать автоматически если отправить SQL запрос:
SQL:
ALTER TABLE `amx_amxadmins` ADD `skype` VARCHAR(64) NULL;
При добавлении админа ссылку на вк указивать без https://
Вот что получилось 
Даю сразу готовые файлы .. просто заменить... файлик с названием vk+skype.rar
1. В файле protected/models/amxadmins.php сделать следующие изменения:
2. В файле /protected/views/amxadmins/index.php сделать следующие изменения:
3. В файле protected/controllers/AmxadminsController.php сделать следующие изменения:
4. В файле /protected/views/amxadmins/_form.php сделать следующие изменения:
5. В файле /protected/views/amxadmins/view.php сделать следующие изменения:

Даю сразу готовые файлы .. просто заменить... файлик с названием vk+privilege.rar
После
добавить
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);
После
добавить
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 - это путь к вашей иконки
После
добавить
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 - это путь к вашей иконки
После
добавить
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"
Можно создать автоматически если отправить SQL запрос:
Заходим в БД через phpmyadmin нажимаем вкладку SQL вставляем код и отправляем запросМожно создать автоматически если отправить SQL запрос:
SQL:
ALTER TABLE `amx_amxadmins` ADD `privilege` VARCHAR(64) NULL;
При добавлении админа ссылку на вк указивать без https://
Вот что получилось 
Даю сразу готовые файлы .. просто заменить... файлик с названием vk+privilege.rar
1. В файле protected/models/amxadmins.php сделать следующие изменения:
2. В файле /protected/views/amxadmins/index.php сделать следующие изменения:
3. В файле protected/controllers/AmxadminsController.php сделать следующие изменения:
4. В файле /protected/views/amxadmins/_form.php сделать следующие изменения:
5. В файле /protected/views/amxadmins/view.php сделать следующие изменения:

Даю сразу готовые файлы .. просто заменить... файлик с названием vk+skype+privilege.rar
После
добавить
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);
После
добавить
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 - это путь к вашей иконки
После
добавить
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 - это путь к вашей иконки
После
добавить
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"
Можно создать автоматически если отправить SQL запрос:
Заходим в БД через phpmyadmin нажимаем вкладку SQL вставляем код и отправляем запросМожно создать автоматически если отправить SQL запрос:
SQL:
ALTER TABLE `amx_amxadmins` ADD `privilege` VARCHAR(64) NULL;
При добавлении админа ссылку на вк указивать без https://
Вот что получилось
Даю сразу готовые файлы .. просто заменить... файлик с названием vk+skype+privilege.rar
К каждому примеру добавил готовые файлы. Если что-то пропустил .. пишите .. отредактирую ...
Спасибо!
Копирования статьи на другие ресурсы без согласия автора запрещено!!!
Вложения
-
14,4 KB Просмотры: 17
-
14,9 KB Просмотры: 69
-
19,7 KB Просмотры: 17
-
17,9 KB Просмотры: 88
-
20,2 KB Просмотры: 50
Последнее редактирование: