Отправка подписки через jabber
Все последующие шаги можно делать только если вы добавили поле jabber'а в профиль! :)
Например плагином Социальные контакты.
Берем необходимые файлики, копируем каталоги /classes/, /config/ и /template/languages/ соответственно в каталоги classes/ config/ и languages/ на хосте, где установлен LS.
Потребуется замена файла Notify.class.php
Копируем файлы из каталога templates/skin/new/notify в соответствующий каталог используемой вами темы.
Выполняем sql запрос: (на всякий не забывайте делать бекапы sql, при любой работе с sql, ибо если там что-то накосячится, то это геморой)
Находим в файле /classes/actions/ActionSettings.class.php
и после этого добавляем:
Находим
в файле: /classes/modules/user/entity/User.entity.class.php находим:
и добавляем после этого:
находим:
и добавляем после этого:
в файле: /classes/modules/user/mapper/User.mapper.class.php находим:
и добавляем следом:
находим:
и добавляем следом:
в файле /templates/skin/<ваша-тема>/actions/ActionSettings/tuning.tpl находим:
и после этого добавляем:
конфиг /config/modules/jabber/config.php надо исправить в соответствии со своими настройками, указав jid от имени которого будут рассылаться уведомления.
Например плагином Социальные контакты.
Берем необходимые файлики, копируем каталоги /classes/, /config/ и /template/languages/ соответственно в каталоги classes/ config/ и languages/ на хосте, где установлен LS.
Потребуется замена файла Notify.class.php
Копируем файлы из каталога templates/skin/new/notify в соответствующий каталог используемой вами темы.
Выполняем sql запрос: (на всякий не забывайте делать бекапы sql, при любой работе с sql, ибо если там что-то накосячится, то это геморой)
alter table prefix_user add user_settings_notice_method enum('mail', 'jabber') not null default 'mail' after user_profile_foto;
Находим в файле /classes/actions/ActionSettings.class.php
if (isset($_REQUEST['submit_settings_tuning'])) {
$this->Security_ValidateSendForm();
и после этого добавляем:
$sNoticeMethod = getRequest('settings_notice_method');
if ($sNoticeMethod == "jabber" && is_null($this->oUserCurrent->getProfileJabber())) {
$this->Message_AddErrorSingle($this->Lang_Get('settings_tuning_no_jid'));
return;
}
$this->oUserCurrent->setSettingsNoticeMethod( $sNoticeMethod );
Находим
$this->oUserCurrent->setProfileJabber(null);
и добавляем после этого:
$this->oUserCurrent->setSettingsNoticeMethod('mail');
в файле: /classes/modules/user/entity/User.entity.class.php находим:
return $this->_aData['user_profile_foto'];
}
и добавляем после этого:
public function getSettingsNoticeMethod() {
return $this->_aData['user_settings_notice_method'];
}
находим:
$this->_aData['user_profile_foto']=$data;
}
и добавляем после этого:
public function setSettingsNoticeMethod($data) {
$this->_aData['user_settings_notice_method']=$data;
}
в файле: /classes/modules/user/mapper/User.mapper.class.php находим:
user_profile_foto = ? ,
и добавляем следом:
user_settings_notice_method = ? ,
находим:
$oUser->getProfileFoto(),
и добавляем следом:
$oUser->getSettingsNoticeMethod(),
в файле /templates/skin/<ваша-тема>/actions/ActionSettings/tuning.tpl находим:
<label for=""><input {if $oUserCurrent->getSettingsNoticeNewFriend()}checked{/if} type="checkbox" id="settings_notice_new_friend" name="settings_notice_new_friend" value="1" class="checkbox" /> — {$aLang.settings_tuning_notice_new_friend}</label>
и после этого добавляем:
<br />
<select name="settings_notice_method" style="width: 200px;">
<option value="mail" {if $oUserCurrent->getSettingsNoticeMethod()=='mail'}selected{/if}>{$aLang.settings_tuning_notice_method_mail}</option>
<option value="jabber" {if $oUserCurrent->getSettingsNoticeMethod()=='jabber'}selected{/if}>{$aLang.settings_tuning_notice_method_jabber}</option>
</select>
конфиг /config/modules/jabber/config.php надо исправить в соответствии со своими настройками, указав jid от имени которого будут рассылаться уведомления.
0 комментариев