linea21-core
[ class tree: linea21-core ] [ index: linea21-core ] [ all elements ]

Source for file display.php

Documentation is available at display.php

  1. <?php
  2. /**
  3.  * @package linea21.core
  4.  * @subpackage user
  5.  * @author linea21 <info@linea21.com>
  6.  * @version $id SVN
  7.  * @access public
  8.  * @license http://opensource.org/licenses/gpl-3.0.html
  9.  */
  10.  
  11. include_once(override('../user/'.SQL.'.inc.php'));
  12.  
  13. if(!function_exists('DisplayInfoUser')) {
  14.  
  15.     function DisplayInfoUser($user_id{
  16.  
  17.         $data=$GLOBALS['sql_object'-> DBSelect(SQL_getAllUserInfo($user_id));
  18.  
  19.         $content '';
  20.  
  21.         if($data == 0error_redirect();
  22.  
  23.         if(count($data)!=1return false;
  24.         else
  25.         {
  26.             // Récupération infos groupes de travail
  27.             include_once('../class/class.user.php');
  28.             $user_objectnew user;
  29.             $r=$user_object->GetUserWorkshops($user_id$GLOBALS['sql_object']);
  30.             $default_wgarray();
  31.             if($r !== 0{
  32.                 foreach($r as $value{
  33.                     array_push($default_wg$value['jwu_workshop_id']);
  34.                 }
  35.             }
  36.             $user_workgroups '';
  37.             if(!empty($default_wg)) {
  38.                 $q=SQL_Get_WorkshopsDenomination($default_wg);
  39.                 $workgroups=$GLOBALS['sql_object']->DBSelect($q);
  40.                 $user_workgroups .= '<ul>';
  41.                 foreach($workgroups as $wg{
  42.                     $link array('rub'=> $GLOBALS['links'][U_L]['workgroup']['linkvalue']'id' => $wg['workshop_id']'name' => $wg['workshop_denomination']);
  43.                     $user_workgroups .= '<li><a href="'.HrefMaker($link).'" title="'._t('name','workshop_module').' : '.formatText($wg['workshop_denomination']'2ATT').'">'.formatText($wg['workshop_denomination']'2HTML').'</a></li>'.END_LINE;
  44.                 }
  45.                 $user_workgroups .= '</ul>';
  46.             else $user_workgroups .= _t('divers''none');
  47.  
  48.             // formattage des données
  49.             $user_login=formatText($data[0]['user_login']'2HTML');
  50.             $user_public_email=$data[0]['profile_email_display'];
  51.             $user_email=$data[0]['profile_email'];
  52.             $user_email=formatText('<a href="mailto:'.$user_email.'">'.$user_email.'</a>''2HTML');
  53.             $user_groupe=formatText($data[0]['catus_name']'2HTML');
  54.  
  55.             $user_profile_firstname=formatText(empty_nc($data[0]['profile_firstname'])'2HTML');
  56.             $user_profile_lastname=formatText(empty_nc($data[0]['profile_lastname'])'2HTML');
  57.             $user_profile_city=formatText(empty_nc($data[0]['profile_city'])'2HTML');
  58.             $user_profile_birthdate=formatText(empty_nc($data[0]['profile_birthdate'])'2HTML');
  59.             $user_profile_leisures=formatText(empty_nc($data[0]['profile_leisures'])'2HTML');
  60.             $user_profile_job=formatText(empty_nc($data[0]['profile_job'])'2HTML');
  61.             $user_profile_quotation=formatText(empty_nc($data[0]['profile_quotation'])'2HTML');
  62.             $user_profile_signature=formatText(empty_nc($data[0]['profile_signature'])'2HTML');
  63.  
  64.             if(!empty($data[0]['profile_avatar'])) {
  65.                 $complete_uri '../'.$data[0]['profile_avatar'];
  66.                 $user_profile_avatar='<img src="'.$complete_uri.'" alt="'._t('user','avatar').' '.$user_login.'" />';
  67.             else $user_profile_avatar=_t('divers','none');
  68.  
  69.             $profile_last_modify_display=$data[0]['profile_last_modify_display'];
  70.             $profile_date_crea_display=$data[0]['profile_date_crea_display'];
  71.             $user_last_con_display=empty_nc($data[0]['user_last_con_display']);
  72.  
  73.             $content.='<h1>'._t('user','profile').' '.$user_login.'</h1>'.END_LINE;
  74.             $content.='<div class="sub-title">';
  75.             $content.=_t('user','h1_public_comment');
  76.             $content.='</div>';
  77.             $content.=GetLinkModifyUserInfo($user_id);
  78.             $content.='<div>'.END_LINE;
  79.             $content.='<dl>'.END_LINE;
  80.             $content.='<dt>'.mb_ucfirst(_t('user','type')).' : </dt>'.END_LINE;
  81.             $content.='<dd>'.$user_groupe.'</dd>'.END_LINE;
  82.             $content.='<dt>'mb_ucfirst(_t('user','email'))' : </dt>'.END_LINE;
  83.             if($user_public_email=='Y')    $content.='<dd>'.$user_email.'</dd>'.END_LINE;
  84.             else $content.='<dd>'._t('statut','draftpdf').'</dd>'.END_LINE;
  85.             $content.='<dt>'.mb_ucfirst(_t('user','first_name')).' : </dt>'.END_LINE;
  86.             $content.='<dd>'$user_profile_firstname.'</dd>'.END_LINE;
  87.             $content.='<dt>'.mb_ucfirst(_t('user','last_name')).' : </dt>'.END_LINE;
  88.             $content.='<dd>'$user_profile_lastname.'</dd>'.END_LINE;
  89.             $content.='<dt>'.mb_ucfirst(_t('user','birthdate')).' : </dt>'.END_LINE;
  90.             $content.='<dd>'$user_profile_birthdate.'</dd>'.END_LINE;
  91.             $content.='<dt>'.mb_ucfirst(_t('user','city')).' : </dt>'.END_LINE;
  92.             $content.='<dd>'$user_profile_city.'</dd>'.END_LINE;
  93.             $content.='<dt>'.mb_ucfirst(_t('user','leisures')).' : </dt>'.END_LINE;
  94.             $content.='<dd>'$user_profile_leisures.'</dd>'.END_LINE;
  95.             $content.='<dt>'.mb_ucfirst(_t('user','job')).' : </dt>'.END_LINE;
  96.             $content.='<dd>'$user_profile_job.'</dd>'.END_LINE;
  97.             $content.='<dt>'.mb_ucfirst(_t('user','avatar')).' : </dt>'.END_LINE;
  98.             $content.='<dd>'$user_profile_avatar.'</dd>'.END_LINE;
  99.             $content.='<dt>'.mb_ucfirst(_t('user','quotation')).' : </dt>'.END_LINE;
  100.             $content.='<dd>'$user_profile_quotation.'</dd>'.END_LINE;
  101.             $content.='<dt>'.mb_ucfirst(_t('user','signature')).' : </dt>'.END_LINE;
  102.             $content.='<dd>'$user_profile_signature.'</dd>'.END_LINE;
  103.             $content.='<dt>'.mb_ucfirst(_t('groups','his')).' : </dt>'.END_LINE;
  104.             $content.='<dd>'$user_workgroups.'</dd>'.END_LINE;
  105.             $content.='<dt>'.mb_ucfirst(_t('user','latest_con')).' : </dt>'.END_LINE;
  106.             $content.='<dd>'$user_last_con_display.'</dd>'.END_LINE;
  107.             $content.='<dt>'.mb_ucfirst(_t('divers','last_modify')).' : </dt>'.END_LINE;
  108.             $content.='<dd>'$profile_last_modify_display.'</dd>'.END_LINE;
  109.             $content.='<dt>'.mb_ucfirst(_t('divers','date_crea')).' : </dt>'.END_LINE;
  110.             $content.='<dd>'$profile_date_crea_display.'</dd>'.END_LINE;
  111.             $content.='</dl>'.END_LINE;
  112.             $content.='</div>'.END_LINE;
  113.  
  114.  
  115.         }
  116.         echo $content;
  117.     }
  118. }
  119.  
  120. if(!function_exists('DisplayFormProfileUser')) {
  121.  
  122.     function DisplayFormProfileUser($user_id$submitted=-1{
  123.  
  124.         $data=$GLOBALS['sql_object'-> DBSelect(SQL_getAllUserInfo($user_id));
  125.         $content '';
  126.         $mask_display_mail_1='';
  127.         $mask_display_mail_2='';
  128.  
  129.         // Restriction on changing emails and passwords for LDAP users
  130.         if($data[0]['user_password'== '@ldap_forward'{
  131.             $mask ' readonly = "readonly"';
  132.         else {
  133.             $mask '';
  134.         }
  135.  
  136.         // ajax code for deleting avatar
  137.         $js '
  138.         $("a.delete_avatar").click(function() {
  139.  
  140.         var url = "../user/delavatar.php?mode=ajax";
  141.         $.ajax({
  142.         type: "GET",
  143.         url: url,
  144.         dataType: "json",
  145.         success: function(data) {
  146.         if(data.status==1) {
  147.         $("#avatarcontainer").fadeOut("slow");
  148.     }
  149.     }
  150.     });
  151.     return false;
  152.     });
  153.     ';
  154.  
  155.         // en modification simple
  156.         if($submitted==-1{
  157.             if(count($data)!=1return false;
  158.             else
  159.             {
  160.                 // formattage des données
  161.                 $form_login=formatText($data[0]['user_login']'2FIELD');
  162.                 $form_public_email=$data[0]['profile_email_display'];
  163.                 $form_email=formatText($data[0]['profile_email']'2FIELD');
  164.                 $current_email=formatText($data[0]['profile_email']'2FIELD');
  165.                 $form_groupe=formatText($data[0]['catus_name']'2FIELD');
  166.                 $current_avatar=$data[0]['profile_avatar'];
  167.                  
  168.                 if($form_public_email=='Y'$mask_display_mail_1=' checked="checked"';
  169.                 else $mask_display_mail_2=' checked="checked"';
  170.                 $form_profile_firstname=formatText($data[0]['profile_firstname']'2FIELD');
  171.                 $form_profile_lastname=formatText($data[0]['profile_lastname']'2FIELD');
  172.                 $form_profile_city=formatText($data[0]['profile_city']'2FIELD');
  173.                 $form_profile_birthdate isNullDate($data[0]['profile_birthdate']'--' formatDate($data[0]['profile_birthdate']true);
  174.                 list($form_date_y$form_date_m$form_date_d)=explode('-'$form_profile_birthdate);
  175.                 $form_profile_leisures=formatText($data[0]['profile_leisures']'2FIELD');
  176.                 $form_profile_job=formatText($data[0]['profile_job']'2FIELD');
  177.                 $form_profile_quotation=formatText($data[0]['profile_quotation']'2FIELD');
  178.                 $form_profile_signature=formatText($data[0]['profile_signature']'2FIELD');
  179.  
  180.                 if(!empty($data[0]['user_old_logins'])) {
  181.                     $old_logins_counter count(explode(','$data[0]['user_old_logins'])) 1;
  182.                 else {
  183.                     $old_logins_counter 0;
  184.                 }
  185.  
  186.                 if(!empty($data[0]['profile_avatar'])) {
  187.                     $complete_uri ='../'.$data[0]['profile_avatar'];
  188.  
  189.                     $link_delavatararray('rub'=> $GLOBALS['links'][U_L]['user-prefs']['linkvalue']'delavatar' => 1);
  190.  
  191.                     $user_profile_avatar '<div id="avatarcontainer">';
  192.                     $user_profile_avatar.='<img src="'.$complete_uri.'" alt="'._t('user','avatar').' '.$_SESSION['userlogin'].'" />';
  193.                     $user_profile_avatar.='<p><a class="delete_avatar" href="'HrefMaker($link_delavatar).'" title="'._t('user','delete_avatar').'"><span>'._t('user','delete_avatar').'</span></a></p>';
  194.                     $user_profile_avatar.='</div>';
  195.  
  196.                     footerAddInlineJS($js);
  197.                 else $user_profile_avatar=_t('divers','none');
  198.                  
  199.                 $profile_last_modify_display=$data[0]['profile_last_modify_display'];
  200.                 $profile_date_crea_display=$data[0]['profile_date_crea_display'];
  201.             }
  202.  
  203.             // un submit à déjà été fait, on affiche les infos entrées par l'utilisateur
  204.         else {
  205.             $form_login=formatText($data[0]['user_login']'2FIELD');
  206.             $form_email=$_REQUEST['email'];
  207.             $current_email=$_REQUEST['current_email'];
  208.             $current_avatar=base64_decode($_REQUEST['current_avatar']);
  209.  
  210.             if(!empty($data[0]['user_old_logins'])) {
  211.                 $old_logins_counter count(explode(','$data[0]['user_old_logins'])) 1;
  212.             else {
  213.                 $old_logins_counter 0;
  214.             }
  215.  
  216.             if(!empty($data[0]['profile_avatar'])) {
  217.                 $complete_uri='../'.$data[0]['profile_avatar'];
  218.  
  219.                 $link_delavatararray('rub'=> $GLOBALS['links'][U_L]['user-prefs']['linkvalue']'delavatar' => 1);
  220.  
  221.                 $user_profile_avatar '<div id="avatarcontainer">';
  222.                 $user_profile_avatar.='<img src="'.$complete_uri.'" alt="'._t('user','avatar').' '.$_SESSION['userlogin'].'" />';
  223.                 $user_profile_avatar.='<p><a class="delete_avatar" href="'HrefMaker($link_delavatar).'" title="'._t('user','delete_avatar').'"><span>'._t('user','delete_avatar').'</span></a></p>';
  224.                 $user_profile_avatar.='</div>';
  225.  
  226.                 footerAddInlineJS($js);
  227.  
  228.             else $user_profile_avatar=_t('divers','none');
  229.              
  230.             if($_REQUEST['email_display']=='Y'$mask_display_mail_1=' checked="checked"';
  231.             else $mask_display_mail_2=' checked="checked"';
  232.             $form_profile_firstname=$_REQUEST['firstname'];
  233.             $form_profile_lastname=$_REQUEST['lastname'];
  234.             $form_date_d=$_REQUEST['date_d'];
  235.             $form_date_m=$_REQUEST['date_m'];
  236.             $form_date_y=$_REQUEST['date_y'];
  237.             $form_profile_city=$_REQUEST['city'];
  238.             $form_profile_leisures=$_REQUEST['leisures'];
  239.             $form_profile_job=$_REQUEST['job'];
  240.             $form_profile_quotation=$_REQUEST['quotation'];
  241.             $form_profile_signature=$_REQUEST['signature'];
  242.         }
  243.  
  244.         $content.='<form action="index.php" method="post" enctype="multipart/form-data">'.END_LINE;
  245.         $content.='<div>'.END_LINE;
  246.         $content.='<table class="modifyuser" summary="'._t('user','p_mod_table_summary').'">'.END_LINE;
  247.  
  248.         // Do user is authorized to change his login
  249.         if(defined('USER_LOGIN_CHANGE'&& USER_LOGIN_CHANGE != && $data[0]['user_password'!= '@ldap_forward'{
  250.              
  251.             $content.='<tr>'.END_LINE;
  252.             $content.='<td>'.END_LINE;
  253.             $content.='<span class="labelised labelmargin">'.mb_ucfirst(_t('user','login')).' : </span>'.END_LINE;
  254.             $content.='</td>'.END_LINE;
  255.             $content.='<td>'.END_LINE;
  256.             $content.= $form_login END_LINE;
  257.              
  258.             if(USER_LOGIN_CHANGE !=  0{
  259.  
  260.                 // if login has been changed more than USER_LOGIN_CHANGE, we replace the value for displaying
  261.                 if($old_logins_counter USER_LOGIN_CHANGE$old_logins_counter USER_LOGIN_CHANGE;
  262.  
  263.                 $content.=' <a href="'.$_SERVER['REQUEST_URI'].'" style="display:none" id="change-login-link" title="'.sprintf(_t('user''change_login_desc')$old_logins_counterUSER_LOGIN_CHANGE).'">['._t('user''change_login').']</a>';
  264.                  
  265.                 $content.='<div class="inline-info" id="change-login-form">'.END_LINE;
  266.                  
  267.                 // if login has been changed more than USER_LOGIN_CHANGE, we replace the value for displaying
  268.                 if($old_logins_counter USER_LOGIN_CHANGE$old_logins_counter USER_LOGIN_CHANGE;
  269.  
  270.                 if($old_logins_counter USER_LOGIN_CHANGE{
  271.                     $content.= sprintf(_t('user''change_login_allowed').' - '._t('user''change_login_limit_done')$old_logins_counterUSER_LOGIN_CHANGE).'.<br />'.END_LINE;
  272.                     $content.= '<input name="newlogin" type="text" class="textfield" id="newlogin" maxlength="150" value="'.$form_login.'" />'.END_LINE;
  273.                      
  274.                 else {
  275.                     $content.= sprintf(_t('user''change_login_limit_reached').' - '._t('user''change_login_limit_done')$old_logins_counterUSER_LOGIN_CHANGE).'.'.END_LINE;
  276.                 }
  277.                  
  278.                 $content.='</div>'.END_LINE;
  279.                  
  280.                 $js "$('#change-login-form').css('display', 'none');
  281.                 $('#change-login-link').show();
  282.                 $('#change-login-link').click(function(e) {
  283.                 e.preventDefault();
  284.                 $('#change-login-form').slideToggle('slow');
  285.             });";
  286.                  
  287.                 footerAddInlineJS($js);
  288.                  
  289.             }
  290.              
  291.             $content.='</td>'.END_LINE;
  292.             $content.='</tr>'.END_LINE;
  293.         }
  294.  
  295.         $content.='<tr>'.END_LINE;
  296.         $content.='<td>'.END_LINE;
  297.         $content.='<label for="email" class="labelised">'.mb_ucfirst(_t('user','email')).' : </label>'.END_LINE;
  298.         $content.='</td>'.END_LINE;
  299.         $content.='<td>'.END_LINE;
  300.         $content.='<input name="email" type="text" class="textfield" id="email" maxlength="200"'.$mask.' value="'.$form_email.'" />'.END_LINE;
  301.         $content.='<br />';
  302.         $content.='<div class="inline-info">'.END_LINE;
  303.         $content.=_t('user','info_mail').END_LINE;
  304.         $content.='</div>'.END_LINE;
  305.         $content.='</td>'.END_LINE;
  306.         $content.='</tr>'.END_LINE;
  307.  
  308.         $content.='<tr>'.END_LINE;
  309.         $content.='<td>'.END_LINE;
  310.         $content.='<label for="email_display_Y" class="labelised">'.mb_ucfirst(_t('user','email_display')).' : </label>'.END_LINE;
  311.         $content.='</td>'.END_LINE;
  312.         $content.='<td>'.END_LINE;
  313.         $content.='<input type="radio" id="email_display_Y" class="radio" name="email_display" value="Y"'.$mask_display_mail_1.' /><span class="radio">'._t('divers','yes').'</span>'.END_LINE;
  314.         $content.='<input type="radio" id="email_display_N" class="radio" name="email_display" value="N"'.$mask_display_mail_2.' /><span class="radio">'._t('divers','no').'</span>'.END_LINE;
  315.         $content.='</td>'.END_LINE;
  316.         $content.='</tr>'.END_LINE;
  317.         $content.='<tr>'.END_LINE;
  318.         $content.='<td>'.END_LINE;
  319.         $content.='<label for="firstname" class="labelised">'.mb_ucfirst(_t('user','first_name')).' : </label>'.END_LINE;
  320.         $content.='</td>'.END_LINE;
  321.         $content.='<td>'.END_LINE;
  322.         $content.='<input name="firstname" type="text" class="textfield" id="firstname" maxlength="200" value="'.$form_profile_firstname.'" />'.END_LINE;
  323.         $content.='</td>'.END_LINE;
  324.         $content.='</tr>'.END_LINE;
  325.         $content.='<tr>'.END_LINE;
  326.         $content.='<td>'.END_LINE;
  327.         $content.='<label for="lastname" class="labelised">'.mb_ucfirst(_t('user','last_name')).' : </label>'.END_LINE;
  328.         $content.='</td>'.END_LINE;
  329.         $content.='<td>'.END_LINE;
  330.         $content.='<input name="lastname" type="text" class="textfield" id="lastname" maxlength="200" value="'.$form_profile_lastname.'" />'.END_LINE;
  331.         $content.='</td>'.END_LINE;
  332.         $content.='</tr>'.END_LINE;
  333.         $content.='<tr>'.END_LINE;
  334.         $content.='<td>'.END_LINE;
  335.         $content.='<label for="date_d" class="labelised">'.mb_ucfirst(_t('user','birthdate')).' : </label>'.END_LINE;
  336.         $content.='</td>'.END_LINE;
  337.         $content.='<td>'.END_LINE;
  338.         $content.= sprintf(input_date($form_date_y$form_date_m$form_date_d));
  339.         $content.='</td>'.END_LINE;
  340.         $content.='</tr>'.END_LINE;
  341.         $content.='<tr>'.END_LINE;
  342.         $content.='<td>'.END_LINE;
  343.         $content.='<label for="city" class="labelised">'.mb_ucfirst(_t('user','city')).' : </label>'.END_LINE;
  344.         $content.='</td>'.END_LINE;
  345.         $content.='<td>'.END_LINE;
  346.         $content.='<input name="city" type="text" class="textfield" id="city" maxlength="100" value="'.$form_profile_city.'" />'.END_LINE;
  347.         $content.='</td>'.END_LINE;
  348.         $content.='</tr>'.END_LINE;
  349.         $content.='<tr>'.END_LINE;
  350.         $content.='<td>'.END_LINE;
  351.         $content.='<label for="leisures" class="labelised">'.mb_ucfirst(_t('user','leisures')).' :</label>'.END_LINE;
  352.         $content.='</td>'.END_LINE;
  353.         $content.='<td>'.END_LINE;
  354.         $content.='<input name="leisures" type="text" class="textfield" id="leisures" maxlength="150" value="'.$form_profile_leisures.'" />'.END_LINE;
  355.         $content.='</td>'.END_LINE;
  356.         $content.='</tr>'.END_LINE;
  357.         $content.='<tr>'.END_LINE;
  358.         $content.='<td>'.END_LINE;
  359.         $content.='<label for="job" class="labelised">'.mb_ucfirst(_t('user','job')).' :</label>'.END_LINE;
  360.         $content.='</td>'.END_LINE;
  361.         $content.='<td>'.END_LINE;
  362.         $content.='<input name="job" type="text" class="textfield" id="job" maxlength="150" value="'.$form_profile_job.'" />'.END_LINE;
  363.         $content.='</td>'.END_LINE;
  364.         $content.='</tr>'.END_LINE;
  365.  
  366.         $content.='<tr>'.END_LINE;
  367.         $content.='<td>'.END_LINE;
  368.         $content.='<span class="labelmargin labelised">' mb_ucfirst(_t('user','current_avatar')).' : '.'</span>'.END_LINE;
  369.         $content.='</td>'.END_LINE;
  370.         $content.='<td>'.END_LINE;
  371.         $content.=$user_profile_avatar.END_LINE;
  372.         $content.='</td>'.END_LINE;
  373.         $content.='</tr>'.END_LINE;
  374.  
  375.         $content.='<tr>'.END_LINE;
  376.         $content.='<td>'.END_LINE;
  377.         $content.='<label for="avatar" class="labelised">'.mb_ucfirst(_t('user','avatar')).' :</label>'.END_LINE;
  378.         $content.='</td>'.END_LINE;
  379.         $content.='<td>'.END_LINE;
  380.         $content.='<input name="avatar" type="file" id="avatar" class="textfield" />'.END_LINE;
  381.         $content.='</td>'.END_LINE;
  382.         $content.='</tr>'.END_LINE;
  383.  
  384.         $content.='<tr>'.END_LINE;
  385.         $content.='<td>'.END_LINE;
  386.         $content.='<label for="quotation" class="labelised">'.mb_ucfirst(_t('user','quotation')).' :</label>'.END_LINE;
  387.         $content.='</td>'.END_LINE;
  388.         $content.='<td>'.END_LINE;
  389.         $content.='<input name="quotation" type="text" class="textfield" id="quotation" maxlength="150" value="'.$form_profile_quotation.'" />'.END_LINE;
  390.         $content.='</td>'.END_LINE;
  391.         $content.='</tr>'.END_LINE;
  392.         $content.='<tr>'.END_LINE;
  393.         $content.='<td>'.END_LINE;
  394.         $content.='<label for="signature" class="labelised">'.mb_ucfirst(_t('user','signature')).' :</label>'.END_LINE;
  395.         $content.='</td>'.END_LINE;
  396.         $content.='<td>'.END_LINE;
  397.         $content.='<input name="signature" type="text" class="textfield" id="signature" maxlength="200" value="'.$form_profile_signature.'" />'.END_LINE;
  398.         $content.='</td>'.END_LINE;
  399.         $content.='</tr>'.END_LINE;
  400.         $content.='</table>'.END_LINE;
  401.  
  402.         $content.='<hr />'.END_LINE;
  403.         $content.='<div class="inline-info">'.END_LINE;
  404.         $content.=_t('user','info_password').END_LINE;
  405.         $content.='</div>'.END_LINE;
  406.         $content.='<table class="modifyuser" summary="">'.END_LINE;
  407.         $content.='<tr>'.END_LINE;
  408.         $content.='<td>'.END_LINE;
  409.         $content.='<label for="password" class="labelised">'.mb_ucfirst(_t('user','p_new_password')).' : </label>'.END_LINE;
  410.         $content.='</td>'.END_LINE;
  411.         $content.='<td>'.END_LINE;
  412.         $content.='<input name="password" type="password" class="textfield" id="password"'.$mask.' maxlength="20" value="" />'.END_LINE;
  413.         $content.='<div id="pwd-complexity" class="default"></div>'.END_LINE;
  414.         $content.='</td>'.END_LINE;
  415.         $content.='</tr>'.END_LINE;
  416.         $content.='<tr>'.END_LINE;
  417.         $content.='<td>'.END_LINE;
  418.         $content.='<label for="password2" class="labelised">'.mb_ucfirst(_t('user','p_new_password_confirm')).' : </label>'.END_LINE;
  419.         $content.='</td>'.END_LINE;
  420.         $content.='<td>'.END_LINE;
  421.         $content.='<input name="password2" type="password" class="textfield" id="password2"'.$mask.' maxlength="20" value="" />'.END_LINE;
  422.         $content.='</td>'.END_LINE;
  423.         $content.='</tr>'.END_LINE;
  424.         $content.='</table>'.END_LINE;
  425.  
  426.         $content.='</div>'.END_LINE;
  427.         $content.='<input name="current_email" type="hidden" value="'.$current_email.'" id="current_email" />'.END_LINE;
  428.         $content.='<input name="current_avatar" type="hidden" value="'.base64_encode($current_avatar).'" id="current_avatar" />'.END_LINE;
  429.         $content.='<input name="id" type="hidden" value="'.$user_id.'" id="id" />'.END_LINE;
  430.         $content.='<input name="rub" type="hidden" id="rub" value="'.$GLOBALS['links'][U_L]['user-prefs']['linkvalue'].'" />'.END_LINE;
  431.         $content.='<input type="submit" class="submitbut" value="'._t('btn','valid').'" title="'._t('btn','valid').'" name="modprofile" id="modprofile" />'.END_LINE;
  432.         $content.='</form>'.END_LINE;
  433.  
  434.         $js_password_inputs 'var minPasswordLength = '.PASSWD_MINLENGTH.';
  435.         var msg_novalue = "'._t('password_strength''novalue').'";
  436.         var msg_short = "'.sprintf(_t('password_strength''too_short')PASSWD_MINLENGTH).'";
  437.         var msg_weak = "'._t('password_strength''weak').'";
  438.         var msg_average = "'._t('password_strength''average').'";
  439.         var msg_strong = "'._t('password_strength''strong').'";
  440.         var msg_secure = "'._t('password_strength''secure').'";
  441.         ';
  442.  
  443.         echo '<script type="text/javascript">'.$js_password_inputs.'</script>';
  444.         footerAddJS('../lib/js/mocha.js');
  445.  
  446.         echo $content;
  447.     }
  448. }
  449.  
  450. if(!function_exists('ModifyProfile')) {
  451.  
  452.     function ModifyProfile({
  453.  
  454.         $link_homearray('rub'=> $GLOBALS['links'][U_L]['home']['linkvalue']);
  455.  
  456.         $id=base64_decode($_SESSION['userid']);
  457.         $integrity=1;
  458.  
  459.         if(isset($_REQUEST['newlogin']&& $_REQUEST['newlogin'!= $GLOBALS['l21auth']->GetSessionElement('login')) {
  460.             $table_user[0$_REQUEST['newlogin'];
  461.             $_SESSION['userfirstname'$_REQUEST['firstname'];
  462.             $logincheck true;
  463.         else {
  464.             $table_user[0$GLOBALS['l21auth']->GetSessionElement('login');
  465.             $logincheck false;
  466.         }
  467.          
  468.         $new_login $table_user[0];
  469.         $current_login $GLOBALS['l21auth']->GetSessionElement('login');
  470.  
  471.  
  472.         $table_user[1=$_REQUEST['email'];
  473.         $table_profile[0$_REQUEST['email'];
  474.         $table_profile[1$_REQUEST['email_display'];
  475.         $table_profile[2$_REQUEST['city'];
  476.         $form_date_d trim($_REQUEST['date_d']);
  477.         $form_date_m trim($_REQUEST['date_m']);
  478.         $form_date_y trim($_REQUEST['date_y']);
  479.         $form_date=$form_date_d '-' $form_date_m '-' $form_date_y;
  480.  
  481.         if(!empty($form_date_d&& !empty($form_date_m&& !empty($form_date_y)) {
  482.             $date_integrity=checkdate_validity($form_date);
  483.         else {
  484.             $date_integrity=true;
  485.         }
  486.         if(is_string($date_integrity)) $integrity $date_integrity;
  487.         else {
  488.             $table_profile[3]$form_date;
  489.         }
  490.  
  491.         $table_profile[4$_REQUEST['leisures'];
  492.         $table_profile[5$_REQUEST['job'];
  493.         $table_profile[6$_REQUEST['quotation'];
  494.         $table_profile[7$_REQUEST['signature'];
  495.         $table_profile[8$_REQUEST['firstname'];
  496.         $table_profile[9$_REQUEST['lastname'];
  497.         $table_profile[10base64_decode($_REQUEST['current_avatar']);
  498.  
  499.  
  500.         include_once('../class/class.user.php');
  501.         $user_objectnew user;
  502.         $data_user_integrity=$user_object->CheckDataIntegrity($table_user$GLOBALS['sql_object']$logincheck);
  503.         if(is_string($data_user_integrity)) $integrity=$data_user_integrity;
  504.  
  505.         if(!empty($_REQUEST['password']&& !is_string($integrity)) {
  506.             $integrity=$user_object->checkPasswordValidity($_REQUEST['password']$_REQUEST['password2']);
  507.         }
  508.         if(!is_string($integrity)) {
  509.             if(isset($_FILES['avatar']&& $_FILES['avatar']['name']!=''{
  510.                 include_once('../class/system/class.upload.php');
  511.                 $upload_objectnew upload;
  512.                 $upload=$_FILES['avatar'];
  513.                 $size_integrity=$upload_object->CheckMaxFile($upload['size']$user_object->UPLOAD_MAX_MO);
  514.                 if(is_string($size_integrity)) $integrity=$size_integrity;
  515.                 $format_integrity=$upload_object->CheckExtImage($upload['name']);
  516.                 if(is_string($format_integrity)) $integrity=$format_integrity;
  517.                 if(!is_string($integrity)) {
  518.                     $final_name=$id.".".$upload_object->GetExtension($upload ['name']);
  519.                     $table_profile[10]=$user_object->URI_INPUT.$final_name;
  520.  
  521.                     $destination="../".$user_object->URI_INPUT;
  522.  
  523.                     $result_upload=$upload_object->UploadFile($upload$final_name$destination);
  524.  
  525.                     // we remove all images with same name except the image just uploaded
  526.                     $upload_object->deleteImages($destination.$final_nametrue);
  527.                 }
  528.             }
  529.         }
  530.  
  531.         if(!is_string($integrity)) {
  532.             $result=$user_object->ModifyProfile($id$table_profile$GLOBALS['sql_object']);
  533.             if($result == true{
  534.                 $string =_t('user','p_confirm_mod').'.';
  535.                 $string.=' <a href="'.HrefMaker($link_home).'" title="'._t('user','p_confirm_back').'" >'._t('user','p_confirm_back').'</a>';
  536.                 $integrity array('code'=> 'confirm''string' => $string);
  537.             }
  538.  
  539.             // Change login if needed
  540.             if($new_login != $current_login{
  541.  
  542.                 $r $user_object->changeLogin($id$new_login$current_login$GLOBALS['sql_object']);
  543.  
  544.                 if($r == true{
  545.                     $_SESSION['userlogin']$new_login;
  546.                 }
  547.  
  548.                 $user_email $_REQUEST['email'];
  549.  
  550.                 /** include envoi de mail */
  551.                 $todo_mail='change_login';
  552.                 include(override('../user/mail_actions.php'));
  553.                 include(override('../mail/template.php'));
  554.             }
  555.  
  556.             // Change Email or/and password
  557.             if(($_REQUEST['email']!=$_REQUEST['current_email']|| !empty($_REQUEST['password'])) {
  558.                 if($_REQUEST['email']!=$_REQUEST['current_email']{
  559.                     $new_pass=$user_object->GetNewPassword();
  560.                     $todo_mail='change_mail';     // choix template pour mail
  561.                     $new_email=$_REQUEST['email'];     // renseignement nouvel email
  562.                     $user_login=$_SESSION['userlogin']// retrieve login
  563.                 }
  564.                 if(!empty($_REQUEST['password'])) {
  565.                     $new_pass=$_REQUEST['password'];
  566.                     $todo_mail='change_pass';     // choix template pour mail
  567.                     $user_email=$_REQUEST['email'];        // renseignement email
  568.                     $user_login=$_SESSION['userlogin']// retrieve login
  569.                 }
  570.                 $user_object->UpdateUserPassword($id$new_pass$GLOBALS['sql_object']);
  571.                 $GLOBALS['l21auth']->updateSessionPassword(crypt($new_passSALT_CRYPT));
  572.                  
  573.                 /** include envoi de mail */
  574.                 include(override('../user/mail_actions.php'));
  575.                 include(override('../mail/template.php'));
  576.             }
  577.  
  578.         else {
  579.             $integrity array('code'=> 'error''string' => $integrity);
  580.         }
  581.  
  582.         $return_result ='<div class="'.$integrity['code'].'">'.END_LINE;
  583.         $return_result.=$integrity['string'].END_LINE;
  584.         $return_result.='</div>'.END_LINE;
  585.  
  586.         return $return_result;
  587.     }
  588. }
  589.  
  590. if(!function_exists('deleteUserAvatar')) {
  591.  
  592.     function deleteUserAvatar({
  593.  
  594.         include_once('../user/delavatar.php');
  595.             
  596.         $str ='<div class="confirm">'.END_LINE;
  597.         $str.=_t('user','confirm_delavatar').END_LINE;
  598.         $str.='</div>'.END_LINE;
  599.         echo $str;
  600.     }
  601. }
  602.  
  603. if(!function_exists('ChangeNotifySettings')) {
  604.  
  605.     function ChangeNotifySettings($user_id{
  606.          
  607.         include_once('../class/class.user.php');
  608.         $user_objectnew user;
  609.          
  610.         $allgroups array();
  611.         $checked array();
  612.         $disabled array();
  613.          
  614.         // get workgroups
  615.         $data=$GLOBALS['sql_object'-> DBSelect(SQL_getUserWorkgroups($user_id));
  616.         if($data == 0return false;
  617.          
  618.         foreach($data as $el{
  619.             array_push($allgroups'topic-'.$el['id']);
  620.             array_push($allgroups'post-'.$el['id']);
  621.             array_push($allgroups'file-'.$el['id']);
  622.         }
  623.  
  624.         if(isset($_POST['topic'])) {
  625.             foreach($_POST['topic'as $el{
  626.                 array_push($checked'topic-'.$el);
  627.             }
  628.         }
  629.         if(isset($_POST['post'])) {
  630.             foreach($_POST['post'as $el{
  631.                 array_push($checked'post-'.$el);
  632.             }
  633.         }
  634.         if(isset($_POST['file'])) {
  635.             foreach($_POST['file'as $el{
  636.                 array_push($checked'file-'.$el);
  637.             }
  638.         }
  639.         if(isset($_POST['disabledfields'])) {
  640.             $disabled unserialize(rawurldecode($_POST['disabledfields']));
  641.         }
  642.  
  643.         $checked array_merge($disabled$checked);
  644.          
  645.         // diff between all groups and checked boxes
  646.         $exceptions array_diff($allgroups$checked);
  647.         $r $user_object->changeWorkshopsNotification($user_id$exceptions$GLOBALS['sql_object']);
  648.          
  649.         $str ='<div class="confirm">'.END_LINE;
  650.         $str.=_t('user','notify_changes_success').END_LINE;
  651.         $str.='</div>'.END_LINE;
  652.         echo $str;
  653.     }
  654. }
  655.  
  656.  
  657. if(!function_exists('GetLinkModifyUserInfo')) {
  658.  
  659.     function GetLinkModifyUserInfo($user_id{
  660.  
  661.         $content ='';
  662.         if(isset($_SESSION['authenticated']&& $user_id==base64_decode($_SESSION['userid'])) {
  663.             $link_editarray('rub'=> $GLOBALS['links'][U_L]['user-prefs']['linkvalue']);
  664.  
  665.             $content.='<div id="editprofile">'.END_LINE;
  666.             $content.='<a class="button buttonmargin" href="'.HrefMaker($link_edit).'" title="'._t('user','p_mod').'">'._t('user','p_mod').'</a>';
  667.             $content.='</div>'.END_LINE;
  668.         }
  669.         return $content;
  670.     }
  671. }
  672.  
  673. if(!function_exists('DisplayAuthTextInfo')) {
  674.  
  675.     function DisplayAuthTextInfo({
  676.         $link_accountarray('rub'=> $GLOBALS['links'][U_L]['user-registration']['linkvalue']);
  677.         $content ='<div class="info">'.END_LINE;
  678.         $content.=_t('user','info_inscription').END_LINE;
  679.         $content.='<a href="'.HrefMaker($link_account).'">'._t('user','info_inscription2').' </a>'.END_LINE;
  680.         $content.='.<br />'._t('user','info_inscription3').''.END_LINE;
  681.         $content.='</div>'.END_LINE;
  682.         echo $content;
  683.     }
  684. }
  685.  
  686. if(!function_exists('DisplayWorkgroupsSettings')) {
  687.  
  688.     function DisplayWorkgroupsSettings($user_id{
  689.         $content ='<h2>'._t('user','my_workgroups').'</h2>'.END_LINE;
  690.         $content.='<div class="personnalsettings">'.END_LINE;
  691.         $content.='<p>'._t('user','workgroups_notification').'</p>'.END_LINE;
  692.         $content.=getWorkgroupsNotificationTable($user_id);
  693.         $content.='</div>';
  694.  
  695.         echo $content;
  696.     }
  697. }
  698.  
  699. if(!function_exists('getWorkgroupsNotificationTable')) {
  700.  
  701.     function getWorkgroupsNotificationTable($user_id{
  702.  
  703.         $exceptions array();
  704.         $disabled_fields array();
  705.  
  706.         // get workgroups
  707.         $data=$GLOBALS['sql_object'-> DBSelect(SQL_getUserWorkgroups($user_id));
  708.          
  709.         // get notification exceptions
  710.         $exc=$GLOBALS['sql_object'-> DBSelect(SQL_getUserNotifyExceptionsSettings($user_id));
  711.          
  712.          
  713.         if($exc!=0{
  714.             foreach($exc as $el{
  715.                 array_push($exceptions$el['exception']);
  716.             }
  717.         }
  718.         // default mask
  719.         $dmask='checked="checked"';
  720.          
  721.         if($data==0return false;
  722.  
  723.         // general config
  724.         if(ALERT_NEWTOPIC==2{
  725.             $is_topicDisabled='';
  726.         else {
  727.             $is_topicDisabled=' disabled="disabled"';
  728.         }
  729.         if(ALERT_NEWPOST==2{
  730.             $is_postDisabled='';
  731.         else {
  732.             $is_postDisabled=' disabled="disabled"';
  733.         }
  734.         if(ALERT_NEWFILE==2{
  735.             $is_fileDisabled='';
  736.         else {
  737.             $is_fileDisabled=' disabled="disabled"';
  738.         }
  739.  
  740.  
  741.         $content  ='<form action="index.php" method="post">'.END_LINE;
  742.         $content .= "<table>";
  743.         $content .= "<thead>";
  744.         $content .= "<tr>";
  745.         $content .= "<td>"._t('user','workgroups_label')."</td>";
  746.         $content .= "<td class=\"center\">".str_replace(' - ''<br />'_t('user','notify_topic'))."</td>";
  747.         $content .= "<td class=\"center\">".str_replace(' - ''<br />',_t('user','notify_post'))."</td>";
  748.         $content .= "<td class=\"center\">".str_replace(' - ''<br />',_t('user','notify_file'))."</td>";
  749.         $content .= "</tr>";
  750.         $content  .= "</thead>";
  751.         $content  .= "<tbody>";
  752.         foreach($data as $el{
  753.              
  754.             if(in_array('topic-'.$el['id']$exceptions)) {
  755.                 $topic_mask '';
  756.                 $topic_on_class='';
  757.                 $topic_off_class=' selected';
  758.             else {
  759.                 $topic_mask $dmask;
  760.                 $topic_on_class=' selected';
  761.                 $topic_off_class='';
  762.                 // we handle disabled fields because they are not sent to server !!!
  763.                 if(ALERT_NEWTOPIC!=2array_push($disabled_fields'topic-'.$el['id']);
  764.             }
  765.             if(in_array('post-'.$el['id']$exceptions)) {
  766.                 $post_mask '';
  767.                 $post_on_class='';
  768.                 $post_off_class=' selected';
  769.             else {
  770.                 $post_mask $dmask;
  771.                 $post_on_class=' selected';
  772.                 $post_off_class='';
  773.                 // we handle disabled fields because they are not sent to server !!!
  774.                 if(ALERT_NEWPOST!=2array_push($disabled_fields'post-'.$el['id']);
  775.             }
  776.             if(in_array('file-'.$el['id']$exceptions) ) {
  777.                 $file_mask '';
  778.                 $file_on_class='';
  779.                 $file_off_class=' selected';
  780.             else {
  781.                 $file_mask $dmask;
  782.                 $file_on_class=' selected';
  783.                 $file_off_class='';
  784.                 // we handle disabled fields because they are not sent to server !!!
  785.                 if(ALERT_NEWFILE!=2array_push($disabled_fields'file-'.$el['id']);
  786.             }
  787.  
  788.             $content .= "<tr>";
  789.             $content .= "<td>".$el['name']."</td>";
  790.             $content .= "<td class=\"center\"><p class=\"switch\"><label class=\"cb-enable".$topic_on_class."\"><span>"._t('divers''yes')."</span></label><label class=\"cb-disable".$topic_off_class."\"><span>"._t('divers''no')."</span></label><input".$is_topicDisabled." type=\"checkbox\" ".$topic_mask." value=\"".$el['id']."\" id=\"topic-".$el['id']."\" name=\"topic[]\" /></p></td>";
  791.             $content .= "<td class=\"center\"><p class=\"switch\"><label class=\"cb-enable".$post_on_class."\"><span>"._t('divers''yes')."</span></label><label class=\"cb-disable".$post_off_class."\"><span>"._t('divers''no')."</span></label><input".$is_postDisabled." type=\"checkbox\" ".$post_mask." value=\"".$el['id']."\" id=\"post-".$el['id']."\" name=\"post[]\" /></p></td>";
  792.             $content .= "<td class=\"center\"><p class=\"switch\"><label class=\"cb-enable".$file_on_class."\"><span>"._t('divers''yes')."</span></label><label class=\"cb-disable".$file_off_class."\"><span>"._t('divers''no')."</span></label><input".$is_fileDisabled." type=\"checkbox\" ".$file_mask." value=\"".$el['id']."\" id=\"file-".$el['id']."\" name=\"file[]\" /></p></td>";
  793.             $content .= "</tr>";
  794.         }
  795.         $content .= "</tbody>";
  796.         $content .= "</table>";
  797.         $content .='<input type="hidden" name="disabledfields" id="disabledfields" value="'.rawurlencode(serialize($disabled_fields)).'" />'.END_LINE;
  798.         $content .='<input type="hidden" name="rub" id="rub2" value="'.$GLOBALS['links'][U_L]['user-prefs']['linkvalue'].'" />'.END_LINE;
  799.         $content .='<input type="submit" class="submitbut" value="'._t('btn','valid').'" title="'._t('btn','valid').'" name="notifyUpdate" id="notifyUpdate" />'.END_LINE;
  800.         $content .= "</form>";
  801.  
  802.         //Iphone style button
  803.         /**
  804.         $content .="<script type=\"text/javascript\">
  805.         $(document).ready( function(){
  806.         $('.switch').parent('td').css('padding-left', '4em');
  807.         $('.switch input').css('display', 'none');
  808.         $('.cb-enable').click(function(){
  809.         var parent = $(this).parents('.switch');
  810.         if($(':checkbox',parent).attr('disabled') != true) {
  811.         $('.cb-disable',parent).removeClass('selected');
  812.         $(this).addClass('selected');
  813.         $(':checkbox',parent).attr('checked', true);
  814.         }
  815.         });
  816.         $('.cb-disable').click(function(){
  817.         var parent = $(this).parents('.switch');
  818.         if($(':checkbox',parent).attr('disabled') != true) {
  819.         $('.cb-enable',parent).removeClass('selected');
  820.         $(this).addClass('selected');
  821.         $(':checkbox',parent).attr('checked', false);
  822.         }
  823.         });
  824.         });
  825.         </script>";
  826.         */
  827.  
  828.  
  829.         return $content;
  830.     }
  831. }
  832. ?>

Documentation generated on Thu, 20 Mar 2014 16:47:48 +0100 by phpDocumentor 1.4.1