Skip to content
Snippets Groups Projects
Commit 6920b895 authored by Falko Timme's avatar Falko Timme
Browse files

No commit message

No commit message
parent 1645bb0b
No related branches found
No related tags found
No related merge requests found
<?php
class plugin_listview extends plugin_base {
var $module;
var $form;
var $tab;
var $record_id;
var $formdef;
var $options;
function onShow() {
global $app;
$app->uses('listform');
$app->listform->loadListDef($this->options["listdef"]);
//$app->listform->SQLExtWhere = "type = 'alias'";
$listTpl = new tpl;
$listTpl->newTemplate('templates/'.$app->listform->listDef["name"].'_list.htm');
// Changing some of the list values to reflect that the list is called within a tform page
$app->listform->listDef["file"] = $app->tform->formDef["action"];
$app->listform->listDef["page_params"] = "&id=".$app->tform_actions->id."&next_tab=".$_SESSION["s"]["form"]["tab"];
// Generate the SQL for searching
if($app->listform->listDef["auth"] != 'no') {
if($_SESSION["s"]["user"]["typ"] == "admin") {
$sql_where = "";
} else {
$sql_where = $app->tform->getAuthSQL('r')." and";
}
}
if($this->options["sqlextwhere"] != '') {
$sql_where .= " ".$this->options["sqlextwhere"]." and";
}
$sql_where = $app->listform->getSearchSQL($sql_where);
$listTpl->setVar($app->listform->searchValues);
// Generate SQL for paging
$limit_sql = $app->listform->getPagingSQL($sql_where);
$listTpl->setVar("paging",$app->listform->pagingHTML);
// Get the data
$records = $app->db->queryAllRecords("SELECT * FROM ".$app->listform->listDef["table"]." WHERE $sql_where $limit_sql");
$bgcolor = "#FFFFFF";
if(is_array($records)) {
$idx_key = $app->listform->listDef["table_idx"];
foreach($records as $rec) {
$rec = $app->listform->decode($rec);
// Change of color
$bgcolor = ($bgcolor == "#FFFFFF")?"#EEEEEE":"#FFFFFF";
$rec["bgcolor"] = $bgcolor;
// The variable "id" contains always the index field
$rec["id"] = $rec[$idx_key];
$records_new[] = $rec;
}
}
$listTpl->setLoop('records',$records_new);
// Loading language field
$lng_file = "lib/lang/".$_SESSION["s"]["language"]."_".$app->listform->listDef['name']."_list.lng";
include($lng_file);
$listTpl->setVar($wb);
// Setting Returnto information in the session
$list_name = $app->listform->listDef["name"];
$_SESSION["s"]["list"][$list_name]["parent_id"] = $app->tform_actions->id;
$_SESSION["s"]["list"][$list_name]["parent_tab"] = $_SESSION["s"]["form"]["tab"];
$_SESSION["s"]["list"][$list_name]["parent_script"] = $app->tform->formDef["action"];
$_SESSION["s"]["form"]["return_to"] = $list_name;
return $listTpl->grab();
}
var $module;
var $form;
var $tab;
var $record_id;
var $formdef;
var $options;
function onShow() {
global $app;
$app->uses('listform');
$app->listform->loadListDef($this->options["listdef"]);
//$app->listform->SQLExtWhere = "type = 'alias'";
$listTpl = new tpl;
$listTpl->newTemplate('templates/'.$app->listform->listDef["name"].'_list.htm');
// Changing some of the list values to reflect that the list is called within a tform page
$app->listform->listDef["file"] = $app->tform->formDef["action"];
$app->listform->listDef["page_params"] = "&id=".$app->tform_actions->id."&next_tab=".$_SESSION["s"]["form"]["tab"];
// Generate the SQL for searching
if($app->listform->listDef["auth"] != 'no') {
if($_SESSION["s"]["user"]["typ"] == "admin") {
$sql_where = "";
} else {
$sql_where = $app->tform->getAuthSQL('r')." and";
}
}
if($this->options["sqlextwhere"] != '') {
$sql_where .= " ".$this->options["sqlextwhere"]." and";
}
$sql_where = $app->listform->getSearchSQL($sql_where);
$listTpl->setVar($app->listform->searchValues);
// Generate SQL for paging
$limit_sql = $app->listform->getPagingSQL($sql_where);
$listTpl->setVar("paging",$app->listform->pagingHTML);
// Get the data
$records = $app->db->queryAllRecords("SELECT * FROM ".$app->listform->listDef["table"]." WHERE $sql_where $limit_sql");
$bgcolor = "#FFFFFF";
if(is_array($records)) {
$idx_key = $app->listform->listDef["table_idx"];
foreach($records as $rec) {
$rec = $app->listform->decode($rec);
// Change of color
$bgcolor = ($bgcolor == "#FFFFFF")?"#EEEEEE":"#FFFFFF";
$rec["bgcolor"] = $bgcolor;
// The variable "id" contains always the index field
$rec["id"] = $rec[$idx_key];
$records_new[] = $rec;
}
}
$listTpl->setLoop('records',$records_new);
// Loading language field
$lng_file = "lib/lang/".$_SESSION["s"]["language"]."_".$app->listform->listDef['name']."_list.lng";
include($lng_file);
$listTpl->setVar($wb);
// Setting Returnto information in the session
$list_name = $app->listform->listDef["name"];
$_SESSION["s"]["list"][$list_name]["parent_id"] = $app->tform_actions->id;
$_SESSION["s"]["list"][$list_name]["parent_tab"] = $_SESSION["s"]["form"]["tab"];
$_SESSION["s"]["list"][$list_name]["parent_script"] = $app->tform->formDef["action"];
$_SESSION["s"]["form"]["return_to"] = $list_name;
return $listTpl->grab();
}
}
?>
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment