/** * generate grid HTML code * @param start int record start * @param limit int how many records need * @param filter string the field need to search * @param content string the contect want to match * @param divName string which div grid want to be put * @param order string data order * @return html string grid HTML code */ function createTikcetGrid($Cid = 0, $Ctype = "", $start = 0, $limit = 1, $filter = null, $content = null, $order = null, $divName = "", $ordering = "", $stype = array()) { global $locate; $_SESSION['ordering'] = $ordering; if ($filter == null or $content == null or $content == 'Array' or $filter == 'Array') { $numRows =& astercrm::getTicketNumRows($filter, $content, $Ctype, $Cid); $arreglo =& astercrm::getAllTicketRecords($start, $limit, $order, $Ctype, $Cid); $content = null; $filter = null; } else { foreach ($content as $value) { if (trim($value) != "") { //搜索内容有值 $flag = "1"; break; } } foreach ($filter as $value) { if (trim($value) != "") { //搜索条件有值 $flag2 = "1"; break; } } foreach ($stype as $value) { if (trim($value) != "") { //搜索方式有值 $flag3 = "1"; break; } } if ($flag != "1" || $flag2 != "1") { //无值 $numRows =& astercrm::getTicketNumRows($filter, $content, $Ctype, $Cid); $arreglo =& astercrm::getAllTicketRecords($start, $limit, $order, $Ctype, $Cid); } elseif ($flag3 != 1) { $order = "id"; $numRows =& astercrm::getTicketNumRowsMore($filter, $content, $Ctype, $Cid); $arreglo =& astercrm::getTicketRecordsFilteredMore($start, $limit, $filter, $content, $order, $Ctype, $Cid); } else { $order = "id"; $numRows =& astercrm::getTicketNumRowsMorewithstype($filter, $content, $stype, $table, $Ctype, $Cid); $arreglo =& astercrm::getTicketRecordsFilteredMorewithstype($start, $limit, $filter, $content, $stype, $order, $table, $Ctype, $Cid); } } // Select Box: type table. $typeFromSearch = array(); $typeFromSearch[] = 'like'; $typeFromSearch[] = 'equal'; $typeFromSearch[] = 'more'; $typeFromSearch[] = 'less'; // Selecct Box: Labels showed on searchtype select box. $typeFromSearchShowAs = array(); $typeFromSearchShowAs[] = $locate->Translate("like"); $typeFromSearchShowAs[] = '='; $typeFromSearchShowAs[] = '>'; $typeFromSearchShowAs[] = '<'; // Editable zone // Databse Table: fields $fields = array(); if ($Ctype == 'agent_tickets') { $fields[] = 'id'; $fields[] = 'ticketname'; $fields[] = 'customer'; $fields[] = 'status'; $fields[] = 'memo'; $fields[] = 'creby'; } else { $fields[] = 'id'; $fields[] = 'ticketcategoryname'; $fields[] = 'ticketname'; $fields[] = 'customer'; $fields[] = 'assignto'; $fields[] = 'status'; $fields[] = 'memo'; $fields[] = 'creby'; } // HTML table: Headers showed $headers = array(); $headers[] = $locate->Translate("Ticket Id"); if ($Ctype != 'agent_tickets') { $headers[] = $locate->Translate("TicketCategory Name"); } $headers[] = $locate->Translate("Ticket Name"); $headers[] = $locate->Translate("Customer"); if ($Ctype != 'agent_tickets') { $headers[] = $locate->Translate("AssignTo"); } $headers[] = $locate->Translate("Status"); $headers[] = $locate->Translate("Memo"); $headers[] = $locate->Translate("Creby"); if ($Ctype == 'agent_tickets') { // HTML table: hearders attributes $attribsHeader = array(); $attribsHeader[] = 'width="15%"'; $attribsHeader[] = 'width="20%"'; $attribsHeader[] = 'width="20%"'; $attribsHeader[] = 'width="10%"'; $attribsHeader[] = 'width="20%"'; $attribsHeader[] = 'width="15%"'; // HTML Table: columns attributes $attribsCols = array(); $attribsCols[] = 'style="text-align: left"'; $attribsCols[] = 'style="text-align: left"'; $attribsCols[] = 'style="text-align: left"'; $attribsCols[] = 'style="text-align: left"'; $attribsCols[] = 'style="text-align: left"'; } else { // HTML table: hearders attributes $attribsHeader = array(); $attribsHeader[] = 'width=""'; $attribsHeader[] = 'width=""'; $attribsHeader[] = 'width=""'; $attribsHeader[] = 'width=""'; $attribsHeader[] = 'width=""'; $attribsHeader[] = 'width=""'; $attribsHeader[] = 'width=""'; // HTML Table: columns attributes $attribsCols = array(); $attribsCols[] = 'style="text-align: left"'; $attribsCols[] = 'style="text-align: left"'; $attribsCols[] = 'style="text-align: left"'; $attribsCols[] = 'style="text-align: left"'; $attribsCols[] = 'style="text-align: left"'; $attribsCols[] = 'style="text-align: left"'; $attribsCols[] = 'style="text-align: left"'; } // HTML Table: If you want ascendent and descendent ordering, set the Header Events. $eventHeader = array(); if ($Ctype == 'agent_tickets') { $XajaxMath = 'showMyTicketsGrid'; } else { $XajaxMath = 'AllTicketOfMyGrid'; } $eventHeader[] = 'onClick=\'' . $XajaxMath . '(' . $Cid . ',"' . $Ctype . '",0,' . $limit . ',"' . $filter . '","' . $content . '","id","' . $divName . '","ORDERING");return false;\''; if ($Ctype != 'agent_tickets') { $eventHeader[] = 'onClick=\'' . $XajaxMath . '(' . $Cid . ',"' . $Ctype . '",0,' . $limit . ',"' . $filter . '","' . $content . '","ticketcategoryname","' . $divName . '","ORDERING");return false;\''; } $eventHeader[] = 'onClick=\'' . $XajaxMath . '(' . $Cid . ',"' . $Ctype . '",0,' . $limit . ',"' . $filter . '","' . $content . '","ticketname","' . $divName . '","ORDERING");return false;\''; $eventHeader[] = 'onClick=\'' . $XajaxMath . '(' . $Cid . ',"' . $Ctype . '",0,' . $limit . ',"' . $filter . '","' . $content . '","customer","' . $divName . '","ORDERING");return false;\''; if ($Ctype != 'agent_tickets') { $eventHeader[] = 'onClick=\'' . $XajaxMath . '(' . $Cid . ',"' . $Ctype . '",0,' . $limit . ',"' . $filter . '","' . $content . '","username","' . $divName . '","ORDERING");return false;\''; } $eventHeader[] = 'onClick=\'' . $XajaxMath . '(' . $Cid . ',"' . $Ctype . '",0,' . $limit . ',"' . $filter . '","' . $content . '","status","' . $divName . '","ORDERING");return false;\''; $eventHeader[] = 'onClick=\'' . $XajaxMath . '(' . $Cid . ',"' . $Ctype . '",0,' . $limit . ',"' . $filter . '","' . $content . '","memo","' . $divName . '","ORDERING");return false;\''; $eventHeader[] = 'onClick=\'' . $XajaxMath . '(' . $Cid . ',"' . $Ctype . '",0,' . $limit . ',"' . $filter . '","' . $content . '","creby","' . $divName . '","ORDERING");return false;\''; // Select Box: fields table. $fieldsFromSearch = array(); if ($Ctype != 'agent_tickets') { $fieldsFromSearch[] = 'ticketcategoryname'; } $fieldsFromSearch[] = 'ticketname'; $fieldsFromSearch[] = 'customer'; if ($Ctype != 'agent_tickets') { $fieldsFromSearch[] = 'username'; } //$fieldsFromSearch[] = 'status'; //$fieldsFromSearch[] = 'memo'; $fieldsFromSearch[] = 'creby'; // Selecct Box: Labels showed on search select box. $fieldsFromSearchShowAs = array(); if ($Ctype != 'agent_tickets') { $fieldsFromSearchShowAs[] = $locate->Translate("TicketCategory Name"); } $fieldsFromSearchShowAs[] = $locate->Translate("Ticket Name"); $fieldsFromSearchShowAs[] = $locate->Translate("Customer"); if ($Ctype != 'agent_tickets') { $fieldsFromSearchShowAs[] = $locate->Translate("AssignTo"); } //$fieldsFromSearchShowAs[] = $locate->Translate("Status"); //$fieldsFromSearchShowAs[] = $locate->Translate("Memo"); $fieldsFromSearchShowAs[] = $locate->Translate("Creby"); // Create object whit 5 cols and all data arrays set before. $table = new ScrollTable(7, $start, $limit, $filter, $numRows, $content, $order, $Cid, $cdrtype, $userexten, $table = 'ticket_details', $divName); #$table = new ScrollTable(7,$start,$limit,$filter,$numRows,$content,$order,$customerid,$cdrtype); $table->setHeader('title', $headers, $attribsHeader, $eventHeader, 0, 0, 0); $table->ordering = $ordering; //echo $divName;exit; if ($divName == 'formCurTickets') { $stype = 'none'; $table->addRowSearchMore("add_new_tickets", $fieldsFromSearch, $fieldsFromSearchShowAs, $filter, $content, $start, $limit, 1, 0, $typeFromSearch, $typeFromSearchShowAs, $stype); } else { $table->addRowSearchMore("ticket_details", $fieldsFromSearch, $fieldsFromSearchShowAs, $filter, $content, $start, $limit, 0, 0, $typeFromSearch, $typeFromSearchShowAs, $stype); } while ($arreglo->fetchInto($row)) { // Change here by the name of fields of its database table $rowc = array(); $rowc[] = $row['id']; $rowc[] = str_pad($row['id'], 8, '0', STR_PAD_LEFT); if ($Ctype != 'agent_tickets') { $rowc[] = $row['ticketcategoryname']; } $rowc[] = $row['ticketname']; $rowc[] = $row['customer']; if ($Ctype != 'agent_tickets') { $rowc[] = $row['username']; } $rowc[] = $locate->Translate($row['status']); $rowc[] = $row['memo']; $rowc[] = $row['creby']; $table->addRow("ticket_details", $rowc, 0, 0, 0, $divName, $fields); } if ($divName == 'formCurTickets') { $html = $table->render(''); //static } else { $html = $table->render('static'); } return $html; }