Добавление Скайпа и / или МСН Мессангер

Добавление Скайпа и / или МСН Мессангера в профиль пользователя.

Спонсором нашего сегодняшнего топика является Беноне!!! Спасибо ему:)



Для реализации данной функциональности мы добавляем в базу данных пользователя поля: user_profile_skype
В Whois.tpl:


		{if $oUserProfile->getProfileSkype()}
	<div class="userinfo_line">
		<div class="left">
			Skype:
		</div>
		<div class="right">
		<a class="icon" href="skype:{$oUserProfile->getProfileSkype()|escape:'html'}?call"><img src="http://download.skype.com/share/skypebuttons/buttons/call_blue_transparent_34x34.png" style="border: none;" width="18" height="18" alt="Skype Me!"/>{$oUserProfile->getProfileSkype()|escape:'html'}</a>
		</div>
	</div>
	{/if}


В User.mapper.class (public function Update)после user_settings_notice_new_friend =? ,:

user_profile_skype = ?	

В том же файле после $oUser->getSettingsNoticeNewFriend(),
$oUser->getProfileSkype(),


Затем в ActionSetting.class после проверки ICQ вставляем

/**
			 * Проверяем Skype
			 */
			if (func_check(getRequest('profile_skype'),'text',1,50)) {
				$this->oUserCurrent->setProfileSkype(getRequest('profile_skype'));
			} else {
				$this->oUserCurrent->setProfileSkype(null);
			}

Лично я не знаю макс. длину Скайп имени

User.entity.class:

public function getProfileSkype() {
        return $this->_aData['user_profile_skype'];
    }
  public function setProfileSkype($data) {
    	$this->_aData['user_profile_skype']=$data;
    }


В темплэйт слеш хабра слеш актионс слеш актионсеттинг слеш профайл.тпл после аськи

<span class="form">Skype:</span><br /> <input type="text"	name="profile_skype" value="{$oUserCurrent->getProfileSkype()|escape:'html'}">
	
 


//////////////////////////////////
MSN

В темплэйт слеш хабра слеш актионс слеш актионсеттинг слеш профайл.тпл после аськи

<span class="form">MSN:</span><br /> <input type="text"	name="profile_msn" value="{$oUserCurrent->getProfileAdsense()|escape:'html'}">
	


User.entity.class:

public function getProfileMSN() {
        return $this->_aData['user_profile_msn'];
    }
  public function setProfileMSN($data) {
    	$this->_aData['user_profile_msn']=$data;
    }


Затем в ActionSetting.class после проверки ICQ вставляем

/**
			 * Проверяем Skype
			 */
			if (func_check(getRequest('profile_msn'),'email',1,50)) {
				$this->oUserCurrent->setProfileSkype(getRequest('profile_msn'));
			} else {
				$this->oUserCurrent->setProfileSkype(null);
			}


В User.mapper.class (public function Update)после user_settings_notice_new_friend =? ,:

user_profile_msn = ?	

В том же файле после $oUser->getSettingsNoticeNewFriend(),
$oUser->getProfileMSN(),


В Whois.tpl:


		{if $oUserProfile->getProfileMSN()}
	<div class="userinfo_line">
		<div class="left">
			MSN:
		</div>
		<div class="right">
		<a class="icon" href="msnim:chat?contact={$oUserProfile->getProfileMSN()|escape:'html'}?call">
		</div>
	</div>
	{/if}


Для реализации данной функциональности мы добавляем в базу данных пользователя поля: user_profile_msn

Спонсором нашего сегодняшнего топика является Беноне!!! Спасибо ему:)

С вами было «Добавление Скайпа и / или МСН Мессангера в профиль пользователя.»

28 комментариев

avatar
спасибо:)
avatar
только под кат то убери…
avatar

поставила плюс, хотя статья написана криво и побыстрей. ошибок миллион
Правильный код:
if (func_check(getRequest('profile_skype'),'text',3,19)) {
                $oUser->setProfileSkype(getRequest('profile_skype'));
            } else {
                $oUser->setProfileSkype(null);
            }

и в whois шаблоне:
не value=«{$oUserCurrent->getProfileSkype()|escape:'html'}»
а
$oUser->getProfileSkype()
avatar
Skype:
{if $oUserProfile->getProfileSkype()}
Skype Me!
{$oUserProfile->getProfileSkype()|escape:'html'}
{/if}

MSN:
{if $oUserProfile->getProfileMSN()}
{$oUserProfile->getProfileMSN()|escape:'html'}
{/if}
avatar
<td class="var"> Skype:</td>
					  <td>   {if $oUserProfile->getProfileSkype()}
                       
                <a class="icon" href="skype:{$oUserProfile->getProfileSkype()|escape:'html'}?call"><img src="http://download.skype.com/share/skypebuttons/buttons/call_blue_transparent_34x34.png" style="border: none;" width="18" height="18" alt="Skype Me!"/></a>     
				{$oUserProfile->getProfileSkype()|escape:'html'}   
        {/if}</td>
				  </tr>
					<tr>
					  <td class="var">MSN:</td>
					  <td>{if $oUserProfile->getProfileMSN()}
                       <a class="icon" href="msnim:add?contact=={$oUserProfile->getProfileMSN()|escape:'html'}?call"> {$oUserProfile->getProfileMSN()|escape:'html'}</a>   
          
        {/if}</td>
avatar

			/**
                         * Проверяем Skype
                         */
                        if (func_check(getRequest('profile_skype'),'text',1,50)) {
                                $this->oUserCurrent->setProfileSkype(getRequest('profile_skype'));
                        } else {
                                $this->oUserCurrent->setProfileSkype(null);
                        }

			/**
                         * Проверяем Skype
                         */
                        if (func_check(getRequest('profile_msn'),'text',1,50)) {
                                $this->oUserCurrent->setProfileMSN(getRequest('profile_msn'));
                        } else {
                                $this->oUserCurrent->setProfileMSN(null);
                        }
			
			/** Проверяем ICQ
avatar
<p><span class="form">MSN:</span> <br /> <input type="text" name="profile_msn" value="{$oUserCurrent->getProfileMSN()|escape:'html'}"> </p>
               <p> <span class="form">Skype:</span><br /> <input type="text" name="profile_skype" value="{$oUserCurrent->getProfileSkype()|escape:'html'}"> </p>
avatar
ух ты! то что надо. спасибо benony!
  • F-5
  • 0
avatar
сколько не исправлял заставить работать эту штуку не удалось…
Может кто нибудь расскажет как все же правильно, в каких файлах, что править? :)
avatar
Спасибо за топик. Мне помогло.
avatar
че за бред какой-то, ничего не понятно
В темплэйт слеш хабра слеш актионс слеш актионсеттинг слеш профайл.тпл после аськи
человеческим языком написать нельзя?
avatar
Ели разобрался, сделал
SQL Error: Unknown column 'user_profile_skype' in 'field list' at S:\home\test1.ru\www\classes\modules\user\mapper\User.mapper.class.php line 102
Array ( [code] => 1054 [message] => Unknown column 'user_profile_skype' in 'field list' [query] => UPDATE prefix_user SET user_password = '23dbc03773da498d7aed042dd9e40d36' , user_mail = 'admin@admin.adm' , user_skill = '0.00' , user_date_activate = NULL , user_date_comment_last = '2010-05-30 01:56:16' , user_rating = '0.00' , user_count_vote = '0' , user_activate = '1' , user_profile_name = NULL , user_profile_sex = 'other' , user_profile_country = NULL , user_profile_region = NULL , user_profile_city = NULL , user_profile_birthday = NULL , user_profile_site = NULL , user_profile_site_name = NULL , user_profile_icq = NULL , user_profile_about = NULL , user_profile_date = '2010-06-03 13:19:13' , user_profile_avatar = '0' , user_profile_foto = NULL , user_settings_notice_new_topic = '1' , user_settings_notice_new_comment = '1' , user_settings_notice_new_talk = '1' , user_settings_notice_reply_comment = '1' , user_settings_notice_new_friend = '1' , user_profile_skype = NULL WHERE user_id = '1' [context] => S:\home\test1.ru\www\classes\modules\user\mapper\User.mapper.class.php line 102 ) 


выдает.
avatar
Появилось в настройках
Skype: 0
изменяю 0 на свой скайп, но в профиле просто показано Skype:
то есть пусто.
что делать?
avatar
почему не поставить плагин «Контакты» и радоваться?
avatar
Ветка 0.3.1, а «Контакты» на 0.4.2
avatar
а как можно вывести этот skype в
показе топика
так стоит только логин и хочетсся еще и skype добавить…
avatar
в topic.tpl в произвольное место добавить: {$oUser->getProfileSkype()}
avatar
я так догадался и сам попробовать только
выдается почему то ничего
avatar
хотя извиняюсь сейчас заработало
можешь закешировано было или что
avatar
спасибо
avatar
в 0.4.2 не работает.
что куда копать?
avatar
в 0.4.2 не работает.
что куда копать? не меняется информация в БД. ошибок никаких нет, в логах везде чисто.
avatar
давно уже есть плагин, ищите в каталоге
avatar
ссылочкой «в каталоге» не поделитесь?
может сначало проверим, потом напишем?
avatar
livestreet.ru/blog/addons/4945.html
было тут, ФАС автора!)
avatar
мне не нужен плагин, нужен хелп, как добавить дополнительное поле в профиль юзера. что-то такое есть в 0.4.2, из-за чего данные не пишутся и не читаются.
avatar
ай ай ай. всё пашет, ура!
респект авторам статьи.
я сам набоянил в ActionSettings.Class.php
avatar
Вроде как тут есть livestreet.ru/blog/6762.html
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.