Example #1
0
$user_agenda = $userObj->get_agendaFN($sess_id_user);
}
else {
$user_messages = $userObj->error_msg;
$user_agenda = translateFN("Nessun'informazione");
}
}
else {
$user_messages = $userObj;
$user_agenda = "";
}
*/
// Who's online
// $online_users_listing_mode = 0 (default) : only total numer of users online
// $online_users_listing_mode = 1 : username of users
// $online_users_listing_mode = 2 : username and email of users
$online_users_listing_mode = 2;
$online_users = ADALoggableUser::get_online_usersFN($id_course_instance, $online_users_listing_mode);
$banner = (include ROOT_DIR . "/include/banner.inc.php");
/* 8.
costruzione della pagina HTML
*/
$Simple_searchLink = "<a href='#'onClick=simpleSearch()>Ricerca semplice</a>";
$content_dataAr = array('form' => $search_form, 'results' => $search_results, 'simpleSearch' => $Simple_searchLink, 'menu' => $menu, 'banner' => $banner, 'course_title' => '<a href="main_index.php">' . $course_title . '</a>', 'user_name' => $user_name, 'user_type' => $user_type, 'level' => $user_level, 'index' => $node_index, 'title' => $node_title, 'author' => $node_author, 'text' => $data['text'], 'link' => $data['link'], 'messages' => $user_messages->getHtml(), 'agenda' => $user_agenda->getHtml(), 'events' => $user_events->getHtml(), 'chat_users' => $online_users);
/**
* Sends data to the rendering engine
*/
ARE::render($layout_dataAr, $content_dataAr);
?>

Example #2
0
 public static function create(ADALoggableUser $userObj)
 {
     $user_types_Ar = array(AMA_TYPE_ADMIN => array(AMA_TYPE_TUTOR, AMA_TYPE_AUTHOR, AMA_TYPE_SWITCHER), AMA_TYPE_SWITCHER => array(AMA_TYPE_TUTOR, AMA_TYPE_STUDENT), AMA_TYPE_AUTHOR => array(), AMA_TYPE_TUTOR => array(AMA_TYPE_SWITCHER, AMA_TYPE_STUDENT), AMA_TYPE_STUDENT => array(AMA_TYPE_SWITCHER, AMA_TYPE_TUTOR));
     /**
      * @author giorgio 13/apr/2015
      * 
      * if userObj is a superTutor, add AMA_TYPE_TUTOR to the addressbook
      */
     if ($userObj->getType() == AMA_TYPE_TUTOR && $userObj->isSuper()) {
         $user_types_Ar[AMA_TYPE_TUTOR][] = AMA_TYPE_TUTOR;
     }
     $users_Ar = parent::fillAddressBook($userObj, $user_types_Ar);
     if ($users_Ar == FALSE) {
         return new CText('');
     }
     return parent::getAddressBook($userObj, $user_types_Ar, $users_Ar);
 }
Example #3
0
          * ADA DB or had just been created by the above code
          */
         if (is_object($userObj) && $userObj instanceof ADALoggableUser) {
             /**
              * $selectedLanguage is coming from $_GET and is the
              * user selection in the login form. If the login provider
              * sets an ADA supported user language, set that instead of
              * user selection
              */
             if (!is_null($language)) {
                 $selectedLanguage = $language;
             }
             // WARNING!! only one set of options is supported on this login provider
             $hybridLogin->setSuccessfulOptionsID(1);
             // set session and redirect
             ADALoggableUser::setSessionAndRedirect($userObj, $remindme, $selectedLanguage, $hybridLogin);
         } else {
             // throw an exception
             $hybridLogin->logOutFromProvider();
             throw new Exception(null, 9);
         }
     }
 } catch (Exception $e) {
     require_once ROOT_DIR . '/browsing/include/browsing_functions.inc.php';
     switch ($e->getCode()) {
         case 0:
             $message = "Errore sconosciuto.";
             break;
         case 1:
             $message = "Errore di configurazione di Hybridauth.";
             break;
Example #4
0
 function get_linksFN($user_level, $id_profile)
 {
     //global $dh,$error,$debug;
     //global $sess_id_course,$sess_id_course_instance,$sess_id_user;
     $dh = isset($GLOBALS['dh']) ? $GLOBALS['dh'] : null;
     $error = isset($GLOBALS['error']) ? $GLOBALS['error'] : null;
     $debug = isset($GLOBALS['debug']) ? $GLOBALS['debug'] : null;
     $sess_id_course = isset($_SESSION['sess_id_course']) ? $_SESSION['sess_id_course'] : null;
     $sess_id_course_instance = isset($_SESSION['sess_id_course_instance']) ? $_SESSION['sess_id_course_instance'] : null;
     $sess_id_user = isset($_SESSION['sess_id_user']) ? $_SESSION['sess_id_user'] : null;
     // filtro sui link:
     // verifica se i nodi linkati hanno livello<= a quello dell'utente
     if (!empty($this->links)) {
         $linkAr = $this->links;
         // mydebug(__LINE__,__FILE__,$linkAr);
         $dataAr = array();
         foreach ($linkAr as $id_link) {
             $linkObj = new Link($id_link);
             $id_linked_node = $linkObj->to_node_id;
             $link_meaning = translatefN("Tipo:") . $linkObj->meaning;
             $node = $id_linked_node;
             $tempNodeObj = new Node($node, 0);
             if ($tempNodeObj->full == 1) {
                 $linked_node_name = $tempNodeObj->name;
                 $linked_node_level = $tempNodeObj->level;
                 if ($linked_node_level <= $user_level) {
                     switch ($id_profile) {
                         case AMA_TYPE_STUDENT:
                         default:
                             $visit_count = ADALoggableUser::is_visited_by_userFN($node, $sess_id_course_instance, $sess_id_user);
                             break;
                         case AMA_TYPE_TUTOR:
                             $visit_count = ADALoggableUser::is_visited_by_classFN($node, $sess_id_course_instance, $sess_id_user);
                             break;
                         case AMA_TYPE_AUTHOR:
                             $visit_count = ADALoggableUser::is_visitedFN($node);
                     }
                     if ($visit_count <= 0) {
                         $ok_link = array("<img src=\"img/_linka.png\">", "&nbsp;<a class='node_not_visited' href=view.php?id_node={$node} alt=\"{$link_meaning}\">{$linked_node_name}</a>");
                     } else {
                         $ok_link = array("<img src=\"img/_linka.png\">", "&nbsp;<a href=view.php?id_node={$node} alt=\"{$link_meaning}\">{$linked_node_name}</a> ({$visit_count})");
                     }
                 } else {
                     $ok_link = array("<img src=\"img/_linkdis.png\">", "&nbsp; " . $linked_node_name);
                     // $ok_link = array("<img src=\"templates/default/img/_linkdis.png\">",$linked_node_name);
                 }
             } else {
                 //$ok_link =array("&nbsp;","&nbsp;");
                 $ok_link = array("<img src=\"img/_linkdis.png\" alt=\"{$node}\">", translateFN("nodo non trovato"));
             }
             array_push($dataAr, $ok_link);
         }
         $dataAr = $this->_removeEmptyElements($dataAr);
         $t = new Table();
         $rules = '';
         $style = 'table_link';
         $t->initTable('0', 'center', '0', '0', '100%', '', '', '', '', '0', '0', $rules, $style);
         $t->setTable($dataAr, $caption = "", $summary = translateFN("Indice dei nodi collegati"));
         return $t->getTable();
     } else {
         return $this->_wrapTextInSpan(translateFN('Nessuno'), 'noitem')->getHtml();
     }
 }
Example #5
0
                     if (is_object($lastTry) && $lastTry instanceof ADALoggableUser) {
                         $loginObj = null;
                         $userObj = $lastTry;
                     }
                 }
             }
         }
     }
     if (is_object($userObj) && $userObj instanceof ADALoggableUser) {
         if (isset($_SESSION['subscription_page'])) {
             $redirectURL = $_SESSION['subscription_page'];
             unset($_SESSION['subscription_page']);
         } else {
             $redirectURL = $navigationHistoryObj->lastModule();
         }
         if (!ADALoggableUser::setSessionAndRedirect($userObj, $p_remindme, $p_selected_language, $loginObj, $redirectURL)) {
             //  Utente non loggato perché stato <> ADA_STATUS_REGISTERED
             $login_error_message = translateFN("Utente non abilitato");
         }
     } else {
         if (is_object($userObj) && $userObj instanceof Exception) {
             $login_error_message = $userObj->getMessage();
             if ($userObj->getCode() !== 0) {
                 $login_error_message .= ' (' . $userObj->getCode() . ')';
             }
         } else {
             // Utente non loggato perché coppia username password non corretta
             $login_error_message = translateFN("Username  e/o password non valide");
         }
     }
 }
Example #6
0
 public function __construct($user_dataAr = array())
 {
     parent::__construct($user_dataAr);
     $this->setHomePage(HTTP_ROOT_DIR . '/admin/admin.php');
 }
Example #7
0
 /**
  * removeUserExtraData
  * 
  * Removes a row from the user extra datas.
  * 
  * @author giorgio 20/giu/2013
  * 
  * @param ADALoggableUser $userObj user for which to delete the row
  * @param int $extraTableId	row id to be deleted
  * @param string $extraTableClass class of row to be deleted
  * 
  * @return boolean on error | query result
  * 
  * @access public
  */
 public static function removeUserExtraData(ADALoggableUser $userObj, $extraTableId = null, $extraTableClass = false)
 {
     if ($extraTableId !== null && $extraTableClass !== false) {
         $user_id = $userObj->getId();
         $testers = $userObj->getTesters();
         if (!is_array($testers)) {
             $testers = array();
         }
         if ($user_id == 0) {
             return FALSE;
         }
         foreach ($testers as $tester) {
             $tester_dh = AMA_DataHandler::instance(MultiPort::getDSN($tester));
             $result = $tester_dh->remove_user_extraRow($user_id, $extraTableId, $extraTableClass);
         }
         return $result;
     } else {
         return false;
     }
 }
 public static function getEguidanceTutorForm(ADALoggableUser $tutoredUserObj, $service_infoAr = array(), $form_dataAr = array(), $fill_textareas = FALSE)
 {
     $form = CDOMElement::create('form', 'id:eguidance_tutor_form, name: eguidance_tutor_form, action:eguidance_tutor_form.php, method:post');
     $area_personal_conditions = CDOMElement::create('div');
     $area_personal_conditions->addChild(new CText(EguidanceSession::textLabelForField('area_pc')));
     $form->addChild($area_personal_conditions);
     /*
      * Fiscal code
      */
     $user_fiscal_code = $tutoredUserObj->getFiscalCode();
     if (!is_null($user_fiscal_code)) {
         $hidden_fc = CDOMElement::create('hidden', 'id:user_fc, name:user_fc');
         $hidden_fc->setAttribute('value', $user_fiscal_code);
         $form->addChild($hidden_fc);
         $ufc = $user_fiscal_code;
     } else {
         $ufc = translateFN("L'utente non ha fornito il codice fiscale");
     }
     if (isset($form_dataAr['is_popup'])) {
         $hidden_popup = CDOMElement::create('hidden', 'id:is_popup, name:is_popup');
         $hidden_popup->setAttribute('value', '1');
         $form->addChild($hidden_popup);
     }
     /*
      * Hidden user data
      */
     $user_fullname = $tutoredUserObj->nome . ' ' . $tutoredUserObj->cognome;
     $user_country = $tutoredUserObj->getCountry();
     $user_birthdate = $tutoredUserObj->getBirthDate();
     $user_birthcity = $tutoredUserObj->getBirthCity();
     $user_birthprovince = $tutoredUserObj->getBirthProvince();
     $user_gender = $tutoredUserObj->getGender();
     $user_foreign_culture = 'FOREIGN CULTURE';
     if (($id = DataValidator::is_uinteger($form_dataAr['id'])) !== FALSE) {
         $hidden_id_eguidance_session = CDOMElement::create('hidden', 'id:id_eguidance_session, name:id_eguidance_session');
         $hidden_id_eguidance_session->setAttribute('value', $id);
         $form->addChild($hidden_id_eguidance_session);
     }
     $hidden_id_utente = CDOMElement::create('hidden', 'id:id_utente, name:id_utente');
     $hidden_id_utente->setAttribute('value', $tutoredUserObj->getId());
     $hidden_id_istanza_corso = CDOMElement::create('hidden', 'id:id_istanza_corso, name:id_istanza_corso');
     $hidden_id_istanza_corso->setAttribute('value', $service_infoAr['id_istanza_corso']);
     $hidden_event_token = CDOMElement::create('hidden', 'id:event_token, name:event_token');
     $hidden_event_token->setAttribute('value', $service_infoAr['event_token']);
     $hidden_user_fullname = CDOMElement::create('hidden', 'id:user_fullname, name: user_fullname');
     $hidden_user_fullname->setAttribute('value', $user_fullname);
     $hidden_user_country = CDOMElement::create('hidden', 'id:user_country, name:user_country');
     $hidden_user_country->setAttribute('value', $user_country);
     $hidden_service_duration = CDOMElement::create('hidden', 'id:service_duration, name:service_duration');
     $hidden_service_duration->setAttribute('value', 10);
     $hidden_user_birthdate = CDOMElement::create('hidden', 'id:ud_1, name:ud_1');
     $hidden_user_birthdate->setAttribute('value', $user_birthdate);
     $hidden_user_gender = CDOMElement::create('hidden', 'id:ud_2, name:ud_2');
     $hidden_user_gender->setAttribute('value', $user_gender);
     $hidden_user_foreign_culture = CDOMElement::create('hidden', 'id:ud_3, name:ud_3');
     $hidden_user_foreign_culture->setAttribute('value', $user_foreign_culture);
     $hidden_user_birthcity = CDOMElement::create('hidden', 'id:ud_4, name:ud_4');
     $hidden_user_birthcity->setAttribute('value', $user_birthcity);
     $hidden_user_birthprovince = CDOMElement::create('hidden', 'id:ud_5, name:ud_5');
     $hidden_user_birthprovince->setAttribute('value', $user_birthprovince);
     $form->addChild($hidden_id_utente);
     $form->addChild($hidden_id_istanza_corso);
     $form->addChild($hidden_event_token);
     $form->addChild($hidden_user_fullname);
     $form->addChild($hidden_user_country);
     $form->addChild($hidden_service_duration);
     $form->addChild($hidden_user_birthdate);
     $form->addChild($hidden_user_birthcity);
     $form->addChild($hidden_user_birthprovince);
     $form->addChild($hidden_user_gender);
     $form->addChild($hidden_user_foreign_culture);
     //    $ufc_thead = array(translateFN("Dati utente"),'');
     //    $ufc_tbody = array(
     //      array(translateFN("Codice fiscale dell'utente"), $user_fiscal_code),
     //      array(translateFN("Nome e cognome dell'utente"), $user_ns),
     //      array(translateFN("Nazionalità dell'utente"), $user_country)
     //    );
     //    $ufc_table = BaseHtmlLib::tableElement('', $ufc_thead, $ufc_tbody);
     $ufc_table = self::getEguidanceSessionUserDataTable($tutoredUserObj);
     $form->addChild($ufc_table);
     /*
      * Type of e-guidance action
      */
     if (is_array($service_infoAr) && isset($service_infoAr[3])) {
         $service_level = $service_infoAr[3];
     }
     if ($service_level == 2) {
         $typeAr = array(1 => EguidanceSession::textLabelForField('sl_1'), 2 => EguidanceSession::textLabelForField('sl_2'));
     } else {
         if ($service_level == 3) {
             $typeAr = array(3 => EguidanceSession::textLabelForField('sl_3'), 4 => EguidanceSession::textLabelForField('sl_4'));
         } else {
             if ($service_level == 4) {
                 $typeAr = array(5 => EguidanceSession::textLabelForField('sl_5'), 6 => EguidanceSession::textLabelForField('sl_6'), 7 => EguidanceSession::textLabelForField('sl_7'));
             } else {
                 $typeAr = array();
             }
         }
     }
     //FIXME: qui passo $form_dataAr['tipo_eguidance'], ma dovrei passare $form_dataAr['type_of_guidance']
     $toe_thead = array(EguidanceSession::textLabelForField('toe_title'));
     $toe_tbody = array(array(BaseHtmlLib::selectElement2('id:type_of_guidance, name:type_of_guidance', $typeAr, $form_dataAr['tipo_eguidance'])));
     $toe_table = BaseHtmlLib::tableElement('', $toe_thead, $toe_tbody);
     $form->addChild($toe_table);
     $scoresAr = EguidanceSession::scoresArray();
     //$textarea_default_text = translateFN('Inserire i vostri commenti');
     /*
      * User's features
      */
     // Critical socio anagraphic data
     $ud_1_select = BaseHtmlLib::selectElement2('id:ud_1, name:ud_1', $scoresAr, $form_dataAr['ud_1']);
     $ud_2_select = BaseHtmlLib::selectElement2('id:ud_2, name:ud_2', $scoresAr, $form_dataAr['ud_2']);
     $ud_3_select = BaseHtmlLib::selectElement2('id:ud_3, name:ud_3', $scoresAr, $form_dataAr['ud_3']);
     $ud_4_select = BaseHtmlLib::selectElement2('id:ud_4, name:ud_4', $scoresAr, $form_dataAr['ud_4']);
     $ud_5_select = BaseHtmlLib::selectElement2('id:ud_5, name:ud_5', $scoresAr, $form_dataAr['ud_5']);
     $csa_thead = array(EguidanceSession::textLabelForField('ud_title'), '');
     $csa_tbody = array(array(EguidanceSession::textLabelForField('ud_1'), $ud_1_select), array(EguidanceSession::textLabelForField('ud_4'), $ud_4_select), array(EguidanceSession::textLabelForField('ud_5'), $ud_5_select), array(EguidanceSession::textLabelForField('ud_2'), $ud_2_select), array(EguidanceSession::textLabelForField('ud_3'), $ud_3_select));
     $csa_table = BaseHtmlLib::tableElement('', $csa_thead, $csa_tbody);
     $form->addChild($csa_table);
     $label = EguidanceSession::textLabelForField('ud_comments');
     $form->addChild(self::displayTextAreaForTutorComments('ud_comments', $label, $form_dataAr, $fill_textareas));
     // Personal critical items
     $pcitems_1_select = BaseHtmlLib::selectElement2('id:pc_1, name:pc_1', $scoresAr, $form_dataAr['pc_1']);
     $pcitems_2_select = BaseHtmlLib::selectElement2('id:pc_2, name:pc_2', $scoresAr, $form_dataAr['pc_2']);
     $pcitems_3_select = BaseHtmlLib::selectElement2('id:pc_3, name:pc_3', $scoresAr, $form_dataAr['pc_3']);
     $pcitems_4_select = BaseHtmlLib::selectElement2('id:pc_4, name:pc_4', $scoresAr, $form_dataAr['pc_4']);
     $pcitems_5_select = BaseHtmlLib::selectElement2('id:pc_5, name:pc_5', $scoresAr, $form_dataAr['pc_5']);
     $pcitems_6_select = BaseHtmlLib::selectElement2('id:pc_6, name:pc_6', $scoresAr, $form_dataAr['pc_6']);
     $pcitems_thead = array(EguidanceSession::textLabelForField('pc_title'), translateFN('Select a score'));
     $pcitems_tbody = array(array(EguidanceSession::textLabelForField('pc_1'), $pcitems_1_select), array(EguidanceSession::textLabelForField('pc_2'), $pcitems_2_select), array(EguidanceSession::textLabelForField('pc_3'), $pcitems_3_select), array(EguidanceSession::textLabelForField('pc_4'), $pcitems_4_select), array(EguidanceSession::textLabelForField('pc_5'), $pcitems_5_select), array(EguidanceSession::textLabelForField('pc_6'), $pcitems_6_select));
     $pcitems_table = BaseHtmlLib::tableElement('', $pcitems_thead, $pcitems_tbody);
     $form->addChild($pcitems_table);
     $label = EguidanceSession::textLabelForField('pc_comments');
     $form->addChild(self::displayTextAreaForTutorComments('pc_comments', $label, $form_dataAr, $fill_textareas));
     $area_of_the_job = CDOMElement::create('div');
     $area_of_the_job->addChild(new CText(EguidanceSession::textLabelForField('area_pp')));
     $form->addChild($area_of_the_job);
     /*
      * Bonds/availability
      */
     $ba_1_select = BaseHtmlLib::selectElement2('id:ba_1, name:ba_1', $scoresAr, $form_dataAr['ba_1']);
     $ba_2_select = BaseHtmlLib::selectElement2('id:ba_2, name:ba_2', $scoresAr, $form_dataAr['ba_2']);
     $ba_3_select = BaseHtmlLib::selectElement2('id:ba_3, name:ba_3', $scoresAr, $form_dataAr['ba_3']);
     $ba_4_select = BaseHtmlLib::selectElement2('id:ba_4, name:ba_4', $scoresAr, $form_dataAr['ba_4']);
     $ba_thead = array(EguidanceSession::textLabelForField('ba_title'), translateFN('Select a score'));
     $ba_tbody = array(array(EguidanceSession::textLabelForField('ba_1'), $ba_1_select), array(EguidanceSession::textLabelForField('ba_2'), $ba_2_select), array(EguidanceSession::textLabelForField('ba_3'), $ba_3_select), array(EguidanceSession::textLabelForField('ba_4'), $ba_4_select));
     $ba_table = BaseHtmlLib::tableElement('', $ba_thead, $ba_tbody);
     $form->addChild($ba_table);
     $label = EguidanceSession::textLabelForField('ba_comments');
     $form->addChild(self::displayTextAreaForTutorComments('ba_comments', $label, $form_dataAr, $fill_textareas));
     /*
      * Training
      */
     $t_1_select = BaseHtmlLib::selectElement2('id:t_1, name:t_1', $scoresAr, $form_dataAr['t_1']);
     $t_2_select = BaseHtmlLib::selectElement2('id:t_2, name:t_2', $scoresAr, $form_dataAr['t_2']);
     $t_3_select = BaseHtmlLib::selectElement2('id:t_3, name:t_3', $scoresAr, $form_dataAr['t_3']);
     $t_4_select = BaseHtmlLib::selectElement2('id:t_4, name:t_4', $scoresAr, $form_dataAr['t_4']);
     $t_thead = array(EguidanceSession::textLabelForField('t_title'), translateFN('Select a score'));
     $t_tbody = array(array(EguidanceSession::textLabelForField('t_1'), $t_1_select), array(EguidanceSession::textLabelForField('t_2'), $t_2_select), array(EguidanceSession::textLabelForField('t_3'), $t_3_select), array(EguidanceSession::textLabelForField('t_4'), $t_4_select));
     $t_table = BaseHtmlLib::tableElement('', $t_thead, $t_tbody);
     $form->addChild($t_table);
     $label = EguidanceSession::textLabelForField('t_comments');
     $form->addChild(self::displayTextAreaForTutorComments('t_comments', $label, $form_dataAr, $fill_textareas));
     /*
      * Professional experiences
      */
     $pe_1_select = BaseHtmlLib::selectElement2('id:pe_1, name:pe_1', $scoresAr, $form_dataAr['pe_1']);
     $pe_2_select = BaseHtmlLib::selectElement2('id:pe_2, name:pe_2', $scoresAr, $form_dataAr['pe_2']);
     $pe_3_select = BaseHtmlLib::selectElement2('id:pe_3, name:pe_3', $scoresAr, $form_dataAr['pe_3']);
     $pe_thead = array(EguidanceSession::textLabelForField('pe_title'), translateFN('Select a score'));
     $pe_tbody = array(array(EguidanceSession::textLabelForField('pe_1'), $pe_1_select), array(EguidanceSession::textLabelForField('pe_2'), $pe_2_select), array(EguidanceSession::textLabelForField('pe_3'), $pe_3_select));
     $pe_table = BaseHtmlLib::tableElement('', $pe_thead, $pe_tbody);
     $form->addChild($pe_table);
     $label = EguidanceSession::textLabelForField('pe_comments');
     $form->addChild(self::displayTextAreaForTutorComments('pe_comments', $label, $form_dataAr, $fill_textareas));
     /*
      * Critical issues ...
      */
     $ci_1_select = BaseHtmlLib::selectElement2('id:ci_1, name:ci_1', $scoresAr, $form_dataAr['ci_1']);
     $ci_2_select = BaseHtmlLib::selectElement2('id:ci_2, name:ci_2', $scoresAr, $form_dataAr['ci_2']);
     $ci_3_select = BaseHtmlLib::selectElement2('id:ci_3, name:ci_3', $scoresAr, $form_dataAr['ci_3']);
     $ci_4_select = BaseHtmlLib::selectElement2('id:ci_4, name:ci_4', $scoresAr, $form_dataAr['ci_4']);
     $ci_thead = array(EguidanceSession::textLabelForField('ci_title'), translateFN('Select a score'));
     $ci_tbody = array(array(EguidanceSession::textLabelForField('ci_1'), $ci_1_select), array(EguidanceSession::textLabelForField('ci_2'), $ci_2_select), array(EguidanceSession::textLabelForField('ci_3'), $ci_3_select), array(EguidanceSession::textLabelForField('ci_4'), $ci_4_select));
     $ci_table = BaseHtmlLib::tableElement('', $ci_thead, $ci_tbody);
     $form->addChild($ci_table);
     $label = EguidanceSession::textLabelForField('ci_comments');
     $form->addChild(self::displayTextAreaForTutorComments('ci_comments', $label, $form_dataAr, $fill_textareas));
     /*
      * Motivazione + Other particular comments
      */
     $m_1_select = BaseHtmlLib::selectElement2('id:m_1, name:m_1', $scoresAr, $form_dataAr['m_1']);
     $m_2_select = BaseHtmlLib::selectElement2('id:m_2, name:m_2', $scoresAr, $form_dataAr['m_2']);
     $m_thead = array(EguidanceSession::textLabelForField('m_title'), translateFN('Select a score'));
     $m_tbody = array(array(EguidanceSession::textLabelForField('m_1'), $m_1_select), array(EguidanceSession::textLabelForField('m_2'), $m_2_select));
     $m_table = BaseHtmlLib::tableElement('', $m_thead, $m_tbody);
     $form->addChild($m_table);
     $label = EguidanceSession::textLabelForField('m_comments');
     $form->addChild(self::displayTextAreaForTutorComments('m_comments', $label, $form_dataAr, $fill_textareas));
     $label = EguidanceSession::textLabelForField('other_comments');
     $form->addChild(self::displayTextAreaForTutorComments('other_comments', $label, $form_dataAr, $fill_textareas));
     /*
      * Form buttons
      */
     $buttons = CDOMElement::create('div', 'id:buttons, name:buttons');
     $submit = CDOMElement::create('submit', 'id:submit, name:submit');
     $submit->setAttribute('value', translateFN('Save'));
     //    $reset   = CDOMElement::create('reset');
     $buttons->addChild($submit);
     //    $buttons->addChild($reset);
     $form->addChild($buttons);
     return $form;
 }
