236 lines
11 KiB
PHP
236 lines
11 KiB
PHP
|
|
<?php
|
||
|
|
if(!defined('sugarEntry') || !sugarEntry) die('Not A Valid Entry Point');
|
||
|
|
/*****************************************************************************
|
||
|
|
* The contents of this file are subject to the RECIPROCAL PUBLIC LICENSE
|
||
|
|
* Version 1.1 ("License"); You may not use this file except in compliance
|
||
|
|
* with the License. You may obtain a copy of the License at
|
||
|
|
* http://opensource.org/licenses/rpl.php. Software distributed under the
|
||
|
|
* License is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND,
|
||
|
|
* either express or implied.
|
||
|
|
*
|
||
|
|
* You may:
|
||
|
|
* a) Use and distribute this code exactly as you received without payment or
|
||
|
|
* a royalty or other fee.
|
||
|
|
* b) Create extensions for this code, provided that you make the extensions
|
||
|
|
* publicly available and document your modifications clearly.
|
||
|
|
* c) Charge for a fee for warranty or support or for accepting liability
|
||
|
|
* obligations for your customers.
|
||
|
|
*
|
||
|
|
* You may NOT:
|
||
|
|
* a) Charge for the use of the original code or extensions, including in
|
||
|
|
* electronic distribution models, such as ASP (Application Service
|
||
|
|
* Provider).
|
||
|
|
* b) Charge for the original source code or your extensions other than a
|
||
|
|
* nominal fee to cover distribution costs where such distribution
|
||
|
|
* involves PHYSICAL media.
|
||
|
|
* c) Modify or delete any pre-existing copyright notices, change notices,
|
||
|
|
* or License text in the Licensed Software
|
||
|
|
* d) Assert any patent claims against the Licensor or Contributors, or
|
||
|
|
* which would in any way restrict the ability of any third party to use the
|
||
|
|
* Licensed Software.
|
||
|
|
*
|
||
|
|
* You must:
|
||
|
|
* a) Document any modifications you make to this code including the nature of
|
||
|
|
* the change, the authors of the change, and the date of the change.
|
||
|
|
* b) Make the source code for any extensions you deploy available via an
|
||
|
|
* Electronic Distribution Mechanism such as FTP or HTTP download.
|
||
|
|
* c) Notify the licensor of the availability of source code to your extensions
|
||
|
|
* and include instructions on how to acquire the source code and updates.
|
||
|
|
* d) Grant Licensor a world-wide, non-exclusive, royalty-free license to use,
|
||
|
|
* reproduce, perform, modify, sublicense, and distribute your extensions.
|
||
|
|
*
|
||
|
|
* The Original Code is: CommuniCore
|
||
|
|
* Olavo Farias
|
||
|
|
* 2006-04-7 olavo.farias@gmail.com
|
||
|
|
*
|
||
|
|
* The Initial Developer of the Original Code is CommuniCore.
|
||
|
|
* Portions created by CommuniCore are Copyright (C) 2005 CommuniCore Ltda
|
||
|
|
* All Rights Reserved.
|
||
|
|
********************************************************************************/
|
||
|
|
|
||
|
|
global $theme;
|
||
|
|
|
||
|
|
require_once('modules/PContacts/Contact.php');
|
||
|
|
require_once('themes/'.$theme.'/layout_utils.php');
|
||
|
|
require_once('log4php/LoggerManager.php');
|
||
|
|
require_once('XTemplate/xtpl.php');
|
||
|
|
require_once('include/ListView/ListView.php');
|
||
|
|
$image_path = 'themes/'.$theme.'/images/';
|
||
|
|
|
||
|
|
class Popup_Picker{
|
||
|
|
|
||
|
|
function Popup_Picker(){
|
||
|
|
;
|
||
|
|
}
|
||
|
|
|
||
|
|
function _get_where_clause(){
|
||
|
|
$where = '';
|
||
|
|
if(isset($_REQUEST['query'])){
|
||
|
|
$where_clauses = array();
|
||
|
|
append_where_clause($where_clauses, "first_name", "pcontacts.first_name");
|
||
|
|
append_where_clause($where_clauses, "last_name", "pcontacts.last_name");
|
||
|
|
append_where_clause($where_clauses, "first_name_advanced", "pcontacts.first_name");
|
||
|
|
append_where_clause($where_clauses, "last_name_advanced", "pcontacts.last_name");
|
||
|
|
append_where_clause($where_clauses, "address_postalcode", "pcontacts.primary_address_postalcode");
|
||
|
|
append_where_clause($where_clauses, "address_postalcode_advanced", "pcontacts.primary_address_postalcode");
|
||
|
|
append_where_clause($where_clauses, "address_street", "pcontacts.primary_address_street");
|
||
|
|
append_where_clause($where_clauses, "address_street_advanced", "pcontacts.primary_address_street");
|
||
|
|
append_where_clause($where_clauses, "address_city", "pcontacts.primary_address_city");
|
||
|
|
append_where_clause($where_clauses, "address_city_advanced", "pcontacts.primary_address_city");
|
||
|
|
append_where_clause($where_clauses, "address_country", "pcontacts.primary_address_country");
|
||
|
|
append_where_clause($where_clauses, "address_country_advanced", "pcontacts.primary_address_country");
|
||
|
|
append_where_clause($where_clauses, "address_state", "pcontacts.primary_address_state");
|
||
|
|
append_where_clause($where_clauses, "address_state_advanced", "pcontacts.primary_address_state");
|
||
|
|
append_where_clause($where_clauses, "phone", "pcontacts.phone_work");
|
||
|
|
append_where_clause($where_clauses, "phone_advanced", "pcontacts.phone_work");
|
||
|
|
append_where_clause($where_clauses, "account_id", "accounts.id");
|
||
|
|
append_where_clause($where_clauses, "account_id_advanced", "accounts.id");
|
||
|
|
append_where_clause($where_clauses, "account_name", "accounts.name");
|
||
|
|
append_where_clause($where_clauses, "account_name_advanced", "accounts.name");
|
||
|
|
append_where_clause($where_clauses, "assistant", "pcontacts.assistant");
|
||
|
|
append_where_clause($where_clauses, "assistant_advanced", "pcontacts.assistant");
|
||
|
|
append_where_clause($where_clauses, "do_not_call_advanced", "pcontacts.do_not_call");
|
||
|
|
//append_where_clause($where_clauses, "assigned_user_id", "pcontacts.assigned_user_id");
|
||
|
|
//append_where_clause($where_clauses, "assigned_user_id_advanced", "pcontacts.assigned_user_id");
|
||
|
|
if(count($_REQUEST['assigned_user_id'])>0){
|
||
|
|
foreach($_REQUEST['assigned_user_id'] as $au){
|
||
|
|
$where_clauses[]="pcontacts.assigned_user_id='".$au."'";
|
||
|
|
}
|
||
|
|
}
|
||
|
|
if(count($_REQUEST['assigned_user_id_advanced'])>0){
|
||
|
|
foreach($_REQUEST['assigned_user_id_advanced'] as $au){
|
||
|
|
$where_clauses[]="pcontacts.assigned_user_id='".$au."'";
|
||
|
|
}
|
||
|
|
}
|
||
|
|
if($_REQUEST['only_my_items'])$where_clauses[]="pcontacts.assigned_user_id='".$_SESSION['authenticated_user_id']."'";
|
||
|
|
/*append_where_clause($where_clauses, "address_postalcode", "pcontacts.alt_address_postalcode");
|
||
|
|
append_where_clause($where_clauses, "address_street", "pcontacts.alt_address_street");
|
||
|
|
append_where_clause($where_clauses, "address_city", "pcontacts.alt_address_city");
|
||
|
|
append_where_clause($where_clauses, "address_country", "pcontacts.alt_address_country");
|
||
|
|
append_where_clause($where_clauses, "address_state", "pcontacts.alt_address_state");*/
|
||
|
|
|
||
|
|
//append_where_clause($where_clauses, "assigned_user_advanced", "pcontacts.assigned_user_id");
|
||
|
|
$where = generate_where_statement($where_clauses);
|
||
|
|
}
|
||
|
|
return $where;
|
||
|
|
}
|
||
|
|
|
||
|
|
function process_page(){
|
||
|
|
global $theme;
|
||
|
|
global $mod_strings;
|
||
|
|
global $app_strings;
|
||
|
|
global $currentModule;
|
||
|
|
|
||
|
|
$output_html = '';
|
||
|
|
$where = '';
|
||
|
|
$where = $this->_get_where_clause();
|
||
|
|
|
||
|
|
$image_path = 'themes/'.$theme.'/images/';
|
||
|
|
|
||
|
|
|
||
|
|
$request_data = empty($_REQUEST['request_data']) ? '' : $_REQUEST['request_data'];
|
||
|
|
$hide_clear_button = empty($_REQUEST['hide_clear_button']) ? false : true;
|
||
|
|
$button = "<form action='index.php' method='post' name='form' id='form'>\n";
|
||
|
|
if(!$hide_clear_button){
|
||
|
|
$button .= "<input type='button' name='button' class='button' onclick=\"send_back('','');\" title='"
|
||
|
|
.$app_strings['LBL_CLEAR_BUTTON_TITLE']."' accesskey='"
|
||
|
|
.$app_strings['LBL_CLEAR_BUTTON_KEY'] ."' value=' "
|
||
|
|
.$app_strings['LBL_CLEAR_BUTTON_LABEL']." ' />\n";
|
||
|
|
}
|
||
|
|
$button .= "<input type='submit' name='button' class='button' onclick=\"window.close();\" title='"
|
||
|
|
.$app_strings['LBL_CANCEL_BUTTON_TITLE']."' accesskey='"
|
||
|
|
.$app_strings['LBL_CANCEL_BUTTON_KEY'] ."' value=' "
|
||
|
|
.$app_strings['LBL_CANCEL_BUTTON_LABEL']." ' />\n";
|
||
|
|
$button .= '<input type="button" onclick="addAll(i);" value="Select" class="button" />';
|
||
|
|
$button .= "</form>\n";
|
||
|
|
$form = new XTemplate('modules/PContacts/Popup_pickerEmails.html');
|
||
|
|
|
||
|
|
$first_name = empty($_REQUEST['first_name']) ? '' : $_REQUEST['first_name'];
|
||
|
|
$last_name = empty($_REQUEST['last_name']) ? '' : $_REQUEST['last_name'];
|
||
|
|
$form->assign('FIRST_NAME', $first_name);
|
||
|
|
$form->assign('LAST_NAME', $last_name);
|
||
|
|
|
||
|
|
$fields=array("first_name","last_name","address_postalcode","address_street","address_state","address_city","address_country","phone","account_id","account_name","assistant","assigned_user_id");
|
||
|
|
|
||
|
|
foreach($fields as $f){
|
||
|
|
if($_REQUEST[$f])$form->assign(strtoupper($f),$_REQUEST[$f]);
|
||
|
|
else $form->assign(strtoupper($f),$_REQUEST[$f."_advanced"]);
|
||
|
|
}
|
||
|
|
|
||
|
|
$w=mysql_query("select id,first_name,last_name from users where status='Active' and deleted='0' order by first_name asc, last_name asc");
|
||
|
|
while($r=mysql_fetch_array($w)){
|
||
|
|
$atr.='<option value="'.$r['id'].'"';
|
||
|
|
if(@in_array($r['id'],$_REQUEST['assigned_user_id_advanced']))$atr.=' selected';
|
||
|
|
$atr.='>'.$r['first_name'].' '.$r['last_name'].'</option>';
|
||
|
|
}
|
||
|
|
if($_REQUEST['tab'])$form->assign("TABB",$_REQUEST['tab']);
|
||
|
|
else $form->assign("TABB","basic");
|
||
|
|
$form->assign('ASSIGNED_TO_LIST',$atr);
|
||
|
|
$form->assign('MOD', $mod_strings);
|
||
|
|
$form->assign('APP', $app_strings);
|
||
|
|
$form->assign('THEME', $theme);
|
||
|
|
$form->assign('MODULE_NAME', $currentModule);
|
||
|
|
$form->assign('request_data', $request_data);
|
||
|
|
$form->assign('DIV',$_REQUEST['div']);
|
||
|
|
$form->assign('PRE',$_REQUEST['pre']);
|
||
|
|
if($_REQUEST['only_my_items'])$form->assign("OMI_CHECKED","checked");
|
||
|
|
|
||
|
|
$dnc.='<option value="" ';
|
||
|
|
if($_REQUEST['do_not_call_advanced']=="")$dnc.='selected="selected"';
|
||
|
|
$dnc.='></option>';
|
||
|
|
$dnc.='<option value="0" ';
|
||
|
|
if($_REQUEST['do_not_call_advanced']=="0")$dnc.='selected="selected"';
|
||
|
|
$dnc.='> No</option>';
|
||
|
|
$dnc.='<option value="1" ';
|
||
|
|
if($_REQUEST['do_not_call_advanced']=="1")$dnc.='selected="selected"';
|
||
|
|
$dnc.='> Yes</option';
|
||
|
|
$form->assign('DO_NOT_CALL_LIST',$dnc);
|
||
|
|
|
||
|
|
|
||
|
|
$output_html .= "
|
||
|
|
<script type=\"text/javascript\">
|
||
|
|
function save_checks(offset) {
|
||
|
|
//location.href=\"index.php?module=PContacts&action=PopupEmails&Contacts_PCONTACT_offset=\"+offset;
|
||
|
|
document.getElementById('PContacts_PCONTACT_offset').value=offset;
|
||
|
|
document.popup_query_form.submit();
|
||
|
|
}
|
||
|
|
</script>";
|
||
|
|
|
||
|
|
ob_start();
|
||
|
|
insert_popup_header($theme);
|
||
|
|
$output_html .= ob_get_contents();
|
||
|
|
ob_end_clean();
|
||
|
|
|
||
|
|
$output_html .= get_form_header($mod_strings['LBL_SEARCH_FORM_TITLE'], '', false);
|
||
|
|
|
||
|
|
$form->parse('main.SearchHeader');
|
||
|
|
$output_html .= $form->text('main.SearchHeader');
|
||
|
|
$output_html .= get_form_footer();
|
||
|
|
|
||
|
|
// RESET THE SECTIONS THAT ARE ALREADY IN THE PAGE SO THAT THEY DO NOT PRINT AGAIN LATER.
|
||
|
|
$form->reset('main.SearchHeader');
|
||
|
|
|
||
|
|
// CREATE THE LISTVIEW
|
||
|
|
$seed_bean = new PContact();
|
||
|
|
$ListView = new ListView();
|
||
|
|
$ListView->show_export_button = false;
|
||
|
|
$ListView->process_for_popups = true;
|
||
|
|
$ListView->setXTemplate($form);
|
||
|
|
$ListView->setHeaderTitle($mod_strings['LBL_LIST_FORM_TITLE']);
|
||
|
|
$ListView->setHeaderText($button);
|
||
|
|
$ListView->multi_select_popup=true;
|
||
|
|
|
||
|
|
$ListView->setQuery($where, '', 'name', 'PCONTACT');
|
||
|
|
$ListView->setModStrings($mod_strings);
|
||
|
|
|
||
|
|
ob_start();
|
||
|
|
$ListView->processListView($seed_bean, 'main', 'PCONTACT');
|
||
|
|
$output_html .= ob_get_contents();
|
||
|
|
ob_end_clean();
|
||
|
|
|
||
|
|
$output_html .= get_form_footer();
|
||
|
|
$output_html .= insert_popup_footer();
|
||
|
|
return $output_html;
|
||
|
|
}
|
||
|
|
} // end of class Popup_Picker
|
||
|
|
?>
|