示例#1
0
 /**
  * Private method to set the toolbar for this view
  *
  * @access private
  *
  * @return null
  **/
 function setToolBar()
 {
     // Set the titlebar text
     JToolBarHelper::title(XiptText::_('PROFILE_FIELDS'), 'profilefields');
     // Add the necessary buttons
     JToolBarHelper::back('Home', 'index.php?option=com_xipt');
 }
示例#2
0
 function save($post = null)
 {
     if ($post === null) {
         $post = JRequest::get('post');
     }
     $menuid = isset($post['id']) ? $post['id'] : 0;
     $otherMenuid = isset($post['menuIds']) ? $post['menuIds'] : array();
     $menuPtype = isset($post['profileTypes']) ? $post['profileTypes'] : array();
     $allTypes = XiptHelperProfiletypes::getProfileTypeArray();
     $model = $this->getModel();
     // menuid is also selected in otherMenuid then no need to add
     if (!in_array($menuid, $otherMenuid)) {
         array_push($otherMenuid, $menuid);
     }
     //remove all rows related to specific menu id
     foreach ($otherMenuid as $id) {
         $model->delete(array('menuid' => $id));
     }
     $msg = XiptText::_('MENU_SAVED');
     $link = XiptRoute::_('index.php?option=com_xipt&view=jstoolbar', false);
     $this->setRedirect($link, $msg);
     //if all selected, return true
     if (array_diff($allTypes, $menuPtype) == array()) {
         return true;
     }
     $ptypesToChange = array_diff($allTypes, $menuPtype);
     foreach ($ptypesToChange as $type) {
         foreach ($otherMenuid as $id) {
             if ($this->getModel()->save(array('menuid' => $id, 'profiletype' => $type)) == false) {
                 return false;
             }
         }
     }
     return true;
 }
示例#3
0
 function aclAjaxBlock($msg)
 {
     $objResponse = new JAXResponse();
     $title = XiptText::_('CC PROFILE VIDEO');
     $objResponse->addScriptCall('cWindowShow', '', $title, 430, 80);
     return parent::aclAjaxBlock($msg, $objResponse);
 }
示例#4
0
    function getFieldHTML($field, $required)
    {
        $html = '';
        $pID = $field->value;
        $class = $required == 1 ? ' required' : '';
        $disabled = '';
        if ($this->_view === 'register') {
            // get pType from registration session OR defaultPType
            $pID = XiptFactory::getPluginHandler()->getRegistrationPType();
            $html = '<input type="hidden"
							id="field' . $field->id . '"
							name="field' . $field->id . '"
							value="' . $pID . '" />';
            $pName = XiptLibProfiletypes::getProfiletypeName($pID);
            $html .= $pName;
            return $html;
        }
        // it might be some other user (in case of admin is editing profile)
        $user = JFactory::getUser();
        $userid = $user->id;
        if (!(int) $pID) {
            $pID = XiptLibProfiletypes::getUserData($userid, 'PROFILETYPE');
            XiptError::assert($pID, XiptText::_("USERID {$pID} DOES_NOT_EXIST"), XiptError::ERROR);
        }
        $visiblePT = XiptLibProfiletypes::getProfiletypeArray(array('visible' => 1));
        $allowToChangePType = $this->_params->get('allow_user_to_change_ptype_after_reg', 0);
        $allowToChangePType = $allowToChangePType && array_key_exists($pID, $visiblePT) || XiptHelperUtils::isAdmin($user->id);
        //if not allowed then show disabled view of ptype
        if ($allowToChangePType == false) {
            $pName = XiptLibProfiletypes::getProfileTypeName($pID);
            $pName = $pName;
            $html = '<input type="hidden"
							id="field' . $field->id . '"
							name="field' . $field->id . '"
							value="' . $pID . '" />';
            return $html . $pName;
        }
        $mainframe = JFactory::getApplication();
        if ($mainframe->isAdmin() == true || XiptHelperUtils::isAdmin($user->id)) {
            $filter = array('published' => 1);
        } else {
            $filter = array('published' => 1, 'visible' => 1);
        }
        // user can change profiletype, add information
        $pTypes = XiptLibProfiletypes::getProfiletypeArray($filter);
        $html = '<select id="field' . $field->id . '" name="field' . $field->id . '" ' . $disabled . ' class="hasTip select' . $class . ' inputbox" title="' . $field->name . '::' . htmlentities($field->tips) . '">';
        $selectedElement = 0;
        if (!empty($pTypes)) {
            foreach ($pTypes as $pType) {
                $selected = $pType->id == $pID ? ' selected="selected"' : '';
                if (!empty($selected)) {
                    $selectedElement++;
                }
                $html .= '<option value="' . $pType->id . '"' . $selected . '>' . $pType->name . '</option>';
            }
        }
        $html .= '</select>';
        $html .= '<span id="errfield' . $field->id . 'msg" style="display:none;">&nbsp;</span>';
        return $html;
    }
示例#5
0
 function getEventcategoryHTML($name, $value, $control_name = 'params', $reqnone = false, $reqall = false)
 {
     $required = '1';
     $html = '';
     $class = $required == 1 ? ' required' : '';
     $options = $this->getEventcategory();
     $html .= '<select id="' . $control_name . '[' . $name . ']" name="' . $control_name . '[' . $name . ']" title="' . "Select Group Category" . '">';
     if ($reqall) {
         $selected = JString::trim(0) == $value ? ' selected="true"' : '';
         $html .= '<option value="' . 0 . '"' . $selected . '>' . XiptText::_("ALL") . '</option>';
     }
     if ($reqnone) {
         $selected = JString::trim(-1) == $value ? ' selected="true"' : '';
         $html .= '<option value="' . -1 . '"' . $selected . '>' . XiptText::_("NONE") . '</option>';
     }
     foreach ($options as $op) {
         $option = $op->name;
         $id = $op->id;
         $selected = JString::trim($id) == $value ? ' selected="true"' : '';
         $html .= '<option value="' . $id . '"' . $selected . '>' . $option . '</option>';
     }
     $html .= '</select>';
     $html .= '<span id="errprofiletypemsg" style="display: none;">&nbsp;</span>';
     return $html;
 }
示例#6
0
 function setToolBar()
 {
     JToolBarHelper::title(XiptText::_('SETTINGS'), 'settings');
     JToolBarHelper::back('Home', 'index.php?option=com_xipt');
     JToolBarHelper::divider();
     JToolBarHelper::save('save', 'COM_XIPT_SAVE');
 }
示例#7
0
 function getFieldsHtml($name, $value, $control_name)
 {
     $fields = self::getJomsocialProfileFields(array('published' => 1));
     $html = '';
     if (empty($fields)) {
         $html = "<div style=\"text-align: center; padding: 5px; \">" . XiptText::_('THERE_ARE_NO_PARAMETERS_FOR_THIS_ITEM') . "</div>";
         return $html;
     }
     $html .= "<table width='100%' class='paramlist admintable' cellspacing='1'>";
     $html .= "<tr class='title'>";
     $html .= "<th width='30%'>" . XiptText::_('FIELD_NAME') . "</th>";
     $html .= '<tr>';
     $i = 0;
     foreach ($fields as $f) {
         ++$i;
         if ($f->type != 'group') {
             $html .= "<td class='paramlist_value'>" . $f->name . "</td>";
             $profiletypeFieldHtml = $this->buildProfileTypes($name, $value, $control_name, $f->id);
             $html .= "<td class='paramlist_value'>" . $profiletypeFieldHtml . "</td>";
         }
         $html .= "</tr>";
     }
     $html .= "</table>";
     return $html;
 }
示例#8
0
 /**
  * Private method to set the toolbar for this view
  * 
  * @access private
  * 
  * @return null
  **/
 function setToolBar()
 {
     // Set the titlebar text
     JToolBarHelper::title(XiptText::_('CONTROL_PANEL'), 'xipt');
     //JToolBarHelper::back('Home' , 'index.php?option=com_xipt');
     //JToolBarHelper::custom('aboutus','aboutus','',XiptText::_('ABOUT US'),0,0);
 }
示例#9
0
 function display($save = '', $pt = 0)
 {
     //trigger event
     $dispatcher = JDispatcher::getInstance();
     $dispatcher->trigger('onBeforeProfileTypeSelection');
     // 	check for session
     //  if does not exist redirect user to community page
     XiptHelperProfiletypes::checkSessionForProfileType();
     //If not allowed to select PT for user then return
     if (XiptFactory::getSettings('show_ptype_during_reg') == 0) {
         $selectedProfiletypeID = XiptLibProfiletypes::getDefaultProfiletype();
         XiptHelperProfiletypes::setProfileTypeInSession($selectedProfiletypeID);
     }
     // do some validation for visibility and publish of ptype
     if (JRequest::getVar('save', $save, 'POST') != '') {
         $selectedProfiletypeID = JRequest::getVar('profiletypes', $pt, 'POST');
         if (XiptLibProfiletypes::validateProfiletype($selectedProfiletypeID, array('published' => 1, 'visible' => 1)) == false) {
             $msg = XiptText::_('INVALID_PROFILE_TYPE_SELECTED');
             $link = XiptRoute::_('index.php?option=com_xipt&view=registration', false);
             $this->setRedirect($link, $msg);
         }
         $dispatcher->trigger('onAfterProfileTypeSelection', array(&$selectedProfiletypeID));
         return true;
     }
     // Get the view
     $this->getView()->display();
 }
示例#10
0
 function getMessage()
 {
     if ($this->isRequired()) {
         $requiredSetup['done'] = true;
         $requiredSetup['message'] = XiptText::_("WATER_MARKING_IS_NOT_ENABLED_IN_SETTINGS_BUT_ENABLE_FOR_PROFILE_TYPES");
         return $requiredSetup;
     }
 }
示例#11
0
 function getMessage()
 {
     if ($this->isRequired()) {
         $requiredSetup['done'] = true;
         $requiredSetup['message'] = XiptText::_("INSTALL_OR_ENABLE_ADMIN_APPROVAL_PLUGIN");
         return $requiredSetup;
     }
 }
示例#12
0
 function getMessage()
 {
     if ($this->isRequired()) {
         $requiredSetup['done'] = true;
         $requiredSetup['message'] = XiptText::_("UPGRADE_JOMSOCIAL_VERSION_1_8_x_IS_SUPPORTED");
         return $requiredSetup;
     }
 }
示例#13
0
 function getMessage()
 {
     $requiredSetup = array();
     if ($this->isRequired()) {
         $link = XiptRoute::_("index.php?option=com_xipt&view=setup&task=doApply&name=ptmigration", false);
         $requiredSetup['message'] = '<a href="' . $link . '">' . XiptText::_('PLEASE_CLICK_HERE_TO_MIGRATE_JS_MULTIPROFILES') . '</a>';
         $requiredSetup['done'] = false;
     }
     return $requiredSetup;
 }
示例#14
0
 public static function getInstance()
 {
     $suffix = JString::stristr(XiptHelperJomsocial::get_js_version(), 2.0) ? "Js20" : "Js18";
     $classname = "XiptFieldsTemplates" . JString::ucfirst($suffix);
     if (class_exists($classname, true) === false) {
         XiptError::raiseError(__CLASS__ . '.' . __LINE__, XiptText::_("{$className} : CLASS_NOT_FOUND"));
         return false;
     }
     $instance = new $classname();
     return $instance;
 }
示例#15
0
 function save($post = null)
 {
     if ($post === null) {
         $post = JRequest::get('post', JREQUEST_ALLOWRAW);
     }
     $save = $this->getModel()->saveParams($post['settings'], 'settings', 'params');
     XiptError::assert($save, XiptText::_('ERROR_IN_SAVING_SETTINGS'), XiptError::WARNING);
     $msg = XiptText::_('SETTINGS_SAVED');
     $this->setRedirect("index.php?option=com_xipt&view=settings", $msg);
     return true;
 }
