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
?>

Скачать

Файлы, доступные на данной странице:
2012-07-24 16:17:30    (2 Кб)  userprofileskype.rar UserProfileSkype – v1.0

Примечания

У вас нет прав на изменение этой страницы.