예제 #1
0
파일: Task.php 프로젝트: bhirsch/voipdev
 /**
  * build all the data structures needed to build the form
  *
  * @param
  * @return void
  * @access public
  */
 function preProcess()
 {
     $this->_memberIds = array();
     $values = $this->controller->exportValues('Search');
     $this->_task = $values['task'];
     $memberTasks = CRM_Member_Task::tasks();
     $this->assign('taskName', $memberTasks[$this->_task]);
     $ids = array();
     if ($values['radio_ts'] == 'ts_sel') {
         foreach ($values as $name => $value) {
             if (substr($name, 0, CRM_Core_Form::CB_PREFIX_LEN) == CRM_Core_Form::CB_PREFIX) {
                 $ids[] = substr($name, CRM_Core_Form::CB_PREFIX_LEN);
             }
         }
     } else {
         $queryParams = $this->get('queryParams');
         $query =& new CRM_Contact_BAO_Query($queryParams, null, null, false, false, CRM_Contact_BAO_Query::MODE_MEMBER);
         $result = $query->searchQuery(0, 0, null);
         while ($result->fetch()) {
             $ids[] = $result->membership_id;
         }
     }
     if (!empty($ids)) {
         $this->_componentClause = ' civicrm_membership.id IN ( ' . implode(',', $ids) . ' ) ';
         $this->assign('totalSelectedMembers', count($ids));
     }
     $this->_memberIds = $this->_componentIds = $ids;
     //set the context for redirection for any task actions
     $session =& CRM_Core_Session::singleton();
     $session->replaceUserContext(CRM_Utils_System::url('civicrm/member/search', 'force=1'));
 }
예제 #2
0
 /**
  * @param CRM_Core_Form $form
  * @param bool $useTable
  */
 public static function preProcessCommon(&$form, $useTable = FALSE)
 {
     $form->_memberIds = array();
     $values = $form->controller->exportValues($form->get('searchFormName'));
     $form->_task = $values['task'];
     $memberTasks = CRM_Member_Task::tasks();
     $form->assign('taskName', $memberTasks[$form->_task]);
     $ids = array();
     if ($values['radio_ts'] == 'ts_sel') {
         foreach ($values as $name => $value) {
             if (substr($name, 0, CRM_Core_Form::CB_PREFIX_LEN) == CRM_Core_Form::CB_PREFIX) {
                 $ids[] = substr($name, CRM_Core_Form::CB_PREFIX_LEN);
             }
         }
     } else {
         $queryParams = $form->get('queryParams');
         $sortOrder = NULL;
         if ($form->get(CRM_Utils_Sort::SORT_ORDER)) {
             $sortOrder = $form->get(CRM_Utils_Sort::SORT_ORDER);
         }
         $query = new CRM_Contact_BAO_Query($queryParams, NULL, NULL, FALSE, FALSE, CRM_Contact_BAO_Query::MODE_MEMBER);
         $query->_distinctComponentClause = ' civicrm_membership.id';
         $query->_groupByComponentClause = ' GROUP BY civicrm_membership.id ';
         $result = $query->searchQuery(0, 0, $sortOrder);
         while ($result->fetch()) {
             $ids[] = $result->membership_id;
         }
     }
     if (!empty($ids)) {
         $form->_componentClause = ' civicrm_membership.id IN ( ' . implode(',', $ids) . ' ) ';
         $form->assign('totalSelectedMembers', count($ids));
     }
     $form->_memberIds = $form->_componentIds = $ids;
     //set the context for redirection for any task actions
     $session = CRM_Core_Session::singleton();
     $qfKey = CRM_Utils_Request::retrieve('qfKey', 'String', $form);
     $urlParams = 'force=1';
     if (CRM_Utils_Rule::qfKey($qfKey)) {
         $urlParams .= "&qfKey={$qfKey}";
     }
     $searchFormName = strtolower($form->get('searchFormName'));
     if ($searchFormName == 'search') {
         $session->replaceUserContext(CRM_Utils_System::url('civicrm/member/search', $urlParams));
     } else {
         $session->replaceUserContext(CRM_Utils_System::url("civicrm/contact/search/{$searchFormName}", $urlParams));
     }
 }
예제 #3
0
 static function preProcessCommon(&$form, $useTable = false)
 {
     $form->_memberIds = array();
     $values = $form->controller->exportValues('Search');
     $form->_task = $values['task'];
     $memberTasks = CRM_Member_Task::tasks();
     $form->assign('taskName', $memberTasks[$form->_task]);
     $ids = array();
     if ($values['radio_ts'] == 'ts_sel') {
         foreach ($values as $name => $value) {
             if (substr($name, 0, CRM_Core_Form::CB_PREFIX_LEN) == CRM_Core_Form::CB_PREFIX) {
                 $ids[] = substr($name, CRM_Core_Form::CB_PREFIX_LEN);
             }
         }
     } else {
         $queryParams = $form->get('queryParams');
         $query = new CRM_Contact_BAO_Query($queryParams, null, null, false, false, CRM_Contact_BAO_Query::MODE_MEMBER);
         $result = $query->searchQuery(0, 0, null);
         while ($result->fetch()) {
             $ids[] = $result->membership_id;
         }
     }
     if (!empty($ids)) {
         $form->_componentClause = ' civicrm_membership.id IN ( ' . implode(',', $ids) . ' ) ';
         $form->assign('totalSelectedMembers', count($ids));
     }
     $form->_memberIds = $form->_componentIds = $ids;
     //set the context for redirection for any task actions
     $session = CRM_Core_Session::singleton();
     $qfKey = CRM_Utils_Request::retrieve('qfKey', 'String', $form);
     require_once 'CRM/Utils/Rule.php';
     $urlParams = 'force=1';
     if (CRM_Utils_Rule::qfKey($qfKey)) {
         $urlParams .= "&qfKey={$qfKey}";
     }
     $session->replaceUserContext(CRM_Utils_System::url('civicrm/member/search', $urlParams));
 }