Example #1
0
 /**
  * Get the UF Join records for an ufgroup id.
  *
  * @param int $ufGroupId
  *   Uf group id.
  * @param int $displayName
  *   If set return display name in array.
  * @param int $status
  *   If set return module other than default modules (User Account/User registration/Profile).
  *
  * @return array
  *
  */
 public static function getUFJoinRecord($ufGroupId = NULL, $displayName = NULL, $status = NULL)
 {
     if ($displayName) {
         $UFGroupType = array();
         $UFGroupType = CRM_Core_SelectValues::ufGroupTypes();
     }
     $ufJoin = array();
     $dao = new CRM_Core_DAO_UFJoin();
     if ($ufGroupId) {
         $dao->uf_group_id = $ufGroupId;
     }
     $dao->find();
     $ufJoin = array();
     while ($dao->fetch()) {
         if (!$displayName) {
             $ufJoin[$dao->id] = $dao->module;
         } else {
             if (isset($UFGroupType[$dao->module])) {
                 // skip the default modules
                 if (!$status) {
                     $ufJoin[$dao->id] = $UFGroupType[$dao->module];
                 }
                 // added for CRM-1475
             } elseif (!CRM_Utils_Array::key($dao->module, $ufJoin)) {
                 $ufJoin[$dao->id] = $dao->module;
             }
         }
     }
     return $ufJoin;
 }
Example #2
0
 /**
  * Function to actually build the form
  *
  * @return void
  * @access public
  */
 public function buildQuickForm()
 {
     if ($this->_action & (CRM_Core_Action::DISABLE | CRM_Core_Action::DELETE)) {
         if ($this->_action & CRM_Core_Action::DISABLE) {
             $display = 'Disable Profile';
         } else {
             $display = 'Delete Profile';
         }
         $this->addButtons(array(array('type' => 'next', 'name' => $display, 'spacing' => '         ', 'isDefault' => TRUE), array('type' => 'cancel', 'name' => ts('Cancel'))));
         return;
     }
     $this->applyFilter('__ALL__', 'trim');
     // title
     $this->add('text', 'title', ts('Profile Name'), CRM_Core_DAO::getAttribute('CRM_Core_DAO_UFGroup', 'title'), TRUE);
     $this->add('textarea', 'description', ts('Description'), CRM_Core_DAO::getAttribute('CRM_Core_DAO_UFGroup', 'description'));
     //add checkboxes
     $uf_group_type = array();
     $UFGroupType = CRM_Core_SelectValues::ufGroupTypes();
     foreach ($UFGroupType as $key => $value) {
         $uf_group_type[] = $this->createElement('checkbox', $key, NULL, $value);
     }
     $this->addGroup($uf_group_type, 'uf_group_type', ts('Used For'), ' ');
     // help text
     $this->addWysiwyg('help_pre', ts('Pre-form Help'), CRM_Core_DAO::getAttribute('CRM_Core_DAO_UFGroup', 'help_post'));
     $this->addWysiwyg('help_post', ts('Post-form Help'), CRM_Core_DAO::getAttribute('CRM_Core_DAO_UFGroup', 'help_post'));
     // weight
     $this->add('text', 'weight', ts('Order'), CRM_Core_DAO::getAttribute('CRM_Core_DAO_UFJoin', 'weight'), TRUE);
     $this->addRule('weight', ts('is a numeric field'), 'numeric');
     // is this group active ?
     $this->addElement('checkbox', 'is_active', ts('Is this CiviCRM Profile active?'));
     $paneNames = array('Advanced Settings' => 'buildAdvanceSetting');
     foreach ($paneNames as $name => $type) {
         if ($this->_id) {
             $dataURL = "&reset=1&action=update&id={$this->_id}&snippet=4&formType={$type}";
         } else {
             $dataURL = "&reset=1&action=add&snippet=4&formType={$type}";
         }
         $allPanes[$name] = array('url' => CRM_Utils_System::url('civicrm/admin/uf/group/setting', $dataURL), 'open' => 'false', 'id' => $type);
         CRM_UF_Form_AdvanceSetting::$type($this);
     }
     $this->addButtons(array(array('type' => 'next', 'name' => ts('Save'), 'spacing' => '         ', 'isDefault' => TRUE), array('type' => 'cancel', 'name' => ts('Cancel'))));
     // views are implemented as frozen form
     if ($this->_action & CRM_Core_Action::VIEW) {
         $this->freeze();
         $this->addElement('button', 'done', ts('Done'), array('onclick' => "location.href='civicrm/admin/uf/group?reset=1&action=browse'"));
     }
     $this->addFormRule(array('CRM_UF_Form_Group', 'formRule'), $this);
 }
Example #3
0
 /**
  * Function to get the UF Join records for an ufgroup id
  *
  * @params int $ufGroupId uf group id
  * @params int $displayName if set return display name in array
  * @params int $status if set return module other than default modules (User Account/User registration/Profile)
  *
  * @return array $ufGroupJoinRecords 
  *
  * @access public
  * @static
  */
 public static function getUFJoinRecord($ufGroupId = null, $displayName = null, $status = null)
 {
     if ($displayName) {
         $UFGroupType = array();
         require_once "CRM/Core/SelectValues.php";
         $UFGroupType = CRM_Core_SelectValues::ufGroupTypes();
     }
     $ufJoin = array();
     require_once 'CRM/Core/DAO/UFJoin.php';
     $dao =& new CRM_Core_DAO_UFJoin();
     if ($ufGroupId) {
         $dao->uf_group_id = $ufGroupId;
     }
     $dao->find();
     $ufJoin = array();
     while ($dao->fetch()) {
         if (!$displayName) {
             $ufJoin[$dao->id] = $dao->module;
         } else {
             if (isset($UFGroupType[$dao->module])) {
                 if (!$status) {
                     //skip the default modules
                     $ufJoin[$dao->id] = $UFGroupType[$dao->module];
                 }
             } else {
                 if (!CRM_Utils_Array::key($dao->module, $ufJoin)) {
                     //added for CRM-1475
                     $ufJoin[$dao->id] = $dao->module;
                 }
             }
         }
     }
     return $ufJoin;
 }
Example #4
0
 /**
  * This function sets the default values for the form. Note that in edit/view mode
  * the default values are retrieved from the database
  *
  * @access public
  * @return void
  */
 function setDefaultValues()
 {
     $defaults = array();
     if ($this->_action == CRM_CORE_ACTION_ADD) {
         $defaults['weight'] = CRM_Core_BAO_UFGroup::getWeight();
         $UFGroupType = CRM_Core_SelectValues::ufGroupTypes();
         foreach ($UFGroupType as $key => $value) {
             $checked[$key] = 1;
         }
         $defaults['uf_group_type'] = $checked;
     }
     if (isset($this->_id)) {
         $defaults['weight'] = CRM_Core_BAO_UFGroup::getWeight($this->_id);
         $params = array('id' => $this->_id);
         CRM_Core_BAO_UFGroup::retrieve($params, $defaults);
         $defaults['group'] = $defaults['limit_listings_group_id'];
         //get the uf join records for current uf group
         $ufJoinRecords = CRM_Core_BAO_UFGroup::getUFJoinRecord($this->_id);
         foreach ($ufJoinRecords as $key => $value) {
             $checked[$value] = 1;
         }
         $defaults['uf_group_type'] = $checked;
         //get the uf join records for current uf group other than default modules
         $otherModules = array();
         $otherModules = CRM_Core_BAO_UFGroup::getUFJoinRecord($this->_id, true, true);
         if (!empty($otherModules)) {
             foreach ($otherModules as $key) {
                 $otherModuleString .= " [ x ] " . $key;
             }
             $this->assign('otherModuleString', $otherModuleString);
         }
     } else {
         $defaults['is_active'] = 1;
     }
     return $defaults;
 }