⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 pipelinebysalesstagedashlet.php

📁 SugarCRM5.1 开源PHP客户关系管理系统
💻 PHP
📖 第 1 页 / 共 2 页
字号:
<?phpif(!defined('sugarEntry') || !sugarEntry) die('Not A Valid Entry Point');/** * SugarCRM is a customer relationship management program developed by * SugarCRM, Inc. Copyright (C) 2004 - 2007 SugarCRM Inc. *  * This program is free software; you can redistribute it and/or modify it under * the terms of the GNU General Public License version 3 as published by the * Free Software Foundation with the addition of the following permission added * to Section 15 as permitted in Section 7(a): FOR ANY PART OF THE COVERED WORK * IN WHICH THE COPYRIGHT IS OWNED BY SUGARCRM, SUGARCRM DISCLAIMS THE WARRANTY * OF NON INFRINGEMENT OF THIRD PARTY RIGHTS. *  * This program is distributed in the hope that it will be useful, but WITHOUT * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS * FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more * details. *  * You should have received a copy of the GNU General Public License along with * this program; if not, see http://www.gnu.org/licenses or write to the Free * Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA * 02110-1301 USA. *  * You can contact SugarCRM, Inc. headquarters at 10050 North Wolfe Road, * SW2-130, Cupertino, CA 95014, USA. or at email address contact@sugarcrm.com. *  * The interactive user interfaces in modified source and object code versions * of this program must display Appropriate Legal Notices, as required under * Section 5 of the GNU General Public License version 3. *  * In accordance with Section 7(b) of the GNU General Public License version 3, * these Appropriate Legal Notices must retain the display of the "Powered by * SugarCRM" logo. If the display of the logo is not reasonably feasible for * technical reasons, the Appropriate Legal Notices must display the words * "Powered by SugarCRM". */require_once('include/Dashlets/Dashlet.php');require_once('include/Sugar_Smarty.php');require_once('include/charts/Charts.php');require_once('modules/Dashboard/Forms.php');class PipelineBySalesStageDashlet extends Dashlet {    var $pbss_date_start;    var $pbss_date_end;    var $pbss_sales_stages = null;    var $refresh = false;        function PipelineBySalesStageDashlet($id, $options) {        global $timedate;        parent::Dashlet($id);        $this->isConfigurable = true;        $this->isRefreshable = true;                if(empty($options['pbss_date_start']))             $this->pbss_date_start = date($timedate->get_db_date_time_format(), time());        else            $this->pbss_date_start = $options['pbss_date_start'];                     if(empty($options['pbss_date_end']))            $this->pbss_date_end = date($timedate->get_db_date_time_format(), strtotime('2010-01-01'));        else            $this->pbss_date_end = $options['pbss_date_end'];                    if(empty($options['pbss_sales_stages']))            $this->pbss_sales_stages = array();        else            $this->pbss_sales_stages = $options['pbss_sales_stages'];        if(empty($options['title']))         	$this->title = translate('LBL_PIPELINE_FORM_TITLE', 'Home');        else        	$this->title = $options['title'];    }    function saveOptions($req) {        global $sugar_config, $timedate, $current_user, $theme;        $options = array();                        $date_start = $this->pbss_date_start;        $date_end = $this->pbss_date_end;        $dateStartDisplay = strftime($timedate->get_user_date_format(), strtotime($date_start));        $dateEndDisplay     = strftime($timedate->get_user_date_format(), strtotime($date_end));        $seps               = array("-", "/");        $dates              = array($dateStartDisplay, $dateEndDisplay);        $dateFileNameSafe   = str_replace($seps, "_", $dates);        if(is_file($sugar_config['tmp_dir'] . $current_user->getUserPrivGuid()."_".$theme."_my_pipeline_".$dateFileNameSafe[0]."_".$dateFileNameSafe[1].".xml"))            unlink($sugar_config['tmp_dir'] . $current_user->getUserPrivGuid()."_".$theme."_my_pipeline_".$dateFileNameSafe[0]."_".$dateFileNameSafe[1].".xml");                $options['title'] = $_REQUEST['pbss_dashlet_title'];        $options['pbss_sales_stages'] = $_REQUEST['pbss_sales_stages'];        $timeFormat = $current_user->getUserDateTimePreferences();               $options['pbss_date_start'] =  $timedate->swap_formats($_REQUEST['pbss_date_start'], $timeFormat['date'], $timedate->dbDayFormat);        $options['pbss_date_end'] =  $timedate->swap_formats($_REQUEST['pbss_date_end'], $timeFormat['date'], $timedate->dbDayFormat);        return $options;    }    function displayOptions() {        global $timedate, $image_path, $app_strings, $current_user, $app_list_strings;                $ss = new Sugar_Smarty();        $ss->assign('id', $this->id);        $ss->assign('module', $_REQUEST['module']);        $ss->assign('dashletType', 'predefined_chart');               $ss->assign('LBL_TITLE', translate('LBL_TITLE', 'Charts'));        $ss->assign('LBL_CHART_TYPE', translate('LBL_CHART_TYPE', 'Charts'));                $ss->assign('LBL_DATE_START', translate('LBL_DATE_START', 'Charts'));        $ss->assign('LBL_DATE_END', translate('LBL_DATE_END', 'Charts'));        $ss->assign('LBL_SALES_STAGES', translate('LBL_SALES_STAGES', 'Charts'));        $ss->assign('LBL_ENTER_DATE', translate('LBL_ENTER_DATE', 'Charts'));        $ss->assign('LBL_SELECT_BUTTON_TITLE', $app_strings['LBL_SELECT_BUTTON_TITLE']);        $ss->assign('image_path', $image_path);                //get the dates to display        $date_start = $this->pbss_date_start;        $date_end = $this->pbss_date_end;                $timeFormat = $current_user->getUserDateTimePreferences();        $ss->assign('date_start', $timedate->swap_formats($date_start, $timedate->dbDayFormat, $timeFormat['date']));        $ss->assign('date_end', $timedate->swap_formats($date_end, $timedate->dbDayFormat, $timeFormat['date']));                $tempx = array();        $datax = array();        $selected_datax = array();        //get list of sales stage keys to display        $user_sales_stage = $this->pbss_sales_stages;        $tempx = $user_sales_stage;        //set $datax using selected sales stage keys        if (count($tempx) > 0) {            foreach ($tempx as $key) {                $datax[$key] = $app_list_strings['sales_stage_dom'][$key];                array_push($selected_datax, $key);            }        }        else {            $datax = $app_list_strings['sales_stage_dom'];            $selected_datax = array_keys($app_list_strings['sales_stage_dom']);        }                $ss->assign('dashlet_title', $this->title);        $ss->assign('selected_datax', get_select_options_with_id($app_list_strings['sales_stage_dom'], $selected_datax));        $ss->assign('user_date_format', $timedate->get_user_date_format());        $ss->assign('cal_dateformat', $timedate->get_cal_date_format());                $ss->assign('module', $_REQUEST['module']);                return parent::displayOptions() . $ss->fetch('modules/Charts/Dashlets/PipelineBySalesStageDashlet/PipelineBySalesStageConfigure.tpl');    }        /**     * Displays the javascript for the dashlet     *      * @return string javascript to use with this dashlet     */    function displayScript() {    	global $sugar_config, $current_user, $current_language;				$xmlFile = $sugar_config['tmp_dir']. $current_user->id . '_' . $this->id . '.xml';		$chartStringsXML = 'cache/xml/chart_strings.' . $current_language .'.lang.xml';        	    	$ss = new Sugar_Smarty();        $ss->assign('chartName', $this->id);        $ss->assign('chartXMLFile', $xmlFile);            $ss->assign('chartStyleCSS', chartStyle());        $ss->assign('chartColorsXML', chartColors());        $ss->assign('chartStringsXML', $chartStringsXML);                        $str = $ss->fetch('modules/Charts/Dashlets/PredefinedChartDashletScript.tpl');             return $str;    }    function getTitle($text) {        global $image_path, $app_strings, $sugar_config;                if($this->isConfigurable)             $additionalTitle = '<table width="100%" cellspacing="0" cellpadding="0" border="0"><tr><td width="99%">' . $text                                . '</td><td nowrap width="1%"><div style="width: 100%;text-align:right"><a href="#" onclick="SUGAR.mySugar.configureDashlet(\''                                . $this->id . '\'); return false;" class="chartToolsLink">'                                   . get_image($image_path.'edit','title="' . translate('LBL_DASHLET_EDIT', 'Home') . '" alt="' . translate('LBL_DASHLET_EDIT', 'Home') . '"  border="0"  align="absmiddle"').'</a> '                                . '';        else             $additionalTitle = '<table width="100%" cellspacing="0" cellpadding="0" border="0"><tr><td width="99%">' . $text                    . '</td><td nowrap width="1%"><div style="width: 100%;text-align:right">';                if($this->isRefreshable)            $additionalTitle .= '<a href="#" onclick="SUGAR.mySugar.retrieveDashlet(\''                                 . $this->id . '\',\'predefined_chart\'); return false;"><img width="13" height="13" border="0" align="absmiddle" title="' . translate('LBL_DASHLET_REFRESH', 'Home') . '" alt="' . translate('LBL_DASHLET_REFRESH', 'Home') . '" src="'                                 . $image_path . 'refresh.gif"/></a> ';        $additionalTitle .= '<a href="#" onclick="SUGAR.mySugar.deleteDashlet(\''                             . $this->id . '\'); return false;"><img width="13" height="13" border="0" align="absmiddle" title="' . translate('LBL_DASHLET_DELETE', 'Home') . '" alt="' . translate('LBL_DASHLET_DELETE', 'Home') . '" src="'                             . $image_path . 'close_dashboard.gif"/></a></div></td></tr></table>';                    if(!function_exists('get_form_header')) {            global $theme;            require_once('themes/'.$theme.'/layout_utils.php');        }                $str = '<div ';        if(empty($sugar_config['lock_homepage']) || $sugar_config['lock_homepage'] == false) $str .= ' onmouseover="this.style.cursor = \'move\';"';        $str .= 'id="dashlet_header_' . $this->id . '">' . get_form_header($this->title, $additionalTitle, false) . '</div>';                return $str;    }            function display() {        global $app_list_strings, $current_language, $sugar_config, $currentModule, $action, $current_user, $theme, $timedate, $image_path;                $this->loadLanguage('PipelineBySalesStageDashlet', 'modules/Charts/Dashlets/');        $returnStr = '';                $user_dateFormat = $timedate->get_date_format();        $current_module_strings = return_module_language($current_language, 'Charts');                if(isset($_REQUEST['pbss_refresh'])) {             $refresh = $_REQUEST['pbss_refresh'];         }        else {             $refresh = false;        }        $date_start = $this->pbss_date_start;        $date_end = $this->pbss_date_end;        // cn: format date_start|end to user's preferred        $dateStartDisplay = strftime($timedate->get_user_date_format(), strtotime($date_start));        $dateEndDisplay     = strftime($timedate->get_user_date_format(), strtotime($date_end));        $seps               = array("-", "/");

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -