]> CyberLeo.Net >> Repos - Github/sugarcrm.git/blob - tests/SugarTestProspectListsUtilities.php
Release 6.5.16
[Github/sugarcrm.git] / tests / SugarTestProspectListsUtilities.php
1 <?php
2 /*********************************************************************************
3  * SugarCRM Community Edition is a customer relationship management program developed by
4  * SugarCRM, Inc. Copyright (C) 2004-2013 SugarCRM Inc.
5  * 
6  * This program is free software; you can redistribute it and/or modify it under
7  * the terms of the GNU Affero General Public License version 3 as published by the
8  * Free Software Foundation with the addition of the following permission added
9  * to Section 15 as permitted in Section 7(a): FOR ANY PART OF THE COVERED WORK
10  * IN WHICH THE COPYRIGHT IS OWNED BY SUGARCRM, SUGARCRM DISCLAIMS THE WARRANTY
11  * OF NON INFRINGEMENT OF THIRD PARTY RIGHTS.
12  * 
13  * This program is distributed in the hope that it will be useful, but WITHOUT
14  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
15  * FOR A PARTICULAR PURPOSE.  See the GNU Affero General Public License for more
16  * details.
17  * 
18  * You should have received a copy of the GNU Affero General Public License along with
19  * this program; if not, see http://www.gnu.org/licenses or write to the Free
20  * Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
21  * 02110-1301 USA.
22  * 
23  * You can contact SugarCRM, Inc. headquarters at 10050 North Wolfe Road,
24  * SW2-130, Cupertino, CA 95014, USA. or at email address contact@sugarcrm.com.
25  * 
26  * The interactive user interfaces in modified source and object code versions
27  * of this program must display Appropriate Legal Notices, as required under
28  * Section 5 of the GNU Affero General Public License version 3.
29  * 
30  * In accordance with Section 7(b) of the GNU Affero General Public License version 3,
31  * these Appropriate Legal Notices must retain the display of the "Powered by
32  * SugarCRM" logo. If the display of the logo is not reasonably feasible for
33  * technical reasons, the Appropriate Legal Notices must display the words
34  * "Powered by SugarCRM".
35  ********************************************************************************/
36
37
38 require_once('modules/ProspectLists/ProspectList.php');
39
40 class SugarTestProspectListsUtilities
41 {
42
43     private static $_aCreatedProspectLists = array();
44     private static $_aCreatedProspectListsIds = array();
45
46     /**
47      * @static
48      * @param mixed $prospect_list_id
49      */
50     public static function removeProspectLists($prospect_list_id)
51     {
52         if (is_array($prospect_list_id)) {
53
54             $prospect_list_id = implode("','", $prospect_list_id);
55             $GLOBALS['db']->query("DELETE FROM prospect_lists WHERE id IN ('{$prospect_list_id}')");
56         } else {
57             $GLOBALS['db']->query("DELETE FROM prospect_lists WHERE id = '{$prospect_list_id}'");
58         }
59     }
60
61     /**
62      * @static
63      * @param string $prospect_list_id
64      * @param string $prospect_id
65      */
66     public static function removeProspectsListToProspectRelation($prospect_list_id, $prospect_id)
67     {
68
69         $GLOBALS['db']->query("DELETE FROM prospect_lists_prospects WHERE prospect_list_id='{$prospect_list_id}' AND related_id='{$prospect_id}'");
70     }
71
72
73     public static function createProspectList($id = '', $aParams = array())
74     {
75         $time = mt_rand();
76         $oProspectList = new ProspectList();
77         $oProspectList->name = 'ProspectList' . $time;
78         if (!empty($id))
79         {
80             $oProspectList->id = $id;
81         }
82         if (!empty($aParams))
83         {
84             foreach ($aParams as $key => $val)
85             {
86                 $oProspectList->$key = $val;
87             }
88         }
89         $oProspectList->save();
90         self::$_aCreatedProspectLists[] = $oProspectList;
91         self::$_aCreatedProspectListsIds[] = $oProspectList->id;
92         return $oProspectList;
93     }
94
95     /**
96      * @static
97      * @param mixed $prospect_list_id
98      */
99     public static function removeCreatedProspectLists($id = '')
100     {
101         if (!empty($id))
102         {
103             $GLOBALS['db']->query("DELETE FROM prospect_lists WHERE id = '{$id}'");
104         }
105         elseif (!empty(self::$_aCreatedProspectLists))
106         {
107             $GLOBALS['db']->query("DELETE FROM prospect_lists WHERE id IN ('" . implode("','", self::$_aCreatedProspectListsIds) . "')");
108         }
109     }
110 }