Exemplo n.º 1
0
 /**
  * get profile fields
  *
  * @param icms_member_user_Object $thisUser
  * @return array of profile fields
  */
 public function getProfileFields(&$thisUser)
 {
     // get handlers
     $category_handler = icms_getModuleHandler('category', basename(dirname(dirname(__FILE__))), 'profile');
     $profile_handler = icms_getModuleHandler('profile', basename(dirname(dirname(__FILE__))), 'profile');
     $visibility_handler = icms_getModuleHandler('visibility', basename(dirname(dirname(__FILE__))), 'profile');
     $groups = is_object(icms::$user) ? icms::$user->getGroups() : array(ICMS_GROUP_ANONYMOUS);
     $criteria = new icms_db_criteria_Compo();
     $criteria->setSort("cat_weight");
     $categories = $category_handler->getObjects($criteria);
     $visible_fields = $visibility_handler->getVisibleFields($groups, $thisUser->getGroups());
     unset($criteria);
     $criteria = new icms_db_criteria_Compo();
     $criteria->add(new icms_db_criteria_Item('fieldid', '(' . implode(',', $visible_fields) . ')', 'IN'));
     $criteria->setSort('field_weight');
     $fields = $this->getObjects($criteria);
     $profile = $profile_handler->get($thisUser->getVar('uid'));
     unset($category_handler, $visibility_handler, $profile_handler, $criteria);
     $module = icms::handler("icms_module")->getByDirname(basename(dirname(dirname(__FILE__))), TRUE);
     $rtn = array();
     for ($i = 0; $i < count($categories); $i++) {
         $first_category = true;
         for ($j = 0; $j < count($fields); $j++) {
             $value = $fields[$j]->getOutputValue($thisUser, $profile);
             if ($fields[$j]->getVar('field_show') && $fields[$j]->getVar('catid') == $categories[$i]->getVar('catid') && ($module->config['show_empty'] || trim($value) || $value == '0')) {
                 if ($first_category) {
                     $rtn[$i]['title'] = $categories[$i]->getVar('cat_title');
                 }
                 $first_category = false;
                 $rtn[$i]['fields'][$j]['image'] = $fields[$j]->getImage();
                 $rtn[$i]['fields'][$j]['title'] = $fields[$j]->getVar('field_title');
                 $rtn[$i]['fields'][$j]['value'] = $value;
             }
         }
     }
     return $rtn;
 }
Exemplo n.º 2
0
  */
 // Revert masquerade effect
 if (isset($_SESSION['masquerade_end']) && $_SESSION['masquerade_end'] == 1) {
     $masqueradeUser = new icms_member_user_Object($_SESSION['masquerade_xoopsUserId']);
     unset($_SESSION['masquerade_xoopsUserId']);
     unset($_SESSION['masquerade_end']);
 } else {
     $masqueradeUser = new icms_member_user_Object($_REQUEST['id']);
     // Save UserId of the actual user
     if (isset($_SESSION['masquerade_xoopsUserId']) == false) {
         $_SESSION['masquerade_xoopsUserId'] = $_SESSION['xoopsUserId'];
     }
 }
 // Change effective user
 $_SESSION['xoopsUserId'] = $masqueradeUser->getVar('uid');
 $_SESSION['xoopsUserGroups'] = $masqueradeUser->getGroups();
 $_SESSION['xoopsUserLastLogin'] = $masqueradeUser->getVar('last_login');
 $_SESSION['xoopsUserLanguage'] = $masqueradeUser->language();
 if (isset($_SESSION['XOOPS_TOKEN_SESSION'])) {
     unset($_SESSION['XOOPS_TOKEN_SESSION']);
 }
 $xoops_user_theme = $masqueradeUser->getVar('theme');
 if (in_array($xoops_user_theme, $icmsConfig['theme_set_allowed'])) {
     $_SESSION['xoopsUserTheme'] = $xoops_user_theme;
 } elseif (isset($_SESSION['xoopsUserTheme'])) {
     unset($_SESSION['xoopsUserTheme']);
 }
 // Redirect user
 header('Location: ' . SITE_BASE_URL . "/");
 die;
 break;