| GNU Affero General Public License or the licensing of CiviCRM, |
| see the CiviCRM license FAQ at http://civicrm.org/licensing |
+--------------------------------------------------------------------+
-*/
+ */
/**
*
private static $_configureActionLinks;
private static $_onlineContributionLinks;
- private static $_links = NULL;
-
+ /**
+ * @var CRM_Utils_Pager
+ */
protected $_pager = NULL;
+ /**
+ * @var string
+ */
protected $_sortByCharacter;
/**
*
* @return array
*/
- function &actionLinks() {
+ public function &actionLinks() {
// check if variable _actionsLinks is populated
if (!isset(self::$_actionLinks)) {
// helper variable for nicer formatting
* type of action and executes that action.
* Finally it calls the parent's run method.
*
- * @return void
+ * @return mixed
*/
public function run() {
// get the requested action
);
// set breadcrumb to append to 2nd layer pages
- $breadCrumb = array(array('title' => ts('Manage Contribution Pages'),
+ $breadCrumb = array(
+ array(
+ 'title' => ts('Manage Contribution Pages'),
'url' => CRM_Utils_System::url(CRM_Utils_System::currentPath(),
'reset=1'
),
- ));
+ ),
+ );
// what action to take ?
if ($action & CRM_Core_Action::ADD) {
$session = CRM_Core_Session::singleton();
$session->pushUserContext(CRM_Utils_System::url(CRM_Utils_System::currentPath(),
- 'action=browse&reset=1'
- ));
+ 'action=browse&reset=1'
+ ));
$controller = new CRM_Contribute_Controller_ContributionPage(NULL, $action);
CRM_Utils_System::setTitle(ts('Manage Contribution Page'));
}
}
elseif ($action & CRM_Core_Action::COPY) {
+ // @todo Unused local variable can be safely removed.
+ // But are there any side effects of CRM_Core_Session::singleton() that we
+ // need to preserve?
$session = CRM_Core_Session::singleton();
CRM_Core_Session::setStatus(ts('A copy of the contribution page has been created'), ts('Successfully Copied'), 'success');
$this->copy();
$session = CRM_Core_Session::singleton();
$session->pushUserContext(CRM_Utils_System::url(CRM_Utils_System::currentPath(),
- 'reset=1&action=browse'
- ));
+ 'reset=1&action=browse'
+ ));
$id = CRM_Utils_Request::retrieve('id', 'Positive',
$this, FALSE, 0
}
/**
- * This function is to make a copy of a contribution page, including
+ * make a copy of a contribution page, including
* all the fields in the page
*
* @return void
/**
* Browse all contribution pages
*
- * @param null $action
- *
- * @return void
- * @static
+ * @param mixed $action
+ * Unused parameter.
*/
public function browse($action = NULL) {
$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
);
$action += array_sum(array_keys(self::contributionLinks()));
if ($dao->is_active) {
- $action -= CRM_Core_Action::ENABLE;
+ $action -= (int) CRM_Core_Action::ENABLE;
}
else {
- $action -= CRM_Core_Action::DISABLE;
+ $action -= (int) CRM_Core_Action::DISABLE;
}
//CRM-4418
if (!$allowToDelete) {
- $action -= CRM_Core_Action::DELETE;
+ $action -= (int) CRM_Core_Action::DELETE;
}
//build the configure links.
}
public function search() {
- if (isset($this->_action) &
- (CRM_Core_Action::ADD |
+ if (isset($this->_action) & (CRM_Core_Action::ADD |
CRM_Core_Action::UPDATE |
CRM_Core_Action::DELETE
)
* @return int|string
*/
public function whereClause(&$params, $sortBy = TRUE) {
- $values = $clauses = array();
- $title = $this->get('title');
+ // @todo Unused local variable can be safely removed.
+ $values = $clauses = array();
+ $title = $this->get('title');
$createdId = $this->get('cid');
if ($createdId) {
}
}
- $value = $this->get( 'financial_type_id' );
+ $value = $this->get('financial_type_id');
$val = array();
if ($value) {
if (is_array($value)) {
}
$type = implode(',', $val);
}
-
- $clauses[] = "financial_type_id IN ({$type})";
+ // @todo Variable 'type' might not have been defined.
+ $clauses[] = "financial_type_id IN ({$type})";
}
- if ($sortBy &&
- $this->_sortByCharacter !== NULL
- ) {
+ if ($sortBy && $this->_sortByCharacter !== NULL) {
$clauses[] = "title LIKE '" . strtolower(CRM_Core_DAO::escapeWildCardString($this->_sortByCharacter)) . "%'";
}
- $campainIds = $this->get('campaign_id');
- if (!CRM_Utils_System::isNull($campainIds)) {
- if (!is_array($campainIds)) {
- $campaignIds = array($campaignIds);
- }
- $clauses[] = '( campaign_id IN ( ' . implode(' , ', array_values($campainIds)) . ' ) )';
+ $campaignIds = $this->getCampaignIds();
+ if (count($campaignIds) >= 1) {
+ $clauses[] = '( campaign_id IN ( ' . implode(' , ', $campaignIds) . ' ) )';
}
if (empty($clauses)) {
return implode(' AND ', $clauses);
}
+ /**
+ * Gets the campaign ids from the session.
+ *
+ * @return int[]
+ */
+ public function getCampaignIds() {
+ // The unfiltered value from the session cannot be trusted, it needs to be
+ // processed to get a clean array of positive integers.
+ $ids = array();
+ foreach ((array) $this->get('campaign_id') as $id) {
+ if ((string) (int) $id === (string) $id && $id > 0) {
+ $ids[] = $id;
+ }
+ }
+ return $ids;
+ }
+
/**
* @param $whereClause
* @param array $whereParams
$query = "
SELECT count(id)
- FROM civicrm_contribution_page
- WHERE $whereClause";
+FROM civicrm_contribution_page
+WHERE $whereClause";
$params['total'] = CRM_Core_DAO::singleValueQuery($query, $whereParams);
public function pagerAtoZ($whereClause, $whereParams) {
$query = "
- SELECT DISTINCT UPPER(LEFT(title, 1)) as sort_name
- FROM civicrm_contribution_page
- WHERE $whereClause
- ORDER BY LEFT(title, 1)
+SELECT DISTINCT UPPER(LEFT(title, 1)) as sort_name
+FROM civicrm_contribution_page
+WHERE $whereClause
+ORDER BY LEFT(title, 1)
";
$dao = CRM_Core_DAO::executeQuery($query, $whereParams);
}
/**
- * @param $sectionsInfo
+ * @param array $sectionsInfo
*
* @return array
*/
public function formatConfigureLinks($sectionsInfo) {
- //build the formatted configure links.
+ // build the formatted configure links.
$formattedConfLinks = self::configureActionLinks();
foreach ($formattedConfLinks as $act => & $link) {
$sectionName = CRM_Utils_Array::value('uniqueName', $link);
continue;
}
- $classes = array();
- if (isset($link['class'])) {
- $classes = $link['class'];
- }
-
if (empty($sectionsInfo[$sectionName])) {
$classes = array();
if (isset($link['class'])) {
return $formattedConfLinks;
}
+
}