235 lines
11 KiB
PHP
235 lines
11 KiB
PHP
|
|
<?php
|
||
|
|
/*****************************************************************************
|
||
|
|
* 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.
|
||
|
|
********************************************************************************/
|
||
|
|
|
||
|
|
|
||
|
|
if(!defined('sugarEntry') || !sugarEntry) die('Not A Valid Entry Point');
|
||
|
|
$_SESSION['back_request_uri']=$_SERVER['REQUEST_URI'];
|
||
|
|
require_once ('XTemplate/xtpl.php');
|
||
|
|
require_once ("data/Tracker.php");
|
||
|
|
require_once ('modules/EcmDocs/EcmDoc.php');
|
||
|
|
require_once ('themes/'.$theme.'/layout_utils.php');
|
||
|
|
require_once ('log4php/LoggerManager.php');
|
||
|
|
require_once('include/ListView/ListViewSmarty.php');
|
||
|
|
require_once('include/ListView/ListView.php');
|
||
|
|
require_once("modules/EcmDocuments/dirstree.php");
|
||
|
|
|
||
|
|
require_once('modules/Currencies/Currency.php');
|
||
|
|
//print '<input type="button" name="backtoecmdocuments" class="button" value="Back" onclick="document.location.href=\'index.php?module=EcmDocuments&action=DetailView&record='.$_REQUEST['iddir'].'\';"/><br><br>';
|
||
|
|
if(file_exists('custom/modules/EcmDocs/metadata/listviewdefs.php')){
|
||
|
|
require_once('custom/modules/EcmDocs/metadata/listviewdefs.php');
|
||
|
|
}else{
|
||
|
|
require_once('modules/EcmDocs/metadata/listviewdefs.php');
|
||
|
|
}
|
||
|
|
require_once('modules/SavedSearch/SavedSearch.php');
|
||
|
|
require_once('include/SearchForm/SearchForm.php');
|
||
|
|
|
||
|
|
$header_text = '';
|
||
|
|
|
||
|
|
global $app_strings;
|
||
|
|
global $mod_strings;
|
||
|
|
global $app_list_strings;
|
||
|
|
global $current_language;
|
||
|
|
$current_module_strings = return_module_language($current_language, 'EcmDocs');
|
||
|
|
|
||
|
|
global $urlPrefix;
|
||
|
|
global $currentModule;
|
||
|
|
|
||
|
|
global $theme;
|
||
|
|
global $current_user;
|
||
|
|
// FOCUS_LIST IS THE MEANS OF PASSING DATA TO A LISTVIEW.
|
||
|
|
global $focus_list;
|
||
|
|
|
||
|
|
global $db;
|
||
|
|
$z="select name from ecmdocs_group order by name asc";
|
||
|
|
$w=$db->query($z);
|
||
|
|
$app_list_strings['ecmdocs_group_name_dom'][''] = $mod_strings['LBL_GROUPS_ALL'];
|
||
|
|
while($r=$db->fetchByAssoc($w))
|
||
|
|
{
|
||
|
|
$app_list_strings['ecmdocs_group_name_dom'][$r['name']] = $r['name'];
|
||
|
|
}
|
||
|
|
|
||
|
|
//$_REQUEST['date']=$timedate->to_display($_REQUEST['date'], $timedate->get_date_format(), "Y-m-d");
|
||
|
|
$_REQUEST['date_entered']=$timedate->to_display($_REQUEST['date_entered'], $timedate->get_date_format(), "Y-m-d");
|
||
|
|
$_REQUEST['reminder_date']=$timedate->to_display($_REQUEST['reminder_date'], $timedate->get_date_format(), "Y-m-d");
|
||
|
|
$_REQUEST['date_basic']=$timedate->to_display($_REQUEST['date_basic'], $timedate->get_date_format(), "Y-m-d");
|
||
|
|
$_REQUEST['date_entered_basic']=$timedate->to_display($_REQUEST['date_entered_basic'], $timedate->get_date_format(), "Y-m-d");
|
||
|
|
$_REQUEST['reminder_date_basic']=$timedate->to_display($_REQUEST['reminder_date_basic'], $timedate->get_date_format(), "Y-m-d");
|
||
|
|
|
||
|
|
// SETUP QUICKSEARCH
|
||
|
|
require_once('include/QuickSearchDefaults.php');
|
||
|
|
$qsd = new QuickSearchDefaults();
|
||
|
|
|
||
|
|
// CLEAR THE DISPLAY COLUMNS BACK TO DEFAULT WHEN CLEAR QUERY IS CALLED
|
||
|
|
if(!empty($_REQUEST['clear_query']) && $_REQUEST['clear_query'] == 'true')
|
||
|
|
$current_user->setPreference('ListViewDisplayColumns', array(), 0, $currentModule);
|
||
|
|
|
||
|
|
$savedDisplayColumns = $current_user->getPreference('ListViewDisplayColumns', $currentModule); // GET USER DEFINED DISPLAY COLUMNS
|
||
|
|
|
||
|
|
$json = getJSONobj();
|
||
|
|
|
||
|
|
$seedEcmDoc = new EcmDoc();
|
||
|
|
// SEED BEAN
|
||
|
|
$searchForm = new SearchForm('EcmDocs', $seedEcmDoc); // NEW SEARCHFORM INSTANCE
|
||
|
|
// SETUP LISTVIEW SMARTY
|
||
|
|
$lv = new ListViewSmarty();
|
||
|
|
|
||
|
|
$displayColumns = array();
|
||
|
|
// CHECK $_REQUEST IF NEW DISPLAY COLUMNS FROM POST
|
||
|
|
if (!empty($_REQUEST['displayColumns'])) {
|
||
|
|
foreach (explode('|', $_REQUEST['displayColumns']) as $num => $col) {
|
||
|
|
if (!empty($listViewDefs['EcmDocs'][$col]))
|
||
|
|
$displayColumns[$col] = $listViewDefs['EcmDocs'][$col];
|
||
|
|
}
|
||
|
|
}elseif(!empty($savedDisplayColumns)) { // USE USER DEFINED DISPLAY COLUMNS FROM PREFERENCES
|
||
|
|
$displayColumns = $savedDisplayColumns;
|
||
|
|
}else { // USE COLUMNS DEFINED IN LISTVIEWDEFS FOR DEFAULT DISPLAY COLUMNS
|
||
|
|
foreach($listViewDefs['EcmDocs'] as $col => $params) {
|
||
|
|
if(!empty($params['default']) && $params['default'])
|
||
|
|
$displayColumns[$col] = $params;
|
||
|
|
}
|
||
|
|
}
|
||
|
|
$params = array('massupdate' => true); // SETUP LISTVIEWSMARTY PARAMS
|
||
|
|
if(!empty($_REQUEST['orderBy'])) { // ORDER BY COMING FROM $_REQUEST
|
||
|
|
$params['orderBy'] = $_REQUEST['orderBy'];
|
||
|
|
$params['overrideOrder'] = true;
|
||
|
|
if(!empty($_REQUEST['sortOrder'])) $params['sortOrder'] = $_REQUEST['sortOrder'];
|
||
|
|
}
|
||
|
|
$lv->displayColumns = $displayColumns;
|
||
|
|
if(!empty($_REQUEST['search_form_only']) && $_REQUEST['search_form_only']) { // HANDLE AJAX REQUESTS FOR SEARCH FORMS ONLY
|
||
|
|
switch($_REQUEST['search_form_view']) {
|
||
|
|
case 'basic_search':
|
||
|
|
$searchForm->setup();
|
||
|
|
$searchForm->displayBasic(false);
|
||
|
|
break;
|
||
|
|
case 'advanced_search':
|
||
|
|
$searchForm->setup();
|
||
|
|
$searchForm->displayAdvanced(false);
|
||
|
|
break;
|
||
|
|
case 'saved_views':
|
||
|
|
echo $searchForm->displaySavedViews($listViewDefs, $lv, false);
|
||
|
|
break;
|
||
|
|
}
|
||
|
|
return;
|
||
|
|
}
|
||
|
|
|
||
|
|
// USE THE STORED QUERY IF THERE IS ONE
|
||
|
|
if (!isset($where)) $where="";
|
||
|
|
require_once('modules/MySettings/StoreQuery.php');
|
||
|
|
$storeQuery = new StoreQuery();
|
||
|
|
|
||
|
|
if(!isset($_REQUEST['query'])){
|
||
|
|
$storeQuery->loadQuery($currentModule);
|
||
|
|
$storeQuery->populateRequest();
|
||
|
|
}else{
|
||
|
|
$storeQuery->saveFromGet($currentModule);
|
||
|
|
}
|
||
|
|
if(isset($_REQUEST['query'])){
|
||
|
|
// WE HAVE A QUERY
|
||
|
|
// FIRST SAVE COLUMNS
|
||
|
|
$current_user->setPreference('ListViewDisplayColumns', $displayColumns, 0, $currentModule);
|
||
|
|
$searchForm->populateFromRequest(); // GATHERS SEARCH FIELD INPUTS FROM $_REQUEST
|
||
|
|
$where_clauses = $searchForm->generateSearchWhere(true, "EcmDoc"); // BUILDS THE WHERE CLAUSE FROM SEARCH FIELD INPUTS
|
||
|
|
if (count($where_clauses) > 0 )$where = implode(' and ', $where_clauses);
|
||
|
|
$GLOBALS['log']->info("Here is the where clause for the list view: $where");
|
||
|
|
}
|
||
|
|
//$_REQUEST['date']=$timedate->to_display($_REQUEST['date'], "Y-m-d", $timedate->get_date_format());
|
||
|
|
$_REQUEST['date_entered']=$timedate->to_display($_REQUEST['date_entered'], "Y-m-d", $timedate->get_date_format());
|
||
|
|
$_REQUEST['reminder_date']=$timedate->to_display($_REQUEST['reminder_date'], "Y-m-d", $timedate->get_date_format());
|
||
|
|
$_REQUEST['date_basic']=$timedate->to_display($_REQUEST['date_basic'], "Y-m-d", $timedate->get_date_format());
|
||
|
|
$_REQUEST['date_entered_basic']=$timedate->to_display($_REQUEST['date_entered_basic'], "Y-m-d", $timedate->get_date_format());
|
||
|
|
$_REQUEST['reminder_date_basic']=$timedate->to_display($_REQUEST['reminder_date_basic'], "Y-m-d", $timedate->get_date_format());
|
||
|
|
|
||
|
|
// START DISPLAY
|
||
|
|
// WHICH TAB OF SEARCH FORM TO DISPLAY
|
||
|
|
if(!isset($_REQUEST['search_form']) || $_REQUEST['search_form'] != 'false') {
|
||
|
|
$searchForm->setup();
|
||
|
|
if(isset($_REQUEST['searchFormTab']) && $_REQUEST['searchFormTab'] == 'advanced_search') {
|
||
|
|
$searchForm->displayAdvanced();
|
||
|
|
}elseif(isset($_REQUEST['searchFormTab']) && $_REQUEST['searchFormTab'] == 'saved_views'){
|
||
|
|
$searchForm->displaySavedViews($listViewDefs, $lv);
|
||
|
|
}else {
|
||
|
|
$searchForm->displayBasic();
|
||
|
|
}
|
||
|
|
}
|
||
|
|
//print $where;
|
||
|
|
echo '<script language="javascript" src="modules/modules/EcmDocs/ListFunctions.js"></script>';
|
||
|
|
echo $qsd->GetQSScripts();
|
||
|
|
$lv->setup($seedEcmDoc, 'include/ListView/ListViewGeneric.tpl', $where, $params);
|
||
|
|
$savedSearchName = empty($_REQUEST['saved_search_select_name']) ? '' : (' - ' . $_REQUEST['saved_search_select_name']);
|
||
|
|
echo get_form_header($current_module_strings['LBL_LIST_FORM_TITLE'] . $savedSearchName, '', false);
|
||
|
|
echo $lv->display();/*
|
||
|
|
require_once('include/ListView/ListView.php');
|
||
|
|
$ListView = new ListView();
|
||
|
|
$ListView->initNewXTemplate('modules/EcmDocs/ListView.html',$current_module_strings);
|
||
|
|
$ListView->setHeaderTitle($current_module_strings['LBL_LIST_FORM_TITLE']);
|
||
|
|
$ListView->setQuery($where, "", "name asc", "ECMDOC");
|
||
|
|
$ListView->processListView($seedEcmDoc, "main", "ECMDOC");*/
|
||
|
|
/*
|
||
|
|
if($_GET['query']){$_SESSION['ajax_query']=true;}
|
||
|
|
else $_SESSION['ajax_query']=false;
|
||
|
|
|
||
|
|
|
||
|
|
$where=str_replace(" ","[s]",$where);
|
||
|
|
$where=str_replace("'","[q]",$where);
|
||
|
|
$where=str_replace("%","%%[s]",$where);
|
||
|
|
|
||
|
|
|
||
|
|
echo '<table width="100%" cellpadding="0" cellspacing="0" border="0" class="h3Row"><tr><td nowrap><h3>Files List</h3></td><td width="100%"><IMG height="1" width="1" src="include/images/blank.gif" alt=""></td></tr></table>';
|
||
|
|
echo '<div style="width:100%;height:500px;" id="ListViewAjax"><script language="javascript">mintajaxget(\'ListViewAjax.php?where='.$where.'&table=ecmdocs&module=EcmDocs\',\'ListViewAjax\');</script></div>';
|
||
|
|
*/
|
||
|
|
$savedSearch = new SavedSearch();
|
||
|
|
$json = getJSONobj();
|
||
|
|
// FILLS IN SAVED VIEWS SELECT BOX ON SHORTCUT MENU
|
||
|
|
$savedSearchSelects = $json->encode(array($GLOBALS['app_strings']['LBL_SAVED_SEARCH_SHORTCUT'] . '<br>' . $savedSearch->getSelect('EcmDocs')));
|
||
|
|
$str = "<script>
|
||
|
|
YAHOO.util.Event.addListener(window, 'load', SUGAR.util.fillShortcuts, $savedSearchSelects);
|
||
|
|
</script>";
|
||
|
|
echo $str;
|
||
|
|
?>
|