[ Index ]
 

Code source de vtiger CRM 5.0.2

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

title

Body

[fermer]

/modules/Campaigns/ -> Campaigns.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/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  ?>


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