static function process(&$form) { if ($form->getVar('_id') <= 0) { return NULL; } $tabs = array('settings' => array('title' => ts('Title'), 'link' => NULL, 'valid' => FALSE, 'active' => FALSE, 'current' => FALSE), 'amount' => array('title' => ts('Amounts'), 'link' => NULL, 'valid' => FALSE, 'active' => FALSE, 'current' => FALSE), 'membership' => array('title' => ts('Memberships'), 'link' => NULL, 'valid' => FALSE, 'active' => FALSE, 'current' => FALSE), 'thankyou' => array('title' => ts('Receipt'), 'link' => NULL, 'valid' => FALSE, 'active' => FALSE, 'current' => FALSE), 'friend' => array('title' => ts('Tell a Friend'), 'link' => NULL, 'valid' => FALSE, 'active' => FALSE, 'current' => FALSE), 'custom' => array('title' => ts('Profiles'), 'link' => NULL, 'valid' => FALSE, 'active' => FALSE, 'current' => FALSE), 'premium' => array('title' => ts('Premiums'), 'link' => NULL, 'valid' => FALSE, 'active' => FALSE, 'current' => FALSE), 'widget' => array('title' => ts('Widgets'), 'link' => NULL, 'valid' => FALSE, 'active' => FALSE, 'current' => FALSE), 'pcp' => array('title' => ts('Personal Campaigns'), 'link' => NULL, 'valid' => FALSE, 'active' => FALSE, 'current' => FALSE)); $contribPageId = $form->getVar('_id'); $fullName = $form->getVar('_name'); $className = CRM_Utils_String::getClassName($fullName); // Hack for special cases. switch ($className) { case 'Contribute': $attributes = $form->getVar('_attributes'); $class = strtolower(basename(CRM_Utils_Array::value('action', $attributes))); break; case 'MembershipBlock': $class = 'membership'; break; default: $class = strtolower($className); break; } $qfKey = $form->get('qfKey'); $form->assign('qfKey', $qfKey); if (array_key_exists($class, $tabs)) { $tabs[$class]['current'] = TRUE; } if ($contribPageId) { $reset = CRM_Utils_Array::value('reset', $_GET) ? 'reset=1&' : ''; foreach ($tabs as $key => $value) { $tabs[$key]['link'] = CRM_Utils_System::url("civicrm/admin/contribute/{$key}", "{$reset}action=update&snippet=4&id={$contribPageId}&qfKey={$qfKey}"); $tabs[$key]['active'] = $tabs[$key]['valid'] = TRUE; } //get all section info. $contriPageInfo = CRM_Contribute_BAO_ContributionPage::getSectionInfo(array($contribPageId)); foreach ($contriPageInfo[$contribPageId] as $section => $info) { if (!$info) { $tabs[$section]['valid'] = FALSE; } } } return $tabs; }
/** * Browse all contribution pages. * * @param mixed $action * Unused parameter. */ public function browse($action = NULL) { Civi::resources()->addStyleFile('civicrm', 'css/searchForm.css', 1, 'html-header'); $this->_sortByCharacter = CRM_Utils_Request::retrieve('sortByCharacter', 'String', $this); // @todo Unused local variable can be safely removed. // But are there any side effects of CRM_Utils_Request::retrieve() that we // need to preserve? $createdId = CRM_Utils_Request::retrieve('cid', 'Positive', $this, FALSE, 0); if ($this->_sortByCharacter == 'all' || !empty($_POST)) { $this->_sortByCharacter = ''; $this->set('sortByCharacter', ''); } $this->search(); $params = array(); $whereClause = $this->whereClause($params, FALSE); $this->pagerAToZ($whereClause, $params); $params = array(); $whereClause = $this->whereClause($params, TRUE); $this->pager($whereClause, $params); list($offset, $rowCount) = $this->_pager->getOffsetAndRowCount(); //check for delete CRM-4418 $allowToDelete = CRM_Core_Permission::check('delete in CiviContribute'); $query = "\n SELECT id\n FROM civicrm_contribution_page\n WHERE {$whereClause}\n ORDER BY is_active desc, title asc\n LIMIT {$offset}, {$rowCount}"; $contribPage = CRM_Core_DAO::executeQuery($query, $params, TRUE, 'CRM_Contribute_DAO_ContributionPage'); $contribPageIds = array(); while ($contribPage->fetch()) { $contribPageIds[$contribPage->id] = $contribPage->id; } //get all section info. $contriPageSectionInfo = CRM_Contribute_BAO_ContributionPage::getSectionInfo($contribPageIds); $query = "\nSELECT *\nFROM civicrm_contribution_page\nWHERE {$whereClause}\nORDER BY is_active desc, title asc\n LIMIT {$offset}, {$rowCount}"; $dao = CRM_Core_DAO::executeQuery($query, $params, TRUE, 'CRM_Contribute_DAO_ContributionPage'); //get all campaigns. $allCampaigns = CRM_Campaign_BAO_Campaign::getCampaigns(NULL, NULL, FALSE, FALSE, FALSE, TRUE); //get configure actions links. $configureActionLinks = self::configureActionLinks(); while ($dao->fetch()) { $contribution[$dao->id] = array(); CRM_Core_DAO::storeValues($dao, $contribution[$dao->id]); // form all action links $action = array_sum(array_keys($this->actionLinks())); //add configure actions links. $action += array_sum(array_keys($configureActionLinks)); //add online contribution links. $action += array_sum(array_keys(self::onlineContributionLinks())); //add contribution search links. $action += array_sum(array_keys(self::contributionLinks())); if ($dao->is_active) { $action -= (int) CRM_Core_Action::ENABLE; } else { $action -= (int) CRM_Core_Action::DISABLE; } //CRM-4418 if (!$allowToDelete) { $action -= (int) CRM_Core_Action::DELETE; } //build the configure links. $sectionsInfo = CRM_Utils_Array::value($dao->id, $contriPageSectionInfo, array()); $contribution[$dao->id]['configureActionLinks'] = CRM_Core_Action::formLink(self::formatConfigureLinks($sectionsInfo), $action, array('id' => $dao->id), ts('Configure'), TRUE, 'contributionpage.configure.actions', 'ContributionPage', $dao->id); //build the contributions links. $contribution[$dao->id]['contributionLinks'] = CRM_Core_Action::formLink(self::contributionLinks(), $action, array('id' => $dao->id), ts('Contributions'), TRUE, 'contributionpage.contributions.search', 'ContributionPage', $dao->id); //build the online contribution links. $contribution[$dao->id]['onlineContributionLinks'] = CRM_Core_Action::formLink(self::onlineContributionLinks(), $action, array('id' => $dao->id), ts('Links'), TRUE, 'contributionpage.online.links', 'ContributionPage', $dao->id); //build the normal action links. $contribution[$dao->id]['action'] = CRM_Core_Action::formLink(self::actionLinks(), $action, array('id' => $dao->id), ts('more'), TRUE, 'contributionpage.action.links', 'ContributionPage', $dao->id); //show campaigns on selector. $contribution[$dao->id]['campaign'] = CRM_Utils_Array::value($dao->campaign_id, $allCampaigns); } if (isset($contribution)) { $this->assign('rows', $contribution); } }
/** * Browse all contribution pages * * @return void * @access public * @static */ function browse($action = null) { $this->_sortByCharacter = CRM_Utils_Request::retrieve('sortByCharacter', 'String', $this); $createdId = CRM_Utils_Request::retrieve('cid', 'Positive', $this, false, 0); if ($this->_sortByCharacter == 1 || !empty($_POST)) { $this->_sortByCharacter = ''; $this->set('sortByCharacter', ''); } $this->search(); $params = array(); $whereClause = $this->whereClause($params, false); $this->pagerAToZ($whereClause, $params); $params = array(); $whereClause = $this->whereClause($params, true); $this->pager($whereClause, $params); list($offset, $rowCount) = $this->_pager->getOffsetAndRowCount(); //check for delete CRM-4418 require_once 'CRM/Core/Permission.php'; $allowToDelete = CRM_Core_Permission::check('delete in CiviContribute'); $query = "\n SELECT id\n FROM civicrm_contribution_page\n WHERE {$whereClause}\n LIMIT {$offset}, {$rowCount}"; $contribPage = CRM_Core_DAO::executeQuery($query, $params, true, 'CRM_Contribute_DAO_ContributionPage'); $contribPageIds = array(); while ($contribPage->fetch()) { $contribPageIds[$contribPage->id] = $contribPage->id; } //get all section info. $contriPageSectionInfo = CRM_Contribute_BAO_ContributionPage::getSectionInfo($contribPageIds); $query = "\nSELECT *\nFROM civicrm_contribution_page\nWHERE {$whereClause}\nORDER BY title asc\n LIMIT {$offset}, {$rowCount}"; $dao = CRM_Core_DAO::executeQuery($query, $params, true, 'CRM_Contribute_DAO_ContributionPage'); //get configure actions links. $configureActionLinks = self::configureActionLinks(); while ($dao->fetch()) { $contribution[$dao->id] = array(); CRM_Core_DAO::storeValues($dao, $contribution[$dao->id]); // form all action links $action = array_sum(array_keys($this->actionLinks())); //add configure actions links. $action += array_sum(array_keys($configureActionLinks)); //add online contribution links. $action += array_sum(array_keys(self::onlineContributionLinks())); //add contribution search links. $action += array_sum(array_keys(self::contributionLinks())); if ($dao->is_active) { $action -= CRM_Core_Action::ENABLE; } else { $action -= CRM_Core_Action::DISABLE; } //CRM-4418 if (!$allowToDelete) { $action -= CRM_Core_Action::DELETE; } //build the configure links. $sectionsInfo = CRM_Utils_Array::value($dao->id, $contriPageSectionInfo, array()); $contribution[$dao->id]['configureActionLinks'] = CRM_Core_Action::formLink(self::formatConfigureLinks($sectionsInfo), $action, array('id' => $dao->id), ts('Configure'), true); //build the contributions links. $contribution[$dao->id]['contributionLinks'] = CRM_Core_Action::formLink(self::contributionLinks(), $action, array('id' => $dao->id), ts('Contributions'), true); //build the online contribution links. $contribution[$dao->id]['onlineContributionLinks'] = CRM_Core_Action::formLink(self::onlineContributionLinks(), $action, array('id' => $dao->id), ts('Links'), true); //build the normal action links. $contribution[$dao->id]['action'] = CRM_Core_Action::formLink(self::actionLinks(), $action, array('id' => $dao->id), ts('more'), true); } if (isset($contribution)) { $this->assign('rows', $contribution); } }