Example #9
0
 /**
  * function displayForumIndex
  *
  * @param  object  $userObj
  * @param  integer $id_course
  * @param  integer $expand_index
  * @param  string  $order
  * @param  integer $id_course_instance
  * @param  string  $container_div_name
  * @return string  -
  */
 public static function displayForumIndex($userObj, $id_course, $expand_index, $order, $id_course_instance, $with_icons = NULL, $container_div_name = NULL)
 {
     $dh = $GLOBALS['dh'];
     $show_visits = !$GLOBALS['hide_visits'];
     /**
      *
      */
     if (!isset($id_course_instance)) {
         //return "";
         return new CText('');
     }
     // vito, 3 ottobre 2008
     $container_div = "";
     if ($container_div_name != NULL) {
         $container_div = $container_div_name;
     } else {
         $container_div = 'id_forum_index';
     }
     $show_icons = FALSE;
     if ($with_icons) {
         $show_icons = TRUE;
     }
     $callback_params = array('container_div' => $container_div);
     if ($order == 'chrono' || $order == 'struct') {
         $order_by_date = TRUE;
     } else {
         $order_by_date = FALSE;
     }
     /*
      * Get tutor id for this course instance
      */
     $class_tutor_id = $dh->course_instance_tutor_get($id_course_instance);
     if (AMA_DataHandler::isError($class_tutor_id)) {
         return $class_tutor_id;
     }
     $callback_params['user_id'] = $userObj->getId();
     $callback_params['class_tutors_ids'] = $class_tutor_id;
     $callback_params['show_icons'] = $show_icons;
     $forum_data = $dh->get_notes_for_this_course_instance($id_course_instance, $userObj->id_user, $order_by_date, $show_visits);
     switch ($userObj->tipo) {
         // sarebbe meglio $userObj->getType()
         case AMA_TYPE_AUTHOR:
             $callback = 'forumAuthorCallback';
             break;
         case AMA_TYPE_TUTOR:
             $callback = 'forumTutorCallback';
             $callback_params['id_course_instance'] = $id_course_instance;
             break;
         case AMA_TYPE_STUDENT:
             $callback = 'forumStudentCallback';
             $callback_params['id_course_instance'] = $id_course_instance;
             break;
     }
     if (AMA_DataHandler::isError($forum_data)) {
         return $forum_data;
     } else {
         //retrieving data about nodes' visits
         //first: retrieve visits data about all nodes of selected course and arrange them into an associative array
         $someone_there_data = array();
         $tmp_someone_there_data = ADALoggableUser::is_someone_there_courseFN($id_course_instance);
         if (!empty($tmp_someone_there_data)) {
             foreach ($tmp_someone_there_data as $v) {
                 $someone_there_data[$v['id_nodo']][] = $v;
             }
         }
         unset($tmp_someone_there_data);
         //free memory
         foreach ($forum_data as $k => $v) {
             //let's check if there are records for the node
             if (isset($someone_there_data[$v['id_nodo']])) {
                 $forum_data[$k]['is_someone_there'] = count($someone_there_data[$v['id_nodo']]) >= 1;
             } else {
                 $forum_data[$k]['is_someone_there'] = false;
             }
         }
         unset($someone_there_data);
         //free memory
     }
     /*
      * Attach the subtrees containing notes to the root node for this course instance.
      * This is required in order to display the index.
      */
     $forum_root_node = $id_course . '_' . ADA_DEFAULT_NODE;
     $notes_parent_nodes = array();
     // First, save all the parent ids for the notes in the forum
     foreach ($forum_data as $note) {
         $notes_parent_nodes[$note['id_nodo']] = TRUE;
     }
     // Then, if a note has a parent id which is not a note, attach it to
     // forum_root_node
     for ($i = 0; $i < count($forum_data); $i++) {
         if (!isset($notes_parent_nodes[$forum_data[$i]['id_nodo_parent']])) {
             $forum_data[$i]['id_nodo_parent'] = $forum_root_node;
         }
     }
     $index = CDOMElement::create('div', "id:{$container_div}");
     if ($order == 'chrono') {
         $index->addChild(self::ordered($forum_data, $callback, $callback_params, $forum_root_node));
     } else {
         $index->addChild(self::struct($forum_data, $forum_root_node, $expand_index, $callback, $callback_params));
     }
     return $index;
 }