You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
189 lines
7.2 KiB
189 lines
7.2 KiB
<?php
|
|
/*********************************************************************************
|
|
* The contents of this file are subject to the SugarCRM Public License Version 1.1.2
|
|
* ("License"); You may not use this file except in compliance with the
|
|
* License. You may obtain a copy of the License at http://www.sugarcrm.com/SPL
|
|
* Software distributed under the License is distributed on an "AS IS" basis,
|
|
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for
|
|
* the specific language governing rights and limitations under the License.
|
|
* The Original Code is: SugarCRM Open Source
|
|
* The Initial Developer of the Original Code is SugarCRM, Inc.
|
|
* Portions created by SugarCRM are Copyright (C) SugarCRM, Inc.;
|
|
* All Rights Reserved.
|
|
* Contributor(s): ______________________________________.
|
|
********************************************************************************/
|
|
/*********************************************************************************
|
|
* $Header: /advent/projects/wesat/vtiger_crm/sugarcrm/include/listview.php,v 1.11 2004/12/08 12:09:36 jack Exp $
|
|
* Description: Includes generic helper functions used throughout the application.
|
|
********************************************************************************/
|
|
require_once('include/logging.php');
|
|
|
|
function listView($display_title, $html_varName, $xtemplate , $seed, $orderby){
|
|
global $theme,$image_path, $currentModule, $list_max_entries_per_page, $where, $mod_strings, $app_strings;
|
|
$log = LoggerManager::getLogger('listView_'.$html_varName);
|
|
$list_form=new XTemplate ($xtemplate);
|
|
$list_form->assign("ID",$mod_strings);
|
|
$list_form->assign("MOD", $mod_strings);
|
|
$list_form->assign("APP", $app_strings);
|
|
$list_form->assign("THEME", $theme);
|
|
$list_form->assign("IMAGE_PATH", $image_path);
|
|
$list_form->assign("MODULE_NAME", $currentModule);
|
|
|
|
$current_offset = 0;
|
|
if(isset($_REQUEST['current_offset']))
|
|
$current_offset = $_REQUEST['current_offset'];
|
|
|
|
$response;
|
|
if($currentModule == "Leads")
|
|
{
|
|
$response = $seed->get_lead_list($orderby, $where, $current_offset);
|
|
}
|
|
elseif($currentModule == "MessageBoard")
|
|
{
|
|
if(isset($_REQUEST['query']))
|
|
{
|
|
$_REQUEST['query']= 'query';
|
|
}
|
|
$response = $seed->get_msgboard_data($orderby, $where, $current_offset);
|
|
}
|
|
else
|
|
{
|
|
$response = $seed->get_list($orderby, $where, $current_offset);
|
|
}
|
|
|
|
$aList = $response['list'];
|
|
$row_count = $response['row_count'];
|
|
$next_offset = $response['next_offset'];
|
|
$previous_offset = $response['previous_offset'];
|
|
|
|
$start_record = $current_offset + 1;
|
|
|
|
// Set the start row to 0 if there are no rows (adding one looks bad)
|
|
if($row_count == 0)
|
|
$start_record = 0;
|
|
|
|
$end_record = $start_record + $list_max_entries_per_page;
|
|
|
|
// back up the the last page.
|
|
if($end_record > $row_count+1)
|
|
{
|
|
$end_record = $row_count+1;
|
|
}
|
|
|
|
// Deterime the start location of the last page
|
|
if($row_count == 0)
|
|
$number_pages = 0;
|
|
else
|
|
$number_pages = floor(($row_count - 1) / $list_max_entries_per_page);
|
|
|
|
$last_page_offset = $number_pages * $list_max_entries_per_page;
|
|
|
|
|
|
// Create the base URL without the current offset.
|
|
// Check to see if the current offset is already there
|
|
// If not, add it to the end.
|
|
|
|
// All of the other values should use a regular expression search
|
|
$base_URL = $_SERVER['REQUEST_URI'] .'?'.$_SERVER['QUERY_STRING']."¤t_offset=";
|
|
$start_URL = $base_URL."0";
|
|
$previous_URL = $base_URL.$previous_offset;
|
|
$next_URL = $base_URL.$next_offset;
|
|
$end_URL = $base_URL.$last_page_offset;
|
|
|
|
$sort_URL_base = $base_URL.$current_offset."&sort_order=";
|
|
|
|
$log->debug("Offsets: (start, previous, next, last)(0, $previous_offset, $next_offset, $last_page_offset)");
|
|
|
|
if(0 == $current_offset)
|
|
$start_link = $app_strings['LNK_LIST_START'];
|
|
else
|
|
$start_link = "<a href=\"$start_URL\" class=\"listFormHeaderLinks\">".$app_strings['LNK_LIST_START']."</a>";
|
|
|
|
if($previous_offset < 0)
|
|
$previous_link = $app_strings['LNK_LIST_PREVIOUS'];
|
|
else
|
|
$previous_link = "<a href=\"$previous_URL\" class=\"listFormHeaderLinks\">".$app_strings['LNK_LIST_PREVIOUS']."</a>";
|
|
|
|
if($next_offset >= $end_record)
|
|
$next_link = $app_strings['LNK_LIST_NEXT'];
|
|
else
|
|
$next_link = "<a href=\"$next_URL\" class=\"listFormHeaderLinks\">".$app_strings['LNK_LIST_NEXT']."</a>";
|
|
|
|
if($last_page_offset <= $current_offset)
|
|
$end_link = $app_strings['LNK_LIST_END'];
|
|
else
|
|
$end_link = "<a href=\"$end_URL\" class=\"listFormHeaderLinks\">".$app_strings['LNK_LIST_END']."</a>";
|
|
|
|
$log->info("Offset (next, current, prev)($next_offset, $current_offset, $previous_offset)");
|
|
$log->info("Start/end records ($start_record, $end_record)");
|
|
|
|
$list_form->assign("START_RECORD", $start_record);
|
|
$list_form->assign("END_RECORD", $end_record-1);
|
|
$list_form->assign("ROW_COUNT", $row_count);
|
|
if ($start_link !== "") $list_form->assign("START_LINK", "[ ".$start_link." ]");
|
|
if ($end_link !== "") $list_form->assign("END_LINK", "[ ".$end_link." ]");
|
|
if ($next_link !== "") $list_form->assign("NEXT_LINK", "[ ".$next_link." ]");
|
|
if ($previous_link !== "") $list_form->assign("PREVIOUS_LINK", "[ ".$previous_link." ]");
|
|
$list_form->parse("main.list_nav_row");
|
|
$oddRow = true;
|
|
|
|
if($currentModule == "MessageBoard")
|
|
{
|
|
foreach($aList as $aItem)
|
|
{
|
|
$fields = $aItem->get_list_view_data();
|
|
$list_form->assign($html_varName, $fields);
|
|
$list_form->assign("MASS_DELETE_CHANGESTATUS", "");
|
|
|
|
if($oddRow)
|
|
{
|
|
$list_form->assign("ROW_COLOR", 'oddListRow');
|
|
}
|
|
else
|
|
{
|
|
$list_form->assign("ROW_COLOR", 'evenListRow');
|
|
}
|
|
$oddRow = !$oddRow;
|
|
$list_form->parse("main.row");
|
|
}
|
|
}
|
|
else
|
|
{
|
|
|
|
foreach($aList as $aItem)
|
|
{
|
|
$fields = $aItem->get_list_view_data();
|
|
$list_form->assign($html_varName, $fields);
|
|
$list_form->assign("MASS_DELETE_CHANGESTATUS", "<input class='button' type='submit' value='Mass Delete' onclick=\"return massDelete()\"/><br><input class='button' type='submit' value='Change Status' onclick=\"return changeStatus()\"/>");
|
|
|
|
if($oddRow)
|
|
{
|
|
$list_form->assign("ROW_COLOR", 'oddListRow');
|
|
}
|
|
else
|
|
{
|
|
$list_form->assign("ROW_COLOR", 'evenListRow');
|
|
}
|
|
$oddRow = !$oddRow;
|
|
|
|
$aItem->list_view_pare_additional_sections($list_form);
|
|
$list_form->parse("main.row");
|
|
}
|
|
}
|
|
$list_form->parse("main");
|
|
|
|
if( $display_title == 'Lead List')
|
|
{
|
|
$button ="<table cellspacing='0' cellpadding='1' border='0'><form action='index.php?module=Leads&action=fetchfile' method=post target=''><tr><td> </td><td><input class='button' type='submit' name='Import' value='Import Leads'/></td></form></tr></table>";
|
|
|
|
//include 'modules/imports/ImportButton.html';
|
|
// $importTitle = " [ <A href='index.php?module=imports&action=import'><Blink><B>".$app_strings['LNK_IMPORT_LEADS']."</Blink></B></A> ]";
|
|
// $display_title = $display_title .$importTitle;
|
|
}
|
|
echo get_form_header( $display_title, $button, false);
|
|
$list_form->out("main");
|
|
echo get_form_footer();
|
|
|
|
echo "</td></tr>\n</table>\n";
|
|
}
|
|
?>
|
|
|