[ Index ]
 

Code source de vtiger CRM 5.0.2

Accédez au Source d'autres logiciels libresSoutenez Angelica Josefina !

title

Body

[fermer]

/modules/Campaigns/ -> Campaign.php (source)

   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  ?>


Généré le : Sun Feb 25 10:22:19 2007 par Balluche grâce à PHPXref 0.7