示例#1
0
/**
*  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;
}