/** * 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; }
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'] . ' </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; }