Viewing file: modTopViewFrame.php (10.73 KB) -rwxr-xr-x Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?
/*****************************************************************************************************
* *
* Arquivo de inicialização de listagens *
* Desenvolvido por Agência Studio iMAXIS *
* *
*****************************************************************************************************/
if(!class_exists('Data'))
require_once(APP_PATH."/util/Data.php");
$data = new Data();
if(!class_exists('Util'))
require_once(APP_PATH."/util/Util.php");
$util = new Util();
$control = new GenericCtrl("Noticia");
$arrayFields = array();
$arrayValues = array();
$arrayList = array(0);
$arrayOperators = array();
$page = empty($_GET['page']) ? 1 : $_GET['page'];
if($this != null){
$order = empty($_GET['order']) ? $this->getConfig()->getParameter("orderBy") : $_GET['order'];
$search = $this->getConfig()->getParameter("searchType") == "advanced" ? "advanced" : "normal";
$numFieldsSearch = $this->getNumFieldsSearch();
$resultByPageConfig = 50;
$fillGridOnStart = "true";
}else{
$order = empty($_GET['order']) ? $ipanel->getConfig()->getParameter("orderBy") : $_GET['order'];
$typeList = ($ipanel->getConfig()->getParameter("popUpTypeList") == "lazy") ? "lazy" : "eagle";
$escIdField = ($ipanel->getConfig()->getParameter("filterByEscId") != null) ? $ipanel->getConfig()->getParameter("filterByEscId") : null;
$search = $ipanel->getConfig()->getParameter("searchType") == "advanced" ? "advanced" : "normal";
$numFieldsSearch = $ipanel->getNumFieldsSearch();
$resultByPageConfig = 50;
$fillGridOnStart = "true";
}
$_SESSION['session'] = "Noticia";
if(!empty($_GET['resultByPage'])){
$resultByPage = $_GET['resultByPage'];
}else{
if($resultByPageConfig != null){
$resultByPage = $resultByPageConfig;
}else{
$resultByPage = 50;
}
}
//$resultByPage = empty($_GET['resultByPage']) ? 30 : $_GET['resultByPage'];
$start = ($page - 1) * $resultByPage;
//
// Caso ocorra a pesquisa pelo formulário
//
if($_GET['action'] == "Busca"){
$fillGridOnStart = true;
$resultByPage = 5000;
if($search == "normal"){
$count = 1;
}else{
$count = $numFieldsSearch;
}
if($_GET['buscarPor'] != "todos"){
for($i=0; $i < $count; $i++){
$valueIni = $valueEnd = "";
if($search == "normal"){
list($fieldSearch, $typeSearch) = explode("|", $_GET['buscarPor']);
}else{
$listFields = explode(",",$_GET['listFields']);
list($fieldSearch, $typeSearch) = explode("|", $listFields[$i]);
}
switch($typeSearch){
case "money": {
$operator = "BETWEEN";
$fieldIni = $fieldSearch.'Ini';
$fieldEnd = $fieldSearch.'End';
$valueIniRetorno = $_GET[$fieldSearch.'Ini'];
$valueEndRetorno = $_GET[$fieldSearch.'End'];
if(!empty($_GET[$fieldSearch.'Ini'])){
$valueIni = $util->formatFloat($_GET[$fieldSearch.'Ini']);
}
if(!empty($_GET[$fieldSearch.'End'])){
$valueEnd = $util->formatFloat($_GET[$fieldSearch.'End']);
}
} break;
case "date": {
$operator = "BETWEEN";
$fieldIni = $fieldSearch.'Ini';
$fieldEnd = $fieldSearch.'End';
$valueIniRetorno = $_GET[$fieldSearch.'Ini'];
$valueEndRetorno = $_GET[$fieldSearch.'End'];
if(!empty($_GET[$fieldSearch.'Ini'])){
$valueIni = $data->convertDateBRtoDateSQL($_GET[$fieldSearch.'Ini']);
}
if(!empty($_GET[$fieldSearch.'End'])){
$valueEnd = $data->convertDateBRtoDateSQL($_GET[$fieldSearch.'End']);
}
} break;
case "time": {
$operator = "BETWEEN";
$fieldIni = $fieldSearch.'Ini';
$fieldEnd = $fieldSearch.'End';
$valueIniRetorno = $_GET[$fieldSearch.'Ini'];
$valueEndRetorno = $_GET[$fieldSearch.'End'];
$valueIni = $_GET[$fieldSearch.'Ini'];
$valueEnd = $_GET[$fieldSearch.'End'];
} break;
case "integer": {
$operator = "BETWEEN";
$fieldIni = $fieldSearch.'Ini';
$fieldEnd = $fieldSearch.'End';
$valueIniRetorno = $_GET[$fieldSearch.'Ini'];
$valueEndRetorno = $_GET[$fieldSearch.'End'];
$valueIni = $_GET[$fieldSearch.'Ini'];
$valueEnd = $_GET[$fieldSearch.'End'];
} break;
case "subselect": {
$operator = "EQUALS";
$fieldIni = $fieldSearch;
$valueIniRetorno = $_GET[$fieldSearch];
$valueIni = $_GET[$fieldSearch];
} break;
case "popupsearch": {
$operator = "EQUALS";
$fieldIni = $fieldSearch;
$valueIniRetorno = $_GET[$fieldSearch];
$valueIni = $_GET[$fieldSearch];
$valueEnd = $_GET[$fieldSearch.'_label'];
$valueEndRetorno = $_GET[$fieldSearch.'_label'];
} break;
case "select": {
$operator = "EQUALS";
$fieldIni = $fieldSearch;
$valueIniRetorno = $_GET[$fieldSearch];
$valueIni = $_GET[$fieldSearch];
} break;
default:{
$operator = "LIKE";
$fieldIni = $fieldSearch;
$valueIniRetorno = $_GET[$fieldSearch];
$valueIni = $_GET[$fieldSearch];
} break;
}
$fieldSearch = str_replace("_", ".", $fieldSearch);
array_push($arrayFields, array("field" => $fieldSearch));
array_push($arrayValues, array("valueIni" => $valueIni, "valueEnd" => $valueEnd));
array_push($arrayOperators, array("operator" => $operator));
}
}
//
// Caso o grid deva ser preenchido
//
if($fillGridOnStart){
//
// Caso seja a pesquisa normal, com apenas um campo
//
if($search == "normal"){
if($typeList == "lazy"){
$arrayList = $control->getObjectsIPanelLazy($fieldSearch, $valueIni, $valueEnd, true, $resultByPage, $start, $order);
$arrayListTotal = $control->getObjectsIPanelLazy($fieldSearch, $valueIni, $valueEnd);
}else{
$arrayList = $control->getObjectsIPanel($fieldSearch, $valueIni, $valueEnd, true, $resultByPage, $start, $order);
$arrayListTotal = $control->getObjectsIPanel($fieldSearch, $valueIni, $valueEnd);
}
}
//
// Caso seja a pesquisa avançada, com vários campos
//
else{
if($typeList == "lazy"){
$arrayList = $control->getObjectsByAdvancedSearchLazy($arrayFields, $arrayValues, $arrayOperators, true, $resultByPage, $start, $order);
$arrayListTotal = $control->getObjectsByAdvancedSearchLazy($arrayFields, $arrayValues, $arrayOperators);
}else{
$arrayList = $control->getObjectsByAdvancedSearch($arrayFields, $arrayValues, $arrayOperators, true, $resultByPage, $start, $order);
$arrayListTotal = $control->getObjectsByAdvancedSearch($arrayFields, $arrayValues, $arrayOperators);
}
}
}
}
if($fillGridOnStart){
//
// Caso ocorra a ordenação pela letra inicial
//
if(!empty($_GET['letter'])){
$field = $_GET['field'];
$value = $_GET['letter'];
if($typeList == "lazy"){
$arrayList = $control->getObjectsByStartLetter($field, $value, true, $resultByPage, $start, $order);
$arrayListTotal = $control->getObjectsByStartLetter($field, $value);
}else{
$arrayList = $control->getObjectsByStartLetterLazy($field, $value, true, $resultByPage, $start, $order);
$arrayListTotal = $control->getObjectsByStartLetterLazy($field, $value);
}
}
//
// Caso seja a listagem normal
//
else{
if(empty($_GET['letter']) && $_GET['action'] != "Busca"){
if($typeList == "lazy"){
$arrayList = $control->getObjectsLazy("", "", true, $resultByPage, $start, $order);
$arrayListTotal = $control->getObjectsLazy("", "");
}else{
$arrayList = $control->getObjects("", "", true, $resultByPage, $start, $order);
$arrayListTotal = $control->getObjects("", "");
}
}
}
}
//
// Lista de ids para controle das linhas da tabela
//
foreach($arrayList as $object){
$ids = "i".$object['id']."-".$ids;
}
//
// Contagem para paginação
//
$atualPages = count($arrayList);
$totalPages = ceil(count($arrayListTotal)/$resultByPage);
//
// Geração da url com os parâmetros para pesquisa normal
//
if($search == "normal"){
$parameters = "&action=".$_GET['action']."&buscarPor=".$_GET['buscarPor']."&".$fieldIni."=".$valueIni."&".$fieldEnd."=".$valueEnd;
}
//
// Geração da url com os parâmetros para pesquisa avançada
//
if($search == "advanced"){
if($this != null){
$parameters = "&action=".$_GET['action'].$this->getUrlParametersSearch($_GET)."&listFields=".$_GET['listFields'];
}else{
$parameters = "&action=".$_GET['action'].$ipanel->getUrlParametersSearch($_GET)."&listFields=".$_GET['listFields'];
}
//echo $parameters;
}
//$parametersUrl = $this->getUrlParametersSearch($_GET);
$parametersUrl = "&order=".$order."&page=".$page."&resultByPage=".$resultByPage."&relationField=".$_GET['relationField']."&labelField=".$_GET['labelField'].$parameters;
//echo $parametersUrl;
?>
|