UserProfileSkype
Общее описание
Демонстрирует, как добавить новое поле к профилю пользователя (данные о пользователе хранятся в типе AdvOntology User).
Процедура инсталляции (добавляем поле):
<?php
function onInstall($params) {
$this->advOnto->addTypeField("User", "skypename", "varchar(200)");
return true;
}
?>
Процедура дезинсталляции (удаляем поле):
<?php
function onUninstall($params) {
$this->advOnto->delTypeField("User", "skypename");
return true;
}
?>
В коде экшна (userprofileskyname) мы конфигурируем стандартный экшн adminedittable для работы с соответствующей записью пользователя. В случае необходимости мы могли бы сконфигурировать его для работы сразу с несколькими полями.
<?php
if($this->GetUser()) {
?>
<br />
<div align='center'>
<table style="width: 600px; border: 0px">
<tr><td>
<?
echo '<div align="center" class="login_title"><b>Данные вашего профиля</b></div><br />';
$servOnto = $this->srvFactory("AdvOntology");
$userRec = $servOnto->getConceptByData("User",$this->GetUsername());
// security init
$this->secAdminedittable = true;
$tname='advontotypes_User';
$btnedit='Обновить информацию в профиле';
$msgedit='Ваша персональная информация обновлена!';
$notparse = '1';
$hideheader = '1';
// здесь можно было бы сконфигурировать экшн для редактирования нескольких полей профиля
$fieldar = array (
array ('Скайп-имя','skypename','text', '')
);
//$onlyadd = 1;
$_GET["editid"] = $userRec["id"];
$_GET["deleteid"] = '';
$_POST['idnafig'] = $userRec["id"];
$firstcolwidth=20;
include('actions/adminedittable.php');
//security finalization
$this->secAdminedittable = false;
?>
</td></tr>
</table>
</div>
<?php
} // GetUser check
?>
Скачать
Примечания
У вас нет прав на изменение этой страницы.