예제 #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, "campaign");
            $arreglo =& Customer::getRecordsFilteredMore($start, $limit, $filter, $content, $order, "campaign");
        } 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[] = 'campaignname';
    $fields[] = 'campaignnote';
    $fields[] = 'groupname';
    $fields[] = 'servername';
    $fields[] = 'balance';
    $fields[] = 'creby';
    $fields[] = 'cretime';
    // HTML table: Headers showed
    $headers = array();
    $headers[] = $locate->Translate("Campaign Name");
    $headers[] = $locate->Translate("Campaign Note");
    $headers[] = $locate->Translate("Group Name");
    $headers[] = $locate->Translate("Server Name");
    $headers[] = $locate->Translate("Remaining") . '/' . $locate->Translate("Dialed ") . '/' . $locate->Translate("Answered");
    $headers[] = $locate->Translate("Balance");
    $headers[] = $locate->Translate("Creby");
    $headers[] = $locate->Translate("Cretime");
    // HTML table: hearders attributes
    $attribsHeader = array();
    $attribsHeader[] = 'width=""';
    $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"';
    $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 . '","campaignname","' . $divName . '","ORDERING");return false;\'';
    $eventHeader[] = 'onClick=\'xajax_showGrid(0,' . $limit . ',"' . $filter . '","' . $content . '","campaignnote","' . $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 . '","servers.name","' . $divName . '","ORDERING");return false;\'';
    $eventHeader[] = 'onClick=\'\'';
    $eventHeader[] = 'onClick=\'xajax_showGrid(0,' . $limit . ',"' . $filter . '","' . $content . '","balance","' . $divName . '","ORDERING");return false;\'';
    $eventHeader[] = 'onClick=\'xajax_showGrid(0,' . $limit . ',"' . $filter . '","' . $content . '","creby","' . $divName . '","ORDERING");return false;\'';
    $eventHeader[] = 'onClick=\'xajax_showGrid(0,' . $limit . ',"' . $filter . '","' . $content . '","cretime","' . $divName . '","ORDERING");return false;\'';
    // Select Box: fields table.
    $fieldsFromSearch = array();
    $fieldsFromSearch[] = 'campaignname';
    $fieldsFromSearch[] = 'campaignnote';
    $fieldsFromSearch[] = 'groupname';
    $fieldsFromSearch[] = 'servers.name';
    $fieldsFromSearch[] = 'balance';
    $fieldsFromSearch[] = 'campaign.creby';
    $fieldsFromSearch[] = 'campaign.cretime';
    // Selecct Box: Labels showed on search select box.
    $fieldsFromSearchShowAs = array();
    $fieldsFromSearchShowAs[] = $locate->Translate("Campaign Name");
    $fieldsFromSearchShowAs[] = $locate->Translate("Campaign Note");
    $fieldsFromSearchShowAs[] = $locate->Translate("Group Name");
    $fieldsFromSearchShowAs[] = $locate->Translate("Server Name");
    $fieldsFromSearchShowAs[] = $locate->Translate("Balance");
    $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;
    $addFlag = 1;
    if ($_SESSION['curuser']['usertype'] != 'admin' && $_SESSION['curuser']['usertype'] != 'groupadmin') {
        if ($_SESSION['curuser']['privileges']['campaign']['delete']) {
            $deleteFlag = 1;
        } else {
            $deleteFlag = 0;
        }
        if ($_SESSION['curuser']['privileges']['campaign']['edit']) {
            $editFlag = 1;
        } else {
            $editFlag = 0;
        }
    }
    //如果是groupoperator 就没有添加 编辑和删除的功能
    if ($_SESSION['curuser']['usertype'] == 'groupoperator') {
        $addFlag = 0;
        $editFlag = 0;
        $deleteFlag = 0;
    }
    $table->setHeader('title', $headers, $attribsHeader, $eventHeader, $editFlag, $deleteFlag, 0);
    $table->setAttribsCols($attribsCols);
    $table->addRowSearchMore("campaign", $fieldsFromSearch, $fieldsFromSearchShowAs, $filter, $content, $start, $limit, $addFlag, 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=\"xajax_showDetail('" . $row['id'] . "');return false;\">" . $row['campaignname'] . "</a>";
        $rowc[] = $row['campaignnote'];
        $rowc[] = $row['groupname'];
        if ($row['serverid'] != 0) {
            $rowc[] = $row['servername'];
        } else {
            $rowc[] = $locate->Translate("Default server");
        }
        $total = astercrm::getCountByField('campaignid', $row['id'], 'diallist');
        #$dialed = $row['dialed'];
        #$answered = customer::getCountAnswered($row['id']);
        $rowc[] = $total . '/' . $row['dialed'] . '/' . $row['answered'];
        $rowc[] = $row['balance'];
        $rowc[] = $row['creby'];
        $rowc[] = $row['cretime'];
        $table->addRow("campaign", $rowc, $editFlag, $deleteFlag, 0, $divName, $fields);
    }
    // End Editable Zone
    $html = $table->render();
    return $html;
}
예제 #2
0
    function formAdd($surveyid = 0, $optionid = 0)
    {
        global $locate;
        $html = '
				<!-- No edit the next line -->
				<form method="post" name="f" id="f">
				
				<table border="1" width="100%" class="adminlist" id="tblSurvey">
				';
        $html .= '<tr><td colspan=2>
					' . $locate->Translate("survey_title") . '*
				</td></tr>';
        if ($surveyid == 0) {
            $html .= '<tr><td colspan=2>
						<input type="text" size="50" maxlangth="100" id="surveyname" name="surveyname"/>
					 </td></tr>';
            $html .= '<tr><td colspan=2>
						' . $locate->Translate("Survey Note") . '
					</td></tr>';
            $html .= '<tr><td colspan=2>
						<input type="text" size="50" maxlangth="254" id="surveynote" name="surveynote"/>
					 </td></tr>';
            $enable_html = '<tr>
								<td colspan=2>
								<input type="radio" value="1" id="radEnable" name="radEnable" checked>' . $locate->Translate("enable") . '
								<input type="radio" value="0" id="radEnable" name="radEnable">' . $locate->Translate("disable") . '
								</td>
							 </tr>';
        } else {
            $survey = Customer::getRecord($surveyid, 'survey');
            $nameCell = "TitleCol";
            $html .= '<tr><td colspan="2" id="' . $nameCell . '" style="cursor: pointer;"  onDblClick="xajax_editField(\'survey\',\'surveyname\',\'' . $nameCell . '\',\'' . $survey['surveyname'] . '\',\'' . $survey['id'] . '\');return false">' . $survey['surveyname'] . '<input type="hidden" id="surveyid" name="surveyid" value="' . $surveyid . '"/></td></tr>';
            $nameCell = "NoteCol";
            $html .= '<tr><td colspan=2>
						' . $locate->Translate("Survey Note") . '
					</td></tr>';
            $html .= '<tr><td colspan="2" id="' . $nameCell . '" style="cursor: pointer;"  onDblClick="xajax_editField(\'survey\',\'surveynote\',\'' . $nameCell . '\',\'' . $survey['surveynote'] . '\',\'' . $survey['id'] . '\');return false">' . $survey['surveynote'] . '&nbsp;</td></tr>';
            if ($survey['enable'] == 1) {
                $enable_html = '<tr>
								<td colspan=2>
								<input type="radio" value="1" id="radEnable" name="radEnable" checked>' . $locate->Translate("enable") . '
								<input type="radio" value="0" id="radEnable" name="radEnable">' . $locate->Translate("disable");
            } else {
                $enable_html = '<tr>
								<td colspan=2>
								<input type="radio" value="1" id="radEnable" name="radEnable" >' . $locate->Translate("enable") . '
								<input type="radio" value="0" id="radEnable" name="radEnable" checked>' . $locate->Translate("disable");
            }
            $enable_html .= '<input type="button" onclick="xajax_setSurvey(xajax.getFormValues(\'f\'));return false;" value="' . $locate->Translate("update") . '">
								</td>
							 </tr>';
        }
        $options = Customer::getOptions($surveyid);
        if ($options) {
            $ind = 0;
            while ($options->fetchInto($row)) {
                $nameRow = "formDivRow" . $row['id'];
                $nameCell = $nameRow . "Col" . $ind;
                $html .= '<tr id="' . $nameRow . '" >' . "\n";
                $item_html = "";
                if ($row['optiontype'] == "text") {
                } else {
                    $item_html = '(<a href=? onclick="showItem(\'' . $row['id'] . '\');return false;">' . $locate->Translate("Item") . '</a>)';
                }
                $option_item_number = astercrm::getCountByField("optionid", $row['id'], "surveyoptionitems");
                $html .= '
					<td align="left" width="25%">' . $locate->Translate("option") . '(<a href="?" onclick="xajax_edit(\'' . $surveyid . '\',\'' . $row['id'] . '\');return false;"><img src="skin/default/images/edit.png"></a><a href="?" onclick="deleteOption(\'' . $row['id'] . '\',\'' . $nameRow . '\');return false;"><img src="skin/default/images/trash.png"></a>)' . $item_html . '
					</td><td id="' . $nameCell . '" >' . $row['surveyoption'] . "(" . $locate->Translate($row['optiontype']) . ", {$option_item_number} " . $locate->Translate('items') . ")" . '</td></tr>
					<tr>
						<td align="left" width="25%">' . $locate->Translate("Option Note") . '</td>
						<td id="' . $nameCell . '_note">' . $row['optionnote'] . '</td>
					</tr>
					<tr><td colspan="2" height="1" bgcolor="#ccc"></td></tr>
					';
                $ind++;
            }
        }
        $html .= '<tr><td colspan=2>
					' . $locate->Translate("option") . '
				 </td></tr>';
        if ($optionid == 0) {
            $button_value = $locate->Translate("Add Option");
            $optionid = 0;
        } else {
            $button_value = $locate->Translate("Update Option");
            $option = astercrm::getRecordById($optionid, "surveyoptions");
            $optiontype[$option['optiontype']] = "selected";
        }
        $html .= '<tr><td colspan=2>' . $locate->Translate("Title") . ': 
					<input type="text" size="50" maxlength="50" id="surveyoption" name="surveyoption" value="' . $option['surveyoption'] . '"/>
					<SELECT id="optiontype" name="optiontype">
						<option value="radio" ' . $optiontype['radio'] . '>' . $locate->Translate("Radio") . '</option>
						<option value="checkbox" ' . $optiontype['checkbox'] . '>' . $locate->Translate("Checkbox") . '</option>
						<option value="text" ' . $optiontype['text'] . '>' . $locate->Translate("Text") . '</option>
					</SELECT>
					</td></tr>';
        $html .= '<tr><td colspan=2>' . $locate->Translate("Note") . ': 
					<input type="text" size="50" maxlength="254" id="optionnote" name="optionnote" value="' . $option['optionnote'] . '"/>
					<input type="button" value="' . $button_value . '" onclick="addOption(\'f\',\'' . $optionid . '\');return false;">
				 </td></tr>';
        $html .= $enable_html;
        if ($_SESSION['curuser']['usertype'] == 'admin') {
            $res = Customer::getGroups();
            $groupoptions .= '<select name="groupid" id="groupid" onchange="setCampaign();">';
            while ($row = $res->fetchRow()) {
                $groupoptions .= '<option value="' . $row['groupid'] . '"';
                if ($survey['groupid'] == $row['groupid']) {
                    $groupoptions .= ' selected';
                }
                $groupoptions .= '>' . $row['groupname'] . '</option>';
            }
            $groupoptions .= '</select>';
        } else {
            $groupoptions .= $_SESSION['curuser']['group']['groupname'] . '<input id="groupid" name="groupid" type="hidden" value="' . $_SESSION['curuser']['groupid'] . '">';
        }
        if ($survey['campaignid'] == 0) {
            $campaignoptions = '<option value="0">' . $locate->Translate("All") . '</option>';
        }
        $campaignres = Customer::getRecordsByGroupid($survey['groupid'], "campaign");
        while ($row = $campaignres->fetchRow()) {
            $campaignoptions .= '<option value="' . $row['id'] . '"';
            if ($survey['campaignid'] == $row['id']) {
                $campaignoptions .= ' selected';
            }
            $campaignoptions .= '>' . $row['campaignname'] . '</option>';
        }
        $html .= '
					<tr>
						<td align="left" width="25%">' . $locate->Translate("Group Name") . '</td>
						<td>' . $groupoptions . '</td>
					</tr>
					<tr>
						<td align="left" width="25%">' . $locate->Translate("Campaign Name") . '*</td>
						<td><SELECT id="campaignid" name="campaignid">' . $campaignoptions . '</SELECT></td>
					</tr>';
        $html .= '
				</table>
				</form>
				' . $locate->Translate("obligatory_fields") . '
				';
        return $html;
    }