示例#16
0
 function _checkedOut(&$row, $overlib = 1)
 {
     $hover = '';
     if ($overlib) {
         $text = addslashes(htmlspecialchars($row->checked_out));
         $date = XiHTML::_('date', $row->checked_out_time, XiptText::_('DATE_FORMAT_LC1'));
         $time = XiHTML::_('date', $row->checked_out_time, '%H:%M');
         $hover = '<span class="editlinktip hasTip" title="' . XiText::_('CHECKED_OUT') . '::' . $text . '<br />' . $date . '<br />' . $time . '">';
     }
     $checked = $hover . '<img src="images/checked_out.png"/></span>';
     return $checked;
 }
示例#17
0
 function getProfileTypeArray($menuid)
 {
     XiptError::assert($menuid, XiptText::_("MENU_ID_CANNOT_BE_NULL"), XiptError::ERROR);
     $results = XiptFactory::getInstance('jstoolbar', 'model')->getProfileTypes($menuid);
     if (empty($results)) {
         return array(XIPT_PROFILETYPE_ALL);
     }
     $allTypes = XiptHelperProfiletypes::getProfileTypeArray();
     // array_values is user to arrange the array from index 0,
     //array_diff uses index starting from 1
     return array_values(array_diff($allTypes, $results));
 }
示例#18
0
 function getMessage()
 {
     $requiredSetup = array();
     if ($this->isRequired()) {
         $link = XiptRoute::_("index.php?option=com_xipt&view=setup&task=doApply&name=payplans", false);
         $requiredSetup['message'] = '<a href="' . $link . '">' . XiptText::_("PLEASE_CLICK_HERE_TO_CREATE_APPS_IN_PAYPLANS") . '</a>';
         $requiredSetup['done'] = false;
     } else {
         $requiredSetup['message'] = XiptText::_("PAYPLANS_IS_ALREADY_IN_SYNC");
         $requiredSetup['done'] = true;
     }
     return $requiredSetup;
 }
示例#19
0
 function getMessage()
 {
     $requiredSetup = array();
     if ($this->isRequired()) {
         $link = XiptRoute::_("index.php?option=com_xipt&view=setup&task=doApply&name=aecmi", false);
         $requiredSetup['message'] = '<a href="' . $link . '">' . XiptText::_("PLEASE_CLICK_HERE_TO_INSTALL_JSPT_MI_INTO_AEC") . '</a>';
         $requiredSetup['done'] = false;
     } else {
         $requiredSetup['message'] = XiptText::_("AEC_MI_ALREADY_THERE");
         $requiredSetup['done'] = true;
     }
     return $requiredSetup;
 }
示例#20
0
 function getProfileTypeArray($fid, $for)
 {
     XiptError::assert($fid, XiptText::_("PROFILEFIELD_ID_CAN_NOT_BE_NULL"), XiptError::ERROR);
     //Load all profiletypes for the field
     $results = XiptFactory::getInstance('profilefields', 'model')->getProfileTypes($fid, $for);
     if (empty($results)) {
         return array(XIPT_PROFILETYPE_ALL);
     }
     $allTypes = XiptHelperProfiletypes::getProfileTypeArray();
     // array_values is user to arrange the array from index 0,
     //array_diff uses index starting from 1
     return array_values(array_diff($allTypes, $results));
 }
示例#21
0
 function getMessage()
 {
     $requiredSetup = array();
     if ($this->isRequired()) {
         $link = XiptRoute::_("index.php?option=com_xipt&view=setup&task=doApply&name=createprofiletypes", false);
         $requiredSetup['message'] = '<a href="' . $link . '">' . XiptText::_("PLEASE_CLICK_HERE_TO_CREATE_PROFILETYPES") . '</a>';
         $requiredSetup['done'] = false;
     } else {
         $requiredSetup['message'] = XiptText::_("PROFILETYPE_VALIDATION_SUCCESSFULL");
         $requiredSetup['done'] = true;
     }
     return $requiredSetup;
 }
