[ 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/Contacts.php'); 22 require_once ('modules/Leads/Leads.php'); 23 require_once ('user_privileges/default_module_view.php'); 24 25 class Campaigns 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 Campaigns() 70 { 71 $this->log =LoggerManager::getLogger('campaign'); 72 $this->db = new PearDatabase(); 73 $this->column_fields = getColumnFields('Campaigns'); 74 } 75 76 77 /** Function to handle module specific operations when saving a entity 78 */ 79 function save_module($module) 80 { 81 } 82 83 84 // Mike Crowe Mod --------------------------------------------------------Default ordering for us 85 /** 86 * Function to get sort order 87 * return string $sorder - sortorder string either 'ASC' or 'DESC' 88 */ 89 function getSortOrder() 90 { 91 global $log; 92 $log->debug("Entering getSortOrder() method ..."); 93 if(isset($_REQUEST['sorder'])) 94 $sorder = $_REQUEST['sorder']; 95 else 96 $sorder = (($_SESSION['CAMPAIGN_SORT_ORDER'] != '')?($_SESSION['CAMPAIGN_SORT_ORDER']):($this->default_sort_order)); 97 98 $log->debug("Exiting getSortOrder method ..."); 99 return $sorder; 100 } 101 102 /** 103 * Function to get order by 104 * return string $order_by - fieldname(eg: 'campaignname') 105 */ 106 function getOrderBy() 107 { 108 global $log; 109 $log->debug("Entering getOrderBy() method ..."); 110 if (isset($_REQUEST['order_by'])) 111 $order_by = $_REQUEST['order_by']; 112 else 113 $order_by = (($_SESSION['CAMPAIGN_ORDER_BY'] != '')?($_SESSION['CAMPAIGN_ORDER_BY']):($this->default_order_by)); 114 115 $log->debug("Exiting getOrderBy method ..."); 116 return $order_by; 117 } 118 // Mike Crowe Mod -------------------------------------------------------- 119 120 /** 121 * Function to get Campaign related Contacts 122 * @param integer $id - campaignid 123 * returns related Contacts record in array format 124 */ 125 function get_contacts($id) 126 { 127 global $log, $singlepane_view; 128 $log->debug("Entering get_contacts(".$id.") method ..."); 129 global $mod_strings; 130 131 $focus = new Contacts(); 132 $button = ''; 133 134 if($singlepane_view == 'true') 135 $returnset = '&return_module=Campaigns&return_action=DetailView&return_id='.$id; 136 else 137 $returnset = '&return_module=Campaigns&return_action=CallRelatedList&return_id='.$id; 138 139 $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'; 140 141 $log->debug("Exiting get_contacts method ..."); 142 return GetRelatedList('Campaigns','Contacts',$focus,$query,$button,$returnset); 143 } 144 145 /** 146 * Function to get Campaign related Leads 147 * @param integer $id - campaignid 148 * returns related Leads record in array format 149 */ 150 function get_leads($id) 151 { 152 global $log, $singlepane_view; 153 $log->debug("Entering get_leads(".$id.") method ..."); 154 global $mod_strings; 155 156 $focus = new Leads(); 157 158 $button = ''; 159 if($singlepane_view == 'true') 160 $returnset = '&return_module=Campaigns&return_action=DetailView&return_id='.$id; 161 else 162 $returnset = '&return_module=Campaigns&return_action=CallRelatedList&return_id='.$id; 163 164 $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; 165 $log->debug("Exiting get_leads method ..."); 166 return GetRelatedList('Campaigns','Leads',$focus,$query,$button,$returnset); 167 } 168 169 /** 170 * Function to get Campaign related Potentials 171 * @param integer $id - campaignid 172 * returns related potentials record in array format 173 */ 174 function get_opportunities($id) 175 { 176 global $log, $singlepane_view; 177 $log->debug("Entering get_opportunities(".$id.") method ..."); 178 global $mod_strings; 179 180 $focus = new Potentials(); 181 182 $button = ''; 183 if($singlepane_view == 'true') 184 $returnset = '&return_module=Campaigns&return_action=DetailView&return_id='.$id; 185 else 186 $returnset = '&return_module=Campaigns&return_action=CallRelatedList&return_id='.$id; 187 188 $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'; 189 if($this->column_fields['account_id'] != 0) 190 $log->debug("Exiting get_opportunities method ..."); 191 return GetRelatedList('Campaigns','Potentials',$focus,$query,$button,$returnset); 192 193 } 194 195 /** 196 * Function to get Campaign related Activities 197 * @param integer $id - campaignid 198 * returns related activities record in array format 199 */ 200 function get_activities($id) 201 { 202 global $log, $singlepane_view; 203 $log->debug("Entering get_activities(".$id.") method ..."); 204 global $app_strings; 205 206 require_once ('modules/Calendar/Activity.php'); 207 208 $focus = new Activity(); 209 210 $button = ''; 211 212 if($singlepane_view == 'true') 213 $returnset = '&return_module=Campaigns&return_action=DetailView&return_id='.$id; 214 else 215 $returnset = '&return_module=Campaigns&return_action=CallRelatedList&return_id='.$id; 216 217 $query = "SELECT vtiger_contactdetails.lastname, 218 vtiger_contactdetails.firstname, 219 vtiger_contactdetails.contactid, 220 vtiger_activity.*, 221 vtiger_seactivityrel.*, 222 vtiger_crmentity.crmid, vtiger_crmentity.smownerid, 223 vtiger_crmentity.modifiedtime, 224 vtiger_users.user_name, 225 vtiger_recurringevents.recurringtype 226 FROM vtiger_activity 227 INNER JOIN vtiger_seactivityrel 228 ON vtiger_seactivityrel.activityid = vtiger_activity.activityid 229 INNER JOIN vtiger_crmentity 230 ON vtiger_crmentity.crmid=vtiger_activity.activityid 231 LEFT JOIN vtiger_cntactivityrel 232 ON vtiger_cntactivityrel.activityid = vtiger_activity.activityid 233 LEFT JOIN vtiger_contactdetails 234 ON vtiger_contactdetails.contactid = vtiger_cntactivityrel.contactid 235 LEFT JOIN vtiger_users 236 ON vtiger_users.id = vtiger_crmentity.smownerid 237 LEFT OUTER JOIN vtiger_recurringevents 238 ON vtiger_recurringevents.activityid = vtiger_activity.activityid 239 LEFT JOIN vtiger_activitygrouprelation 240 ON vtiger_activitygrouprelation.activityid = vtiger_crmentity.crmid 241 LEFT JOIN vtiger_groups 242 ON vtiger_groups.groupname = vtiger_activitygrouprelation.groupname 243 WHERE vtiger_seactivityrel.crmid=".$id." 244 AND (activitytype = 'Task' 245 OR activitytype = 'Call' 246 OR activitytype = 'Meeting')"; 247 $log->debug("Exiting get_activities method ..."); 248 return GetRelatedList('Campaigns','Calendar',$focus,$query,$button,$returnset); 249 } 250 251 } 252 ?>
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 |