This commit is contained in:
2024-04-27 09:23:34 +02:00
commit 11e713ca6f
11884 changed files with 3263371 additions and 0 deletions

View File

@@ -0,0 +1,149 @@
<?php
if(!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".
*/
global $current_user;
$dashletData['MyEcmEmailsDashlet']['searchFields'] = array(
'ie_id' => array('default' => ''),
);
$dashletData['MyEcmEmailsDashlet']['columns'] = array(
'SUBJECT' => array(
'label' => 'LBL_LIST_SUBJECT',
'default' => true,
'sortable' => true,
'width' => 30,
),
'FROMADDR' => array(
'label' => 'LBL_LIST_FROM_ADDR',
'default' => true,
'sortable' => true,
),
'TOADDR' => array(
'label' => 'LBL_LIST_TO_ADDR',
'default' => true,
'sortable' => true,
),
'SENDDATE' => array(
'label' => 'LBL_SEND_DATE',
'default' => true,
'sortable' => true,
),
'QUICK_REPLY' => array(
'label' => 'LBL_QUICK_REPLY',
'default' => true,
),
'CREATE_RELATED' => array(
'label' => 'LBL_QUICK_CREATE',
'default' => true,
),
/*
'attachment_image' => array(
'label' => '<img src="themes/default/images/attachment.gif" border="0" />',
'default' => true,
'sortable' => false,
),
'status' => array(
'label' => 'LBL_LIST_STATUS',
'default' => true,
),
'name' => array(
'label' => 'LBL_LIST_SUBJECT',
'widget_class' => 'SubPanelDetailViewLink',
'width' => '30%',
'parent_info' => true,
'default' => true,
),
'contact_name'=>array(
'widget_class' => 'SubPanelDetailViewLink',
'target_record_key' => 'contact_id',
'target_module' => 'Contacts',
'module' => 'Contacts',
'label' => 'LBL_LIST_CONTACT',
'width' => '11%',
'sortable' => false,
'force_exists' => true,
'default' => false,
),
'date_modified' => array(
'default' => false,
'label' => 'LBL_DATE_MODIFIED',
),
'date_entered' => array(
'default' => false,
'label' => 'LBL_LIST_CREATED',
),
'date_sent' => array(
'default' => true,
'label' => 'LBL_LIST_DATE_SENT',
),
'type' => array(
'default' => false,
'label' => 'LBL_LIST_TYPE',
),
'assigned_user_name' => array (
'name' => 'assigned_user_name',
'label' => 'LBL_LIST_ASSIGNED_TO_NAME',
'default' => false,
),
'to_addr_list' => array(
'label' => 'LBL_LIST_TO_ADDR',
'default' => true,
),
'quick_reply' => array(
'label' => 'LBL_QUICK_REPLY',
'default' => true,
),
'create_related' => array(
'label' => 'LBL_QUICK_CREATE',
'default' => true,
),
*/
);
?>

View File

@@ -0,0 +1,47 @@
<?php
if(!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".
*/
global $app_strings;
$dashletMeta['MyEcmEmailsDashlet'] = array('module' => 'EmailCaches',
'title' => translate('LBL_DASHLET_MY_EMAILS', 'Emails'),
'description' => 'A customizable view into Tasks',
'category' => 'Module Views',
'hidden' => true);
?>

View File

@@ -0,0 +1,182 @@
<?php
if(!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/DashletGeneric.php');
require_once('modules/EmailCaches/EmailCache.php');
class MyEcmEmailsDashlet extends DashletGeneric {
var $ie_id = '';
function MyEcmEmailsDashlet($id, $def = null) {
global $current_user, $app_strings;
require('modules/EcmEmails/Dashlets/MyEcmEmailsDashlet/MyEcmEmailsDashlet.data.php');
parent::DashletGeneric($id, $def);
if(empty($def['title'])) $this->title = translate('LBL_DASHLET_MY_EMAILS', 'Emails');
if(isset($def['ie_id'])) $this->ie_id = $def['ie_id']; else $this->ie_id = array_keys($this->getInbounds());
$this->searchFields = $dashletData['MyEcmEmailsDashlet']['searchFields'];
$this->columns = $dashletData['MyEcmEmailsDashlet']['columns'];
$this->configureTpl = 'modules/EcmEmails/Dashlets/MyEcmEmailsDashlet/MyEcmEmailsDashletGenericConfigure.tpl';
$this->seedBean = new EmailCache();
$this->myItemsOnly = true;
$this->checkEmails();
}
function getTitle($text) {
global $image_path, $app_strings, $sugar_config;
$this->checkEmails();
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 . '\'); 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>';
global $current_language;
$str .= "<script type=\"text/javascript\" src=\"cache/jsLanguage/Emails/".$current_language.".js\"></script><script type=\"text/javascript\" src=\"modules/Emails/javascript/Email.js\"></script>";
return $str;
}
function checkEmails() {
if(isset($this->ie_id) && is_array($this->ie_id)) {
foreach($this->ie_id as $key => $ie_id) $this->checkEmail($ie_id);
}
}
function checkEmail($ie_id) {
/*
$post_tmp = $_POST;
$get_tmp = $_GET;
$request_tmp = $_REQUEST;
ob_start();
$arr_tmp = array();
$arr_tmp['module'] = "Emails";
$arr_tmp['action'] = "EmailUIAjax";
$arr_tmp['emailUIAction'] = "checkEmailProgress";
$arr_tmp['currentCount'] = "0";
$arr_tmp['ieId'] = $ie_id;
$arr_tmp['sugar_body_only'] = "true";
$arr_tmp['to_pdf'] = "true";
$_POST = $arr_tmp;
$_REQUEST = $arr_tmp;
global $current_user;
include('index.php');
$out2 = ob_get_contents();
ob_end_clean();
$_POST = $post_tmp;
$_GET = $get_tmp;
$_REQUEST = $request_tmp;
*/
}
function buildWhere() {
$where = array();
$where[] = "`ie_id` IN ('".implode("', '", $this->ie_id)."')";
$where[] = "`mbox` != 'INBOX.Trash'";
return $where;
}
function getInbounds() {
global $current_user;
$GLOBALS['db'] = new MysqlManager();
$GLOBALS['db']->connect();
$query = "SELECT `id`, `name` FROM `inbound_email` WHERE `deleted`=0 AND `group_id` = '$current_user->id' ORDER BY `name`";
$results = $GLOBALS['db']->query($query);
$arr = array();
if(is_resource($results))
while($row = $GLOBALS['db']->fetchByAssoc($results)) $arr[$row['id']] = $row['name'];
return $arr;
}
function displayOptions() {
$this->processDisplayOptions();
global $app_list_strings;
$arr = $this->getInbounds();
$this->currentSearchFields['ie_id']['input'] = '<select id="ie_id" name="ie_id[]" multiple="multiple" size="4" style="width:150px;">'.get_select_options_with_id($arr,(empty($this->ie_id) ? '' : $this->ie_id)).'</select>';
$this->configureSS->assign('searchFields', $this->currentSearchFields);
return $this->configureSS->fetch($this->configureTpl);
}
function saveOptions($req) {
$options = parent::saveOptions($req);
$options['ie_id'] = !is_array($req['ie_id']) ? array('') : $req['ie_id'];
return $options;
}
}
?>

View File

@@ -0,0 +1,132 @@
{*
/**
* 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".
*/
*}
<div>
<form action='index.php' id='configure_{$id}' method='post' onSubmit='SUGAR.mySugar.setChooser(); return SUGAR.dashlets.postForm("configure_{$id}", SUGAR.mySugar.uncoverPage);'>
<input type='hidden' name='id' value='{$id}'>
<input type='hidden' name='module' value='Home'>
<input type='hidden' name='action' value='ConfigureDashlet'>
<input type='hidden' name='configure' value='true'>
<input type='hidden' name='to_pdf' value='true'>
<input type='hidden' id='displayColumnsDef' name='displayColumnsDef' value=''>
<input type='hidden' id='hideTabsDef' name='hideTabsDef' value=''>
<input type='hidden' id='dashletType' name='dashletType' value='' />
<table cellpadding="0" cellspacing="0" border="0" width="100%" class="tabForm">
<tr>
<td class='dataLabel' colspan='4' align='left'>
<h2>{$strings.general}</h2>
</td>
</tr>
<tr>
<td class='dataLabel'>
{$strings.title}
</td>
<td class='dataField' colspan='3'>
<input type='text' name='dashletTitle' value='{$dashletTitle}'>
</td>
</tr>
<tr>
<td class='dataLabel'>
{$strings.displayRows}
</td>
<td class='dataField'>
<select name='displayRows'>
{html_options values=$displayRowOptions output=$displayRowOptions selected=$displayRowSelect}
</select>
</td>
<td colspan='2'>
<table cellpading='0' cellspacing='0'>
<tr>
<td class='dataLabel'>
{$strings.maxHeight_}
</td>
<td class='dataField'>
<input type="text" name='maxHeight' id='maxHeight' value='{$maxHeight}' style="width:40px;" />
</td>
</tr>
</table>
</tr>
<tr>
<td colspan='4' align='center'>
<table border='0' cellpadding='0' cellspacing='0'>
<tr><td>
{$columnChooser}
</td>
</tr></table>
</td>
</tr>
<tr>
<td class='dataLabel' colspan='4' align='left'>
<br>
<h2>{$strings.filters}</h2>
</td>
</tr>
<tr>
<td class='dataLabel'>
</td>
<td class='dataField'>
</td>
</tr>
<tr>
{foreach name=searchIteration from=$searchFields key=name item=params}
<td class='dataLabel' valign='top'>
{$params.label}
</td>
<td class='dataField' valign='top' style='padding-bottom: 5px'>
{$params.input}
</td>
{if ($smarty.foreach.searchIteration.iteration is even) and $smarty.foreach.searchIteration.iteration != $smarty.foreach.searchIteration.last}
</tr><tr>
{/if}
{/foreach}
</tr>
<tr>
<td colspan='4' align='right'>
<input type='submit' class='button' value='{$strings.save}'>
</td>
</tr>
</table>
</form>
</div>