/** * 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 createGrid($start = 0, $limit = 1, $filter = null, $content = null, $order = null, $divName = "grid", $ordering = "", $stype = array()) { global $locate; $_SESSION['ordering'] = $ordering; if ($filter == null or $content == null or $content == 'Array' or $filter == 'Array') { $numRows =& Customer::getNumRows(); $arreglo =& Customer::getAllRecords($start, $limit, $order); $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 =& Customer::getNumRows(); $arreglo =& Customer::getAllRecords($start, $limit, $order); } elseif ($flag3 != 1) { $order = "id"; $numRows =& Customer::getNumRowsMore($filter, $content, "campaignresult"); $arreglo =& Customer::getRecordsFilteredMore($start, $limit, $filter, $content, $order, "campaignresult"); } else { $order = "id"; $numRows =& Customer::getNumRowsMorewithstype($filter, $content, $stype, $table); $arreglo =& Customer::getRecordsFilteredMorewithstype($start, $limit, $filter, $content, $stype, $order, $table); } } // 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(); $fields[] = 'id'; $fields[] = 'resultname'; $fields[] = 'resultnote'; $fields[] = 'status'; $fields[] = 'parentresult'; $fields[] = 'groupname'; $fields[] = 'campaignname'; $fields[] = 'result'; // HTML table: Headers showed $headers = array(); $headers[] = $locate->Translate("Result Name"); $headers[] = $locate->Translate("Result Note"); $headers[] = $locate->Translate("Status"); $headers[] = $locate->Translate("Parent Result"); $headers[] = $locate->Translate("Group Name"); $headers[] = $locate->Translate("Campaign Name"); $headers[] = $locate->Translate("Result"); // 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(); $eventHeader[] = 'onClick=\'xajax_showGrid(0,' . $limit . ',"' . $filter . '","' . $content . '","resultname","' . $divName . '","ORDERING");return false;\''; $eventHeader[] = 'onClick=\'xajax_showGrid(0,' . $limit . ',"' . $filter . '","' . $content . '","resultnote","' . $divName . '","ORDERING");return false;\''; $eventHeader[] = 'onClick=\'xajax_showGrid(0,' . $limit . ',"' . $filter . '","' . $content . '","campaignresult.status","' . $divName . '","ORDERING");return false;\''; $eventHeader[] = 'onClick=\'xajax_showGrid(0,' . $limit . ',"' . $filter . '","' . $content . '","parentresult","' . $divName . '","ORDERING");return false;\''; $eventHeader[] = 'onClick=\'xajax_showGrid(0,' . $limit . ',"' . $filter . '","' . $content . '","groupname","' . $divName . '","ORDERING");return false;\''; $eventHeader[] = 'onClick=\'xajax_showGrid(0,' . $limit . ',"' . $filter . '","' . $content . '","campaign.campaignname","' . $divName . '","ORDERING");return false;\''; $eventHeader[] = ''; // Select Box: fields table. $fieldsFromSearch = array(); $fieldsFromSearch[] = 'campaignresult.resultname'; $fieldsFromSearch[] = 'campaignresult.resultnote'; $fieldsFromSearch[] = 'campaignresult.status'; $fieldsFromSearch[] = 'presult.resultname'; $fieldsFromSearch[] = 'groupname'; $fieldsFromSearch[] = 'campaignname'; $fieldsFromSearch[] = 'campaignresult.creby'; $fieldsFromSearch[] = 'campaignresult.cretime'; // Selecct Box: Labels showed on search select box. $fieldsFromSearchShowAs = array(); $fieldsFromSearchShowAs[] = $locate->Translate("Result Name"); $fieldsFromSearchShowAs[] = $locate->Translate("Result Note"); $fieldsFromSearchShowAs[] = $locate->Translate("Status"); $fieldsFromSearchShowAs[] = $locate->Translate("Parent Result"); $fieldsFromSearchShowAs[] = $locate->Translate("Group Name"); $fieldsFromSearchShowAs[] = $locate->Translate("Campaign Name"); $fieldsFromSearchShowAs[] = $locate->Translate("Creby"); $fieldsFromSearchShowAs[] = $locate->Translate("Cretime"); //echo 'dddddddddddddd'; // Create object whit 5 cols and all data arrays set before. $table = new ScrollTable(6, $start, $limit, $filter, $numRows, $content, $order); $table->exportFlag = '2'; //对导出标记进行赋值 $table->ordering = $ordering; $editFlag = 1; $deleteFlag = 1; if ($_SESSION['curuser']['usertype'] != 'admin' && $_SESSION['curuser']['usertype'] != 'groupadmin') { if ($_SESSION['curuser']['privileges']['campaignresult']['delete']) { $deleteFlag = 1; } else { $deleteFlag = 0; } if ($_SESSION['curuser']['privileges']['campaignresult']['edit']) { $editFlag = 1; } else { $editFlag = 0; } } $table->setHeader('title', $headers, $attribsHeader, $eventHeader, $editFlag, $deleteFlag, 0); $table->setAttribsCols($attribsCols); $table->addRowSearchMore("campaignresult", $fieldsFromSearch, $fieldsFromSearchShowAs, $filter, $content, $start, $limit, 1, 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[] = "<a href=? onclick=\"showReport('" . $row['id'] . "');return false;\">" . $row['resultname'] . "</a>"; // $rowc[] = $row['resultname']; $rowc[] = $row['resultnote']; $rowc[] = $locate->Translate($row['status']); if ($row['parentid'] != 0) { $rowc[] = $row['parentresult']; } else { $rowc[] = $locate->Translate("First Level"); } $rowc[] = $row['groupname']; $rowc[] = $row['campaignname']; $rowc[] = astercrm::countDailedlist($row['resultname'], $row['campaignid'], $row['groupid']); // $rowc[] = $row['creby']; // $rowc[] = $row['cretime']; $table->addRow("campaignresult", $rowc, $editFlag, $deleteFlag, 0, $divName, $fields); } // End Editable Zone $html = $table->render(); return $html; }