| [ Index ] |
|
Code source de vtiger CRM 5.0.2 |
1 <?php 2 /********************************************************************************* 3 * The contents of this file are subject to the SugarCRM Public License Version 1.1.2 4 * ("License"); You may not use this file except in compliance with the 5 * License. You may obtain a copy of txhe License at http://www.sugarcrm.com/SPL 6 * Software distributed under the License is distributed on an "AS IS" basis, 7 * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for 8 * the specific language governing rights and limitations under the License. 9 * The Original Code is: SugarCRM Open Source 10 * The Initial Developer of the Original Code is SugarCRM, Inc. 11 * Portions created by SugarCRM are Copyright (C) SugarCRM, Inc.; 12 * All Rights Reserved. 13 * Contributor(s): ______________________________________. 14 ********************************************************************************/ 15 include_once ('config.php'); 16 require_once ('include/logging.php'); 17 require_once ('include/database/PearDatabase.php'); 18 require_once ('data/SugarBean.php'); 19 require_once ('data/CRMEntity.php'); 20 require_once ('include/utils/utils.php'); 21 require_once ('modules/Contacts/Contact.php'); 22 require_once ('modules/Leads/Lead.php'); 23 require_once ('user_privileges/default_module_view.php'); 24 25 class Campaign extends CRMEntity { 26 var $log; 27 var $db; 28 29 30 var $tab_name = Array('vtiger_crmentity','vtiger_campaign','vtiger_campaignscf'); 31 var $tab_name_index = Array('vtiger_crmentity'=>'crmid','vtiger_campaign'=>'campaignid','vtiger_campaignscf'=>'campaignid'); 32 var $column_fields = Array(); 33 34 var $sortby_fields = Array('campaignname','smownerid','campaigntype','product_id','expectedrevenue','closingdate','campaignstatus','expectedresponse','targetaudience','expectedcost'); 35 36 var $list_fields = Array( 37 'Campaign Name'=>Array('campaign'=>'campaignname'), 38 'Campaign Type'=>Array('campaign'=>'campaigntype'), 39 'Campaign Status'=>Array('campaign'=>'campaignstatus'), 40 'Expected Revenue'=>Array('campaign'=>'expectedrevenue'), 41 'Expected Close Date'=>Array('campaign'=>'closingdate'), 42 'Assigned To' => Array('crmentity'=>'smownerid') 43 ); 44 45 var $list_fields_name = Array( 46 'Campaign Name'=>'campaignname', 47 'Campaign Type'=>'campaigntype', 48 'Campaign Status'=>'campaignstatus', 49 'Expected Revenue'=>'expectedrevenue', 50 'Expected Close Date'=>'closingdate', 51 'Assigned To'=>'assigned_user_id' 52 ); 53 54 var $list_link_field= 'campaignname'; 55 //Added these variables which are used as default order by and sortorder in ListView 56 var $default_order_by = 'crmid'; 57 var $default_sort_order = 'DESC'; 58 59 var $search_fields = Array( 60 'Campaign Name'=>Array('vtiger_campaign'=>'campaignname'), 61 'Campaign Type'=>Array('vtiger_campaign'=>'campaigntype'), 62 ); 63 64 var $search_fields_name = Array( 65 'Campaign Name'=>'campaignname', 66 'Campaign Type'=>'campaigntype', 67 ); 68 69 function Campaign() 70 { 71 $this->log =LoggerManager::getLogger('campaign'); 72 $this->db = new PearDatabase(); 73 $this->column_fields = getColumnFields('Campaigns'); 74 } 75 76 // Mike Crowe Mod --------------------------------------------------------Default ordering for us 77 /** 78 * Function to get sort order 79 * return string $sorder - sortorder string either 'ASC' or 'DESC' 80 */ 81 function getSortOrder() 82 { 83 global $log; 84 $log->debug("Entering getSortOrder() method ..."); 85 if(isset($_REQUEST['sorder'])) 86 $sorder = $_REQUEST['sorder']; 87 else 88 $sorder = (($_SESSION['CAMPAIGN_SORT_ORDER'] != '')?($_SESSION['CAMPAIGN_SORT_ORDER']):($this->default_sort_order)); 89 90 $log->debug("Exiting getSortOrder method ..."); 91 return $sorder; 92 } 93 94 /** 95 * Function to get order by 96 * return string $order_by - fieldname(eg: 'campaignname') 97 */ 98 function getOrderBy() 99 { 100 global $log; 101 $log->debug("Entering getOrderBy() method ..."); 102 if (isset($_REQUEST['order_by'])) 103 $order_by = $_REQUEST['order_by']; 104 else 105 $order_by = (($_SESSION['CAMPAIGN_ORDER_BY'] != '')?($_SESSION['CAMPAIGN_ORDER_BY']):($this->default_order_by)); 106 107 $log->debug("Exiting getOrderBy method ..."); 108 return $order_by; 109 } 110 // Mike Crowe Mod -------------------------------------------------------- 111 112 /** 113 * Function to get Campaign related Contacts 114 * @param integer $id - campaignid 115 * returns related Contacts record in array format 116 */ 117 function get_contacts($id) 118 { 119 global $log, $singlepane_view; 120 $log->debug("Entering get_contacts(".$id.") method ..."); 121 global $mod_strings; 122 123 $focus = new Contact(); 124 $button = ''; 125 126 if($singlepane_view == 'true') 127 $returnset = '&return_module=Campaigns&return_action=DetailView&return_id='.$id; 128 else 129 $returnset = '&return_module=Campaigns&return_action=CallRelatedList&return_id='.$id; 130 131 $query = 'select vtiger_contactdetails.accountid, vtiger_users.user_name,vtiger_groups.groupname, vtiger_contactdetails.contactid, vtiger_contactdetails.lastname, vtiger_contactdetails.firstname, vtiger_contactdetails.title, vtiger_contactdetails.department, vtiger_contactdetails.email, vtiger_contactdetails.phone, vtiger_crmentity.crmid, vtiger_crmentity.smownerid, vtiger_crmentity.modifiedtime from vtiger_contactdetails inner join vtiger_campaigncontrel on vtiger_campaigncontrel.contactid = vtiger_contactdetails.contactid inner join vtiger_crmentity on vtiger_crmentity.crmid = vtiger_contactdetails.contactid left join vtiger_contactgrouprelation on vtiger_contactdetails.contactid=vtiger_contactgrouprelation.contactid left join vtiger_groups on vtiger_groups.groupname=vtiger_contactgrouprelation.groupname left join vtiger_users on vtiger_crmentity.smownerid=vtiger_users.id where vtiger_campaigncontrel.campaignid = '.$id.' and vtiger_crmentity.deleted=0'; 132 133 $log->debug("Exiting get_contacts method ..."); 134 return GetRelatedList('Campaigns','Contacts',$focus,$query,$button,$returnset); 135 } 136 137 /** 138 * Function to get Campaign related Leads 139 * @param integer $id - campaignid 140 * returns related Leads record in array format 141 */ 142 function get_leads($id) 143 { 144 global $log, $singlepane_view; 145 $log->debug("Entering get_leads(".$id.") method ..."); 146 global $mod_strings; 147 148 $focus = new Lead(); 149 150 $button = ''; 151 if($singlepane_view == 'true') 152 $returnset = '&return_module=Campaigns&return_action=DetailView&return_id='.$id; 153 else 154 $returnset = '&return_module=Campaigns&return_action=CallRelatedList&return_id='.$id; 155 156 $query = 'SELECT vtiger_leaddetails.*, vtiger_crmentity.crmid, vtiger_users.user_name, vtiger_groups.groupname, vtiger_crmentity.smownerid from vtiger_leaddetails inner join vtiger_campaignleadrel on vtiger_campaignleadrel.leadid=vtiger_leaddetails.leadid inner join vtiger_crmentity on vtiger_crmentity.crmid = vtiger_leaddetails.leadid left join vtiger_users on vtiger_crmentity.smownerid = vtiger_users.id left join vtiger_leadgrouprelation on vtiger_leaddetails.leadid=vtiger_leadgrouprelation.leadid left join vtiger_groups on vtiger_groups.groupname=vtiger_leadgrouprelation.groupname where vtiger_crmentity.deleted=0 and vtiger_campaignleadrel.campaignid = '.$id; 157 $log->debug("Exiting get_leads method ..."); 158 return GetRelatedList('Campaigns','Leads',$focus,$query,$button,$returnset); 159 } 160 161 /** 162 * Function to get Campaign related Potentials 163 * @param integer $id - campaignid 164 * returns related potentials record in array format 165 */ 166 function get_opportunities($id) 167 { 168 global $log, $singlepane_view; 169 $log->debug("Entering get_opportunities(".$id.") method ..."); 170 global $mod_strings; 171 172 $focus = new Potential(); 173 174 $button = ''; 175 if($singlepane_view == 'true') 176 $returnset = '&return_module=Campaigns&return_action=DetailView&return_id='.$id; 177 else 178 $returnset = '&return_module=Campaigns&return_action=CallRelatedList&return_id='.$id; 179 180 $query = 'select vtiger_users.user_name,vtiger_groups.groupname, vtiger_potential.potentialid, vtiger_potential.potentialname, vtiger_potential.potentialtype, vtiger_potential.sales_stage, vtiger_potential.amount, vtiger_potential.closingdate, vtiger_crmentity.crmid, vtiger_crmentity.smownerid from vtiger_campaign inner join vtiger_potential on vtiger_campaign.campaignid = vtiger_potential.campaignid inner join vtiger_crmentity on vtiger_crmentity.crmid = vtiger_potential.potentialid left join vtiger_potentialgrouprelation on vtiger_potential.potentialid=vtiger_potentialgrouprelation.potentialid left join vtiger_groups on vtiger_groups.groupname=vtiger_potentialgrouprelation.groupname left join vtiger_users on vtiger_users.id=vtiger_crmentity.smownerid where vtiger_campaign.campaignid = '.$id.' and vtiger_crmentity.deleted=0'; 181 if($this->column_fields['account_id'] != 0) 182 $log->debug("Exiting get_opportunities method ..."); 183 return GetRelatedList('Campaigns','Potentials',$focus,$query,$button,$returnset); 184 185 } 186 187 /** 188 * Function to get Campaign related Activities 189 * @param integer $id - campaignid 190 * returns related activities record in array format 191 */ 192 function get_activities($id) 193 { 194 global $log, $singlepane_view; 195 $log->debug("Entering get_activities(".$id.") method ..."); 196 global $app_strings; 197 198 require_once ('modules/Calendar/Activity.php'); 199 200 $focus = new Activity(); 201 202 $button = ''; 203 204 if($singlepane_view == 'true') 205 $returnset = '&return_module=Campaigns&return_action=DetailView&return_id='.$id; 206 else 207 $returnset = '&return_module=Campaigns&return_action=CallRelatedList&return_id='.$id; 208 209 $query = "SELECT vtiger_contactdetails.lastname, 210 vtiger_contactdetails.firstname, 211 vtiger_contactdetails.contactid, 212 vtiger_activity.*, 213 vtiger_seactivityrel.*, 214 vtiger_crmentity.crmid, vtiger_crmentity.smownerid, 215 vtiger_crmentity.modifiedtime, 216 vtiger_users.user_name, 217 vtiger_recurringevents.recurringtype 218 FROM vtiger_activity 219 INNER JOIN vtiger_seactivityrel 220 ON vtiger_seactivityrel.activityid = vtiger_activity.activityid 221 INNER JOIN vtiger_crmentity 222 ON vtiger_crmentity.crmid=vtiger_activity.activityid 223 LEFT JOIN vtiger_cntactivityrel 224 ON vtiger_cntactivityrel.activityid = vtiger_activity.activityid 225 LEFT JOIN vtiger_contactdetails 226 ON vtiger_contactdetails.contactid = vtiger_cntactivityrel.contactid 227 LEFT JOIN vtiger_users 228 ON vtiger_users.id = vtiger_crmentity.smownerid 229 LEFT OUTER JOIN vtiger_recurringevents 230 ON vtiger_recurringevents.activityid = vtiger_activity.activityid 231 LEFT JOIN vtiger_activitygrouprelation 232 ON vtiger_activitygrouprelation.activityid = vtiger_crmentity.crmid 233 LEFT JOIN vtiger_groups 234 ON vtiger_groups.groupname = vtiger_activitygrouprelation.groupname 235 WHERE vtiger_seactivityrel.crmid=".$id." 236 AND (activitytype = 'Task' 237 OR activitytype = 'Call' 238 OR activitytype = 'Meeting')"; 239 $log->debug("Exiting get_activities method ..."); 240 return GetRelatedList('Campaigns','Calendar',$focus,$query,$button,$returnset); 241 } 242 243 } 244 ?>
titre
Description
Corps
titre
Description
Corps
titre
Description
Corps
titre
Corps
| Généré le : Sun Feb 25 10:22:19 2007 | par Balluche grâce à PHPXref 0.7 |