Example #1
0
 /**
  * Return all the info about the user
  * @param <int> $id_user the idst of the user
  */
 private function getUserDetails($id_user)
 {
     require_once _adm_ . '/lib/lib.field.php';
     $user_data = $this->aclManager->getUser($id_user, false);
     $output = array();
     if (!$user_data) {
         $output['success'] = false;
         $output['message'] = 'Invalid user ID: ' . $id_user . '.';
         $output['details'] = false;
     } else {
         $user_details = array('idst' => $user_data[ACL_INFO_IDST], 'userid' => $this->aclManager->relativeId($user_data[ACL_INFO_USERID]), 'firstname' => $user_data[ACL_INFO_FIRSTNAME], 'lastname' => $user_data[ACL_INFO_LASTNAME], 'email' => $user_data[ACL_INFO_EMAIL], 'signature' => $user_data[ACL_INFO_SIGNATURE], 'valid' => $user_data[ACL_INFO_VALID], 'pwd_expire_at' => $user_data[ACL_INFO_PWD_EXPIRE_AT], 'register_date' => $user_data[ACL_INFO_REGISTER_DATE], 'last_enter' => $user_data[ACL_INFO_LASTENTER]);
         $field_man = new FieldList();
         $field_data = $field_man->getFieldsAndValueFromUser($id_user, false, true);
         $fields = array();
         foreach ($field_data as $field_id => $value) {
             $fields[] = array('id' => $field_id, 'name' => $value[0], 'value' => $value[1]);
         }
         $user_details['custom_fields'] = $fields;
         $output['success'] = true;
         $output['message'] = '';
         $output['details'] = $user_details;
     }
     return $output;
 }
 /**
  * retrive the value of the extra field for the user that is classiied as contact without checking the access list
  */
 function getUserContactNoRestriction($id_user)
 {
     require_once $GLOBALS['where_framework'] . '/lib/lib.field.php';
     $field_man = new FieldList();
     $field_founded = $field_man->getFieldsAndValueFromUser($id_user, false, false, array('contact'));
     $field = array();
     foreach ($field_founded as $id => $arr_value) {
         $ob =& $field_man->getFieldInstance($id, $arr_value[5], $arr_value[6]);
         $field[$id] = array('name' => $arr_value[0], 'value' => $arr_value[1], 'href' => $ob->getIMBrowserHref($id_user, $arr_value[1]), 'image' => $ob->getIMBrowserImageSrc($id_user, $arr_value[1]), 'head' => $ob->getIMBrowserHead($id_user, $arr_value[1]), 'field_type' => $arr_value[4]);
     }
     return $field;
 }
 function add_row($row)
 {
     $array_substitution = array();
     $array_param = explode(',', $this->param_string);
     if (array_search('[date_subscription]', $array_param) || array_search('[matriculant]', $array_param)) {
         $query = "SELECT idUser, date_inscr" . " FROM " . $GLOBALS['prefix_lms'] . "_courseuser" . " WHERE idCourse = '" . $row['[id_course]'] . "'" . " AND status = '2'" . ($this->last_execution !== NULL ? " AND date_complete >= '" . $this->last_execution . "'" : '');
         $result = sql_query($query);
         if (mysql_num_rows($result)) {
             $put = '';
             while (list($id_user, $date_inscr) = sql_fetch_row($result)) {
                 foreach ($array_param as $param) {
                     switch ($param) {
                         case '[blank_space]':
                             $array_substitution[] = '';
                             break;
                         case '[course_code]':
                             $array_substitution[] = html_entity_decode($row['[course_code]'], ENT_QUOTES, "UTF-8");
                             break;
                         case '[matriculant]':
                             require_once $GLOBALS['where_framework'] . '/lib/lib.field.php';
                             $field_man = new FieldList();
                             //TODO: Modificare con il nome del campo della matricola che hanno in piattaforma
                             $id_common_field = $field_man->getFieldIdCommonFromTranslation('Matricola');
                             $array_field = $field_man->getFieldsAndValueFromUser($id_user);
                             $array_substitution[] = sprintf("%07d", $array_field[$id_common_field][1]);
                             break;
                         case '[date_subscription]':
                             if ($date_inscr !== '0000-00-00' && $date_inscr !== '') {
                                 $array_substitution[] = $date_inscr;
                             } else {
                                 $array_substitution[] = $row['[date_creation]'];
                             }
                             break;
                         case '[course_creation]':
                             if ($row['[create_date]'] !== '0000-00-00') {
                                 $array_substitution[] = $row['[create_date]'];
                             } else {
                                 $array_substitution[] = $row['[course_begin]'];
                             }
                             break;
                         default:
                             $array_substitution[] = $param;
                             break;
                     }
                 }
                 $put .= vsprintf($this->asprintf_string, $array_substitution) . "\r\n";
             }
             if (@fwrite($this->filehandle, $put)) {
                 return true;
             } else {
                 return false;
             }
         }
         return true;
     } else {
         if ($row['[create_date]'] < $this->last_execution) {
             return true;
         }
         foreach ($array_param as $param) {
             switch ($param) {
                 case '[blank_space]':
                     $array_substitution[] = '';
                     break;
                 case '[course_code]':
                     $array_substitution[] = html_entity_decode($row['[course_code]'], ENT_QUOTES, "UTF-8");
                     break;
                 case '[course_name]':
                     $array_substitution[] = html_entity_decode(trim($row['[course_name]']), ENT_QUOTES, "UTF-8");
                     break;
                 case '[course_descr]':
                     $array_substitution[] = html_entity_decode(str_replace(array("\n", "\r"), '', strip_tags(trim($row['[course_descr]']))), ENT_QUOTES, "UTF-8");
                     break;
                 case '[medium_time]':
                     $array_substitution[] = sprintf("%04d", $row['[medium_time]']) . '00';
                     break;
                 case '[course_begin]':
                     $array_substitution[] = $row['[course_begin]'];
                     break;
                 case '[course_end]':
                     if ($row['[course_end]'] !== '0000-00-00') {
                         $array_substitution[] = $row['[course_end]'];
                     } else {
                         $array_substitution[] = '2999-12-31';
                     }
                     break;
                 case '[course_creation]':
                     if ($row['[create_date]'] !== '0000-00-00') {
                         $array_substitution[] = $row['[create_date]'];
                     } else {
                         $array_substitution[] = $row['[course_begin]'];
                     }
                     break;
                 default:
                     $array_substitution[] = $param;
                     break;
             }
         }
         $put = vsprintf($this->asprintf_string, $array_substitution) . "\r\n";
         if (@fwrite($this->filehandle, $put)) {
             return true;
         } else {
             return false;
         }
     }
 }