示例#22
0
 function getMessage()
 {
     $requiredSetup = array();
     if ($this->isRequired()) {
         $link = XiptRoute::_("index.php?option=com_xipt&view=setup&task=doApply&name=defaultprofiletype", false);
         $requiredSetup['message'] = '<a href="' . $link . '">' . XiptText::_("PLEASE_CLICK_HERE_TO_SET_DEFAULT_PROFILETYPE") . '</a>';
         $requiredSetup['done'] = false;
     } else {
         $requiredSetup['message'] = XiptText::_("DEFAULT_PROFILETYPE_EXIST");
         $requiredSetup['done'] = true;
     }
     return $requiredSetup;
 }
示例#23
0
 function unhook()
 {
     //get all files required for setup
     $setupNames = XiptSetupHelper::getOrderedRules();
     foreach ($setupNames as $setup) {
         //get object of class
         $setupObject = XiptFactory::getSetupRule($setup['name']);
         $setupObject->doRevert();
     }
     $msg = XiptText::_('UNHOOKED_SUCCESSFULLY');
     $this->setRedirect(XiptRoute::_("index.php?option=com_xipt&view=setup&task=display", false), $msg);
     return true;
 }
示例#24
0
 function getMessage()
 {
     $requiredSetup = array();
     if ($this->isRequired()) {
         $link = XiptRoute::_("index.php?option=com_xipt&view=setup&task=doApply&name=xiptplugin", false);
         $requiredSetup['message'] = '<a href="' . $link . '">' . XiptText::_("PLEASE_CLICK_HERE_TO_ENABLE_ESSENTIAL_SETTINGS") . '</a>';
         $requiredSetup['done'] = false;
     } else {
         $requiredSetup['message'] = XiptText::_("ESSENTIALS_SETTINGS_DONE");
         $requiredSetup['done'] = true;
     }
     return $requiredSetup;
 }
示例#25
0
 function fetchElement($name, $value, &$node, $control_name)
 {
     $positions = array();
     $positions[] = JHTML::_('select.option', 'tl', XiptText::_('TOP_LEFT'));
     $positions[] = JHTML::_('select.option', 'tr', XiptText::_('TOP_RIGHT'));
     $positions[] = JHTML::_('select.option', 'bl', XiptText::_('BOTTOM_LEFT'));
     $positions[] = JHTML::_('select.option', 'br', XiptText::_('BOTTOM_RIGHT'));
     $positions[] = JHTML::_('select.option', 'lt', XiptText::_('LEFT_TOP'));
     $positions[] = JHTML::_('select.option', 'lb', XiptText::_('LEFT_BOTTOM'));
     $positions[] = JHTML::_('select.option', 'rt', XiptText::_('RIGHT_TOP'));
     $positions[] = JHTML::_('select.option', 'rb', XiptText::_('RIGHT_BOTTOM'));
     $html = JHTML::_('select.genericlist', $positions, $control_name . '[' . $name . ']', null, 'value', 'text', $value);
     return $html;
 }
示例#26
0
 function getFieldData($value = 0)
 {
     $pID = $value;
     if (!$pID) {
         //get value from profiletype field from xipt_users table
         //not required to get data from getUser() fn b'coz we call this fn in
         //getViewableprofile only.
         $userid = JRequest::getVar('userid', 0);
         XiptError::assert($userid, XiptText::_("USERID {$userid} DOES_NOT_EXIST"), XiptError::ERROR);
         $pID = XiptLibProfiletypes::getUserData($userid, 'PROFILETYPE');
     }
     $pName = XiptLibProfiletypes::getProfiletypeName($pID);
     return $pName;
 }
示例#27
0
 function getFieldsForProfiletype(&$fields, $selectedProfiletypeID, $from, $notSelectedFields = null)
 {
     XiptError::assert($selectedProfiletypeID, XiptText::_("SELECTED_PROFILETYPE_DOES_NOT_EXIST"), XiptError::ERROR);
     $task = JRequest::getVar('task', '');
     if ($notSelectedFields === null) {
         $categories = XiptHelperProfilefields::getProfileFieldCategories();
         foreach ($categories as $catIndex => $catInfo) {
             $catName = $catInfo['name'];
             $notSelectedFields[$catName] = $this->getNotSelectedFieldForProfiletype($selectedProfiletypeID, $catIndex);
         }
     }
     $count = count($fields);
     for ($i = 0; $i < $count; $i++) {
         $field =& $fields[$i];
         if (is_object($field)) {
             $fieldId = $field->id;
         } else {
             $fieldId = $field['id'];
         }
         if (in_array($fieldId, $notSelectedFields['ALLOWED'])) {
             unset($fields[$i]);
             continue;
         }
         if (in_array($fieldId, $notSelectedFields['REQUIRED'])) {
             if (is_object($field)) {
                 $field->required = 0;
             } else {
                 $field['required'] = 0;
             }
         }
         if (in_array($fieldId, $notSelectedFields['VISIBLE']) && $from === 'getViewableProfile') {
             unset($fields[$i]);
             continue;
         }
         if (in_array($fieldId, $notSelectedFields['EDITABLE_AFTER_REG']) && $from === 'getEditableProfile' && JFactory::getApplication()->isAdmin() == false) {
             unset($fields[$i]);
             continue;
         }
         if (in_array($fieldId, $notSelectedFields['EDITABLE_DURING_REG']) && $from != 'getViewableProfile' && $from != 'getEditableProfile' && $task != 'advancesearch') {
             unset($fields[$i]);
             continue;
         }
         if (in_array($fieldId, $notSelectedFields['ADVANCE_SEARCHABLE']) && $from === '_loadAllFields' && $task === 'advancesearch') {
             unset($fields[$i]);
         }
     }
     $fields = array_values($fields);
     return true;
 }
示例#28
0
 function reset($id = 0)
 {
     //XITODO : what to do if invalid id comes
     $id = JRequest::getVar('profileId', $id);
     $pModel = $this->getModel();
     // Try to save configurations
     $save = $pModel->save(array('params' => ''), $id);
     if (XiptError::assert($save, XiptText::_('UNABLE_TO_RESET_PROFILETYPE_INTO_DATABASE_PLEASE_ENSURE_THAT_THE_TABLE_JOS_XIPT_PROFILETYPES_EXISTS'), XiptError::WARNING) == false) {
         return false;
     }
     $link = XiptRoute::_('index.php?option=com_xipt&view=configuration', false);
     $msg = XiptText::_('PROFILETYPE_HAS_BEEN_RESET');
     $this->setRedirect($link, $msg);
     return true;
 }
示例#29
0
 function getInput()
 {
     $none = new stdClass();
     $none->id = -1;
     $none->name = XiptText::_('none');
     // get array of all visible profile types (std-class)
     $pTypeArray = XiptLibProfiletypes::getProfiletypeArray(array('published' => 1, 'visible' => 1));
     //add multiselect option
     $attr = $this->multiple ? ' multiple="multiple"' : '';
     if ($attr == null) {
         // add none option in profile-type array
         array_unshift($pTypeArray, $none);
     }
     return JHTML::_('select.genericlist', $pTypeArray, $this->name, $attr, 'id', 'name', $this->value);
 }
示例#30
0
 public static function getPayplansMessage()
 {
     $data = self::getProfiletypeInfoFromPayplans();
     $msgOption = XiptFactory::getSettings('subscription_message', 'b');
     $pTypeName = XiptLibProfiletypes::getProfiletypeName($data['profiletype']);
     if ($msgOption === 'pl') {
         return XiptText::sprintf('COM_XIPT_ALREADY_SELECTED_PLAN_AS_ONLYPLAN', $data['plan']);
     }
     if ($msgOption === 'pt') {
         return XiptText::sprintf('COM_XIPT_ALREADY_SELECTED_PLAN_AS_ONLY_PTYPE', $pTypeName);
     }
     if ($msgOption === 'no') {
         return false;
     }
     return XiptText::sprintf('COM_XIPT_ALREADY_SELECTED_PLAN_AS_BOTH', $data['plan'], $pTypeName);
 }