1. flipping dupe pairs for a row or selections. 2. store meaningful - conflict labels...
[civicrm-core.git] / CRM / Contact / Page / CustomSearch.php
1 <?php
2 /*
3 +--------------------------------------------------------------------+
4 | CiviCRM version 4.6 |
5 +--------------------------------------------------------------------+
6 | Copyright CiviCRM LLC (c) 2004-2015 |
7 +--------------------------------------------------------------------+
8 | This file is a part of CiviCRM. |
9 | |
10 | CiviCRM is free software; you can copy, modify, and distribute it |
11 | under the terms of the GNU Affero General Public License |
12 | Version 3, 19 November 2007 and the CiviCRM Licensing Exception. |
13 | |
14 | CiviCRM is distributed in the hope that it will be useful, but |
15 | WITHOUT ANY WARRANTY; without even the implied warranty of |
16 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. |
17 | See the GNU Affero General Public License for more details. |
18 | |
19 | You should have received a copy of the GNU Affero General Public |
20 | License and the CiviCRM Licensing Exception along |
21 | with this program; if not, contact CiviCRM LLC |
22 | at info[AT]civicrm[DOT]org. If you have questions about the |
23 | GNU Affero General Public License or the licensing of CiviCRM, |
24 | see the CiviCRM license FAQ at http://civicrm.org/licensing |
25 +--------------------------------------------------------------------+
26 */
27
28 /**
29 *
30 * @package CRM
31 * @copyright CiviCRM LLC (c) 2004-2015
32 * $Id$
33 *
34 */
35
36 /**
37 * Main page for viewing all Saved searches.
38 *
39 */
40 class CRM_Contact_Page_CustomSearch extends CRM_Core_Page {
41
42 /**
43 * The action links that we need to display for the browse screen.
44 *
45 * @var array
46 */
47 static $_links = NULL;
48
49 /**
50 * @return array
51 */
52 public static function &info() {
53 $sql = "
54 SELECT v.value, v.label, v.description
55 FROM civicrm_option_group g,
56 civicrm_option_value v
57 WHERE v.option_group_id = g.id
58 AND g.name = 'custom_search'
59 AND v.is_active = 1
60 ORDER By v.weight
61 ";
62 $dao = CRM_Core_DAO::executeQuery($sql,
63 CRM_Core_DAO::$_nullArray
64 );
65
66 $rows = array();
67 while ($dao->fetch()) {
68 if (trim($dao->description)) {
69 $rows[$dao->value] = $dao->description;
70 }
71 else {
72 $rows[$dao->value] = $dao->label;
73 }
74 }
75 return $rows;
76 }
77
78 /**
79 * Browse all custom searches.
80 *
81 * @return mixed
82 * content of the parents run method
83 */
84 public function browse() {
85 $rows = self::info();
86 $this->assign('rows', $rows);
87 return parent::run();
88 }
89
90 /**
91 * Run this page (figure out the action needed and perform it).
92 *
93 * @return void
94 */
95 public function run() {
96 $action = CRM_Utils_Request::retrieve('action',
97 'String',
98 $this, FALSE, 'browse'
99 );
100
101 $this->assign('action', $action);
102 return $this->browse();
103 }
104
105 }