3 require_once 'CRM/Core/Page.php';
4 require_once 'CRM/Wci/DAO/ProgressBar.php';
6 class CRM_Wci_Page_ProgressBarList
extends CRM_Core_Page
{
7 private static $_actionLinks;
9 // get the requested action
10 $action = CRM_Utils_Request
::retrieve('action', 'String',
11 // default to 'browse'
12 $this, FALSE, 'browse'
14 // assign vars to templates
15 $this->assign('action', $action);
16 $id = CRM_Utils_Request
::retrieve('id', 'Positive',
20 if ($action & CRM_Core_Action
::UPDATE
) {
21 $controller = new CRM_Core_Controller_Simple('CRM_Wci_Form_ProgressBar',
23 CRM_Core_Action
::UPDATE
25 $controller->set('id', $id);
26 $controller->process();
27 return $controller->run();
29 elseif ($action & CRM_Core_Action
::DELETE
) {
31 $transaction = new CRM_Core_Transaction();
32 $sql = "DELETE FROM civicrm_wci_progress_bar_formula where progress_bar_id = " . $id;
33 CRM_Core_DAO
::executeQuery($sql);
35 $sql = "DELETE FROM civicrm_wci_progress_bar where id = " . $id;
36 CRM_Core_DAO
::executeQuery($sql);
37 $transaction->commit();
39 catch (Exception
$e) {
41 print_r($e->getMessage());
42 $transaction->rollback();
45 // Example: Set the page-title dynamically; alternatively, declare a static title in xml/Menu/*.xml
46 CRM_Utils_System
::setTitle(ts('Progress Bar List'));
48 $query = "SELECT * FROM civicrm_wci_progress_bar";
51 $dao = CRM_Core_DAO
::executeQuery($query, $params, TRUE, 'CRM_Wci_DAO_ProgressBar');
53 while ($dao->fetch()) {
54 $con_page[$dao->id
] = array();
55 CRM_Core_DAO
::storeValues($dao, $con_page[$dao->id
]);
57 $action = array_sum(array_keys($this->actionLinks()));
58 //build the normal action links.
59 $con_page[$dao->id
]['action'] = CRM_Core_Action
::formLink(self
::actionLinks(),
61 array('id' => $dao->id
),
67 if (isset($con_page)) {
68 $this->assign('rows', $con_page);
73 function &actionLinks() {
74 // check if variable _actionsLinks is populated
75 if (!isset(self
::$_actionLinks)) {
76 // helper variable for nicer formatting
77 $deleteExtra = ts('Are you sure you want to delete this Progressbar page?');
79 self
::$_actionLinks = array(
80 CRM_Core_Action
::UPDATE
=> array(
82 'url' => CRM_Utils_System
::currentPath(),
83 'qs' => 'action=update&reset=1&id=%%id%%',
84 'title' => ts('Update'),
86 CRM_Core_Action
::DELETE
=> array(
87 'name' => ts('Delete'),
88 'url' => CRM_Utils_System
::currentPath(),
89 'qs' => 'action=delete&reset=1&id=%%id%%',
90 'title' => ts('Delete Custom Field'),
91 'extra' => 'onclick = "return confirm(\'' . $deleteExtra . '\');"',
95 return self
::$_actionLinks;