Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- $urlPrefix="../";
- include($urlPrefix."config.php");
- if(!defined("CONFIG")){ header("$SERVER_PROTOCOL 404 Not Found"); exit; }
- include($urlPrefix."admin/auth.php");
- if(!function_exists("form_function")){
- FUNCTION form_function($type="html", $arr=Array() ){
- $return = Array("success"=>false, "globalError"=>"Error!");
- if($type=="rebuild"){
- reset($arr); $connectionHash = ""; $conn = false;
- while ( list($k, $Form) = each($arr)){
- //echo $Form["formFields"]; exit;
- if( !is_array($Form["formFields"]) || !sizeof($Form["formFields"]) ) { continue; }
- reset($Form["formFields"]);
- while(list($kk, $FormField) = each($Form["formFields"]) ){
- if( !is_array($FormField) || !sizeof($FormField) ) { continue; }
- if( !isset($FormField["buildOptionsFromSQL"]) || !strlen($FormField["buildOptionsFromSQL"]) ) { continue; }
- $newHash = "hash ".$Form["mysqlServer"]." ".$Form["mysqlUser"]." ".$Form["mysqlPassword"]." ";
- if($connectionHash!==$newHash){
- if($conn!==false) { @mysql_close($conn); }
- $conn = @mysql_connect($Form["mysqlServer"], $Form["mysqlUser"], $Form["mysqlPassword"]);
- $connectionHash=$newHash;
- }
- if( $conn===false || mysql_select_db($Form["mysqlDatabase"], $conn)===false ){ return $return; }
- $result = mysql_query($FormField["buildOptionsFromSQL"], $conn); $mysql_error = mysql_error($conn);
- if($mysql_error!="") { @mysql_close($conn); $return["globalError"]="File:".__FILE__." Line:$line MysqlQuery:\r\n".$sql."\r\n---\r\n".$mysql_error; return $return; }
- $arr[$k]["formFields"][$kk]["options"] = Array("0"=>"N/A");
- while($rowArr = mysql_fetch_array($result) ){
- $arr[$k]["formFields"][$kk]["options"][$rowArr["k"]]=$rowArr["v"];
- }
- }
- }
- @mysql_close($conn);
- $return["success"]=true;
- $return["arr"]=$arr;
- return $return;
- }
- if( !isset($arr["formFields"]) && !sizeof($arr["formFields"]) ) { return $return; }
- $maxLimit = 3000; $defaultLimit=3;
- $limit = ($arr["formMethod"]=="POST") ? abs(intval($_POST["limit"])) : abs(intval($_GET["limit"]));
- $limit = ( $limit <=1 ) ? $defaultLimit : ( ($limit > $maxLimit) ? $maxLimit : $limit );
- $page = ($arr["formMethod"]=="POST") ? abs(intval($_POST["page"])) : abs(intval($_GET["page"]));
- $orderArr = Array(1=>"ASC", 2=>"DESC");
- $orderDir = ($arr["formMethod"]=="POST") ? abs(intval($_POST["orderDir"])) : abs(intval($_GET["orderDir"]));
- $orderDir = (isset($orderArr[$orderDir])) ? $orderDir : 1;
- $orderField = ($arr["formMethod"]=="POST") ? stripslashes($_POST["orderField"]) : stripslashes($_GET["orderField"]);
- $orderField = (@strlen($orderField)) ? $orderField : false;
- $checkFunctions = Array(
- "minlength"=>Array("jsUse"=>false, "jsCode"=>"function(e, c){\r\n if( typeof(e)==\"undefined\" || typeof(e.tagName)==\"undefined\") { return false; }\r\n".
- " if(e.value.replace(/\\s/g, \"\").length < c ) { e.style.color=\"red\"; return false; }else{ e.style.color=\"\"; return true; }\r\n}" )
- );
- if( $type=="delete" ){
- $idList = preg_split('/[^\d+]/', (($arr["formMethod"]=="POST") ? $_POST["idList"] : $_GET["idList"]), 50, PREG_SPLIT_NO_EMPTY);
- if(!sizeof($idList)) { @mysql_close($conn); return $return; }
- if( isset($arr["preventDeleteAndDisableID"]) && in_array($arr["preventDeleteAndDisableID"], $idList) ){
- $return["success"]=false;
- $return["globalError"] = "�� �� ������ ������� ��� ������!";
- $return["javascript"]="top.oParent.className=top.oldPCn;";
- return $return;
- }
- if( !empty($arr["disable_delete"]) ){
- $return["success"]=false;
- $return["globalError"] = "�������� ���������!";
- $return["javascript"]="top.oParent.className=top.oldPCn;";
- return $return;
- }
- //--���������� ������� �� ��������
- if( isset($arr["onbeforedelete"]) && function_exists($arr["onbeforedelete"]) ){
- $onbeforedelete_result = $arr["onbeforedelete"]($idList[0]);
- }
- //--
- $conn = @mysql_connect($arr["mysqlServer"], $arr["mysqlUser"], $arr["mysqlPassword"]);
- if( $conn===false || mysql_select_db($arr["mysqlDatabase"], $conn)===false ){ return $return; }
- $line=__LINE__; $sql = "DELETE FROM ".$arr["mysqlTable"]." WHERE id IN(".implode(",", $idList).");";
- //write_log [--
- mysql_query('INSERT INTO `'.$GLOBALS['adm_log_table'].'` SET `inserted`=NOW(), `admin_id`=\''.addslashes($GLOBALS['u_id']).'\', `table`=\''.addslashes($arr["mysqlTable"]).'\', `sql`=\''.addslashes($sql).'\' ', $conn);
- // --]
- $result = mysql_query($sql, $conn); $mysql_error = mysql_error($conn);
- if($mysql_error!="") { @mysql_close($conn); $return["globalError"]="File:".__FILE__." Line:$line MysqlQuery:\r\n".$sql."\r\n---\r\n".$mysql_error; return $return; }
- @mysql_close($conn);
- //--����������� ������� ����� ��������
- if( isset($arr["ondelete"]) && function_exists($arr["ondelete"]) ){
- $arr["ondelete"]($onbeforedelete_result);
- }
- //--
- $return["success"]=true;
- $return["javascript"]="BBSdArr[\"rowsArr\"]=Array(\r\n";
- reset($idList); $separator="";
- while(list(,$v)=each($idList)){
- $return["javascript"].=$separator."Array(\"".$v."\")";
- $separator=",\r\n ";
- }
- $return["javascript"].=");\r\n";
- return $return;
- }
- if( $type=="search" || $type=="add" || $type=="update" ){
- $fieldName = ( $type=="update" ) ? (($arr["formMethod"]=="POST") ? $_POST["fieldName"] : $_GET["fieldName"]) : false;
- $fieldValue = ( $type=="update" ) ? (($arr["formMethod"]=="POST") ? $_POST["fieldValue"] : $_GET["fieldValue"]) : false;
- reset($arr["formFields"]);
- $sqlSelect = ""; $sqlWhere=""; $sqlOrder=""; $selectSeparator=""; $whereSeparator="";
- $sqlSet = ""; $setSeparator = ""; $uniqueWhere = ""; $uniqueSeparator = ""; $updatedOptionValue=false;
- $columnListArr = Array();
- while( list(,$field) = each($arr["formFields"]) ){
- if( ( $type=="add" || $type=="update" ) && $field["type"]=="timestamp" ){
- $sqlSet.=$setSeparator.$arr["mysqlTable"].".".$field["name"]."=NOW()"; $setSeparator=", ";
- }
- if( $type=="update" && $field["name"]!=$fieldName ) { continue; }
- if( $field["type"]!="id" && $field["createField"]!==true && $field["createColumn"]!==true ) { continue; }
- $oName = ($type=="update") ? $fieldName : ((@strlen($field["nameAlias"])) ? $field["nameAlias"] : $field["name"]);
- $oValue = ($type=="update") ? $fieldValue : (($arr["formMethod"]=="POST") ? $_POST[$oName] : $_GET[$oName]);
- $oValue = (@strlen($oValue)) ? trim(stripslashes($oValue)) : (($type=="update") ? "" : false);
- $likeValue = preg_replace(Array("'[%_]'", "'\?'" ), Array("\\\\\\0", "_" ), addslashes(str_replace("\\", "\\\\",$oValue)))."%";
- if( $orderField!==false && $orderField==$oName ) {
- $sqlOrder=' ORDER BY '.(($orderField=='login') ? ' LENGTH(login) ' : $field["name"]).' '.$orderArr[$orderDir];
- }
- if( $field["createColumn"]===true || $field["type"]=="id" ){
- if($field["type"]=="id"){
- $columnListArr["id"]=Array();
- $sqlSelect.=$selectSeparator.$arr["mysqlTable"].".".$field["name"];
- $selectSeparator=", ";
- }else{
- $columnListArr[$oName]=Array(
- "width"=>( (abs($field["columnWidth"])) ? abs($field["columnWidth"]) : ((abs($field["width"])) ? $field["width"] : 20)),
- "title"=>$field["title"],
- "order"=>(($orderField==$oName || $orderField=='login' ) ? $orderDir : 0),
- "type"=>$field["type"] );
- if(isset($field['onupdate']) && function_exists($field['onupdate'])){
- $columnListArr[$oName]['onupdate']=$field['onupdate'];
- }
- }
- if($field["type"]=="date" || $field["type"]=="datetime"){
- if($oValue===false || !preg_match('/(?P<day>\d{2})\.(?P<month>\d{2})\.(?P<year>\d{4})(?: (?P<hour>\d{2})\:(?P<minute>\d{2})|)/', $oValue, $dtm) ){
- $sqlSet.=$setSeparator.$arr["mysqlTable"].".".$field["name"]."=NOW()"; $setSeparator=", ";
- $oValue=date('d.m.Y H:i', time());
- }else{
- $dtm=mktime( $dtm['hour'] , $dtm['minute'], $dtm['second'], $dtm['month'], $dtm['day'], $dtm['year'] );
- $oValue=date('d.m.Y H:i', $dtm);
- $sqlSet.=$setSeparator.$arr["mysqlTable"].".".$field["name"]."='".date('Y-m-d H:i:s', $dtm)."'";
- $setSeparator=", ";
- }
- $sqlSelect.=$selectSeparator."DATE_FORMAT(".$arr["mysqlTable"].".".$field["name"].", '%d.%m.%Y".(($field["type"]=="datetime") ? " %H:%i" : "")."')";
- $selectSeparator=", ";
- }
- if($field["type"]=="password" || $field["type"]=="password_md5" || $field["type"]=="password_sha1"){
- $sqlSelect.=$selectSeparator." ' ' AS ".$field["name"];
- $selectSeparator=", ";
- }
- if($field["type"]=="checkbox"){
- $sqlSelect.=$selectSeparator." IF(".$arr["mysqlTable"].".".$field["name"]."='".$field["defaultValue"]."', '�', '') AS ".$field["name"];
- $selectSeparator=", ";
- }
- if($field["type"]=="IPv4"){
- $sqlSelect.=$selectSeparator." INET_NTOA(".$arr["mysqlTable"].".".$field["name"].") ";
- $selectSeparator=", ";
- }
- if($field["type"]=="text"||$field["type"]=="email"||$field["type"]=="select"){
- $sqlSelect.=$selectSeparator.$arr["mysqlTable"].".".$field["name"];
- $selectSeparator=", ";
- }
- }
- if( $field["createField"]===true && $oValue !==false ){
- if( !empty($field["disable_edit"]) && $type=="update" ){ //������ �� ��������������
- $return["success"]=false;
- $return["globalError"].="\r\n� 12.08.2014 18:10:00 ���� [".$field["title"]."] ��������� �������������.";
- @mysql_close($conn);
- return $return;
- }
- if(isset($field["check"]["minlength"])){
- if(strlen($oValue) < abs($field["check"]["minlength"])) {
- $return["success"]=false;
- $return["globalError"].="\r\n���� [".$field["title"]."] ���������� ���. ".$field["check"]["minlength"]." ����.";
- @mysql_close($conn);
- return $return;
- }
- }
- if(isset($field["check"]["maxlength"])){
- if(strlen($oValue) > abs($field["check"]["maxlength"])) {
- $return["success"]=false;
- $return["globalError"].="\r\n���� [".$field["title"]."] �� ����� ������� ����� ".$field["check"]["maxlength"]." ����.";
- @mysql_close($conn);
- return $return;
- }
- }
- if(isset($field["check"]["unique"])){
- $uniqueWhere.=$uniqueSeparator.$arr["mysqlTable"].".".$field["name"].
- (($field["check"]["unique"]["caseSensitive"]===true) ? "='".addslashes($oValue)."'" : " LIKE '".preg_replace(Array("'[%_]'"), Array("\\\\\\0"), addslashes($oValue))."'");
- $return["globalError"].="\r\n".$field["check"]["unique"]["errorMsg"];
- $uniqueSeparator=" OR ";
- }
- if($field["type"]=="id"){
- $ids = preg_split('/[^\d+]/', $oValue, 50, PREG_SPLIT_NO_EMPTY);
- if(sizeof($ids)===0) { continue; }
- $sqlWhere.=$whereSeparator.$arr["mysqlTable"].".".$field["name"].((sizeof($ids)>1) ? " IN(".implode(",", $ids).")" : "='".implode(",", $ids)."'");
- $whereSeparator=" AND ";
- }
- if($field["type"]=="checkbox"){
- $sqlSet.=$setSeparator.$arr["mysqlTable"].".".$field["name"]."='".(($oValue=="�") ? addslashes($field["defaultValue"]) : 0)."'"; $setSeparator=", ";
- $sqlWhere.=$whereSeparator.$arr["mysqlTable"].".".$field["name"]."='".(($oValue=="�") ? addslashes($field["defaultValue"]) : 0)."'";
- $whereSeparator=" AND ";
- }
- if($field["type"]=="password_md5"){
- $sqlSet.=$setSeparator.$arr["mysqlTable"].".".$field["name"]."=MD5('".addslashes($oValue)."')"; $setSeparator=", ";
- }
- if($field["type"]=="password_sha1"){
- $sqlSet.=$setSeparator.$arr["mysqlTable"].".".$field["name"]."=SHA1('".addslashes($oValue)."')"; $setSeparator=", ";
- }
- if($field["type"]=="password"){
- $sqlSet.=$setSeparator.$arr["mysqlTable"].".".$field["name"]."='".addslashes($oValue)."'"; $setSeparator=", ";
- }
- if($field["type"]=="select"){
- $oValue = abs(intval($oValue));
- $sqlSet.=$setSeparator.$arr["mysqlTable"].".".$field["name"]."='".$oValue."'"; $setSeparator=", ";
- $updatedOptionValue = $field["options"][abs($oValue)];
- if($oValue > 0){
- $sqlWhere.=$whereSeparator.$arr["mysqlTable"].".".$field["name"]."='".$oValue."'";
- $whereSeparator=" AND ";
- }
- }
- if($field["type"]=="IPv4"){
- $sqlSet.=$setSeparator.$arr["mysqlTable"].".".$field["name"]."=INET_ATON('".addslashes(trim($oValue))."')"; $setSeparator=", ";
- $sqlWhere.=$whereSeparator.$arr["mysqlTable"].".".$field["name"]."=INET_ATON('".$oValue."')";
- $whereSeparator=" AND ";
- }
- if($field["type"]=="text" || $field["type"]=="email"){
- $sqlSet.=$setSeparator.$arr["mysqlTable"].".".$field["name"]."='".addslashes(trim($oValue))."'"; $setSeparator=", ";
- $sqlWhere.=$whereSeparator.$arr["mysqlTable"].".".$field["name"]." LIKE '".$likeValue."'";
- $whereSeparator=" AND ";
- }
- }
- }
- if( $type!="delete" && !strlen($sqlSelect) ){
- $return["globalError"] = "Error! �� ��������� ����. ��� ���� createColumn=false";
- return $return;
- }
- $conn = @mysql_connect($arr["mysqlServer"], $arr["mysqlUser"], $arr["mysqlPassword"]);
- if( $conn===false || mysql_select_db($arr["mysqlDatabase"], $conn)===false ){ return $return; }
- if($type=="update"){
- if( strlen($uniqueWhere) ){
- $line=__LINE__; $sql = "SELECT COUNT(*) FROM ".$arr["mysqlTable"]." WHERE ".$uniqueWhere;
- $result = mysql_query($sql, $conn); $mysql_error = mysql_error($conn);
- if($mysql_error!="") { @mysql_close($conn); $return["globalError"]="File:".__FILE__." Line:$line MysqlQuery:\r\n".$sql."\r\n---\r\n".$mysql_error; return $return; }
- $rows = abs(mysql_result($result, 0));
- if($rows!=0) {
- @mysql_close($conn);
- $return["success"]=false;
- return $return;
- }
- }
- $idList = preg_split('/[^\d+]/', (($arr["formMethod"]=="POST") ? $_POST["idList"] : $_GET["idList"]), 50, PREG_SPLIT_NO_EMPTY);
- $line=__LINE__; $sql = "UPDATE ".$arr["mysqlTable"]." SET ".$sqlSet." WHERE id IN(".implode(",", $idList).");";
- //write_log [--
- mysql_query('INSERT INTO `'.$GLOBALS['adm_log_table'].'` SET `inserted`=NOW(), `admin_id`=\''.addslashes($GLOBALS['u_id']).'\', `table`=\''.addslashes($arr["mysqlTable"]).'\', `sql`=\''.addslashes($sql).'\' ', $conn);
- // --]
- $result = mysql_query($sql, $conn); $mysql_error = mysql_error($conn);
- if($mysql_error!="") { @mysql_close($conn); $return["globalError"]="File:".__FILE__." Line:$line MysqlQuery:\r\n".$sql."\r\n---\r\n".$mysql_error; return $return; }
- @mysql_close($conn);
- if($updatedOptionValue!==false) { $oValue=$updatedOptionValue; }
- $return["success"]=true;
- // [ -- onupdate
- reset($columnListArr);
- foreach($idList as $key=>$value){
- list($k,$v) = each($columnListArr);
- if(isset($v['onupdate']) && function_exists($v['onupdate'])){
- $v['onupdate']($value, $oValue);
- }
- }
- // -- ]
- $return["javascript"]="BBSdArr[\"rowsArr\"]=Array(\r\n".
- "Array(\"".implode(",", $idList)."\", \"".preg_replace(Array("'\\\'", "'\"'", "'�'", "'[\r\n]'", "' '", "'<'", "'>'"), Array("\\\\\\", "\\\"", "\\\�", "", "", "<", ">"), $oValue)."\")".
- ");\r\n";
- return $return;
- }
- if($type=="add"){
- if(!strlen($uniqueWhere)){
- $line=__LINE__; $sql = "INSERT INTO ".$arr["mysqlTable"]." SET ".$sqlSet;
- //write_log [--
- mysql_query('INSERT INTO `'.$GLOBALS['adm_log_table'].'` SET `inserted`=NOW(), `admin_id`=\''.addslashes($GLOBALS['u_id']).'\', `table`=\''.addslashes($arr["mysqlTable"]).'\', `sql`=\''.addslashes($sql).'\' ', $conn);
- // --]
- $result = mysql_query($sql, $conn); $mysql_error = mysql_error($conn);
- if($mysql_error!="") { @mysql_close($conn); $return["globalError"]="File:".__FILE__." Line:$line MysqlQuery:\r\n".$sql."\r\n---\r\n".$mysql_error; return $return; }
- $sqlWhere=" id=".abs(mysql_insert_id($conn));
- $return["success"]=true;
- }else{
- $sqlWhere = $uniqueWhere;
- }
- }
- $line=__LINE__; $sql = "SELECT COUNT(*) FROM ".$arr["mysqlTable"].( (strlen($sqlWhere) ) ? " WHERE ".$sqlWhere : "" );
- $result = mysql_query($sql, $conn); $mysql_error = mysql_error($conn);
- if($mysql_error!="") { @mysql_close($conn); $return["globalError"]="File:".__FILE__." Line:$line MysqlQuery:\r\n".$sql."\r\n---\r\n".$mysql_error; return $return; }
- $rows = abs(mysql_result($result, 0));
- if( $rows!=0 && $type=="add" && strlen($uniqueWhere) ){ @mysql_close($conn); return $return; }
- if( $rows==0 && $type=="add" && strlen($uniqueWhere) ){
- $line=__LINE__; $sql = "INSERT INTO ".$arr["mysqlTable"]." SET ".$sqlSet;
- //write_log [--
- mysql_query('INSERT INTO `'.$GLOBALS['adm_log_table'].'` SET `inserted`=NOW(), `admin_id`=\''.addslashes($GLOBALS['u_id']).'\', `table`=\''.addslashes($arr["mysqlTable"]).'\', `sql`=\''.addslashes($sql).'\' ', $conn);
- // --]
- $result = mysql_query($sql, $conn); $mysql_error = mysql_error($conn);
- if($mysql_error!="") { @mysql_close($conn); $return["globalError"]="File:".__FILE__." Line:$line MysqlQuery:\r\n".$sql."\r\n---\r\n".$mysql_error; return $return; }
- $sqlWhere=" id=".abs(mysql_insert_id($conn));
- $rows=1; $orderField=false; $page=0;
- }
- $return["success"]=true;
- $return["javascript"]="BBSdArr[\"total_rows\"]=".$rows.";\r\n";
- if($rows==0) {
- $return["success"]=($type=="insert") ? false : true;
- @mysql_close($conn); return $return;
- }
- $rulerSize = ( $rows!=$limit && intval($rows / $limit) >=1 ) ? ( ( intval($rows / $limit) < ($rows / $limit) ) ? intval($rows / $limit)+1 : intval($rows / $limit) ) : 0;
- $page = ( $page > $rulerSize ) ? $rulerSize : $page;
- $startRow = 0;
- if( $page!=0 ){
- $startRow = (( ($limit*$page) > $rows ) ? ($limit*($page-1))+1 : ($limit*$page));
- $sqlLimit = "LIMIT ".$startRow.",".$limit;
- }else{
- $sqlLimit = "LIMIT ".$limit;
- }
- $sqlOrder = ( $orderField!==false ) ? "ORDER BY ".$orderField." ".$orderArr[$orderDir] : "";
- $line=__LINE__; $sql = "SELECT ".$sqlSelect." FROM ".$arr["mysqlTable"].( (strlen($sqlWhere)) ? " WHERE ".$sqlWhere : "" )." ".$sqlOrder." ".$sqlLimit;
- $result = mysql_query($sql, $conn); $mysql_error = mysql_error($conn);
- @mysql_close($conn);
- if($mysql_error!="") { $return["globalError"]="File:".__FILE__." Line:$line MysqlQuery:\r\n".$sql."\r\n---\r\n".$mysql_error; return $return; }
- $return["globalError"]="";
- $return["javascript"].=
- "BBSdArr[\"page_length\"]=".$rulerSize.";\r\n".
- "BBSdArr[\"page\"]=".$page.";\r\n".
- "BBSdArr[\"startRow\"]=".$startRow.";\r\n".
- "BBSdArr[\"columnsArr\"]=Array(";
- reset($columnListArr); $separator="";
- while( list($key, $val) = each($columnListArr) ){
- $return["javascript"].=$separator."Array(\"".$key."\", \"".$val["title"]."\", ".abs($val["width"]).", ".abs($val["order"]).", \"".$val["type"]."\")";
- $separator=", ";
- }
- $return["javascript"].=");\r\n".
- "BBSdArr[\"rowsArr\"]=Array(\r\n";
- $separator="";
- while( $row = mysql_fetch_row($result) ){
- $return["javascript"].=$separator."Array(";
- $sep="";
- while( list(, $v) = each($row) ) {
- $return["javascript"].=$sep."\"".preg_replace(Array("'\\\'", "'\"'", "'�'", "'[\r\n]'", "' '", "'<'", "'>'"), Array("\\\\\\", "\\\"", "\\\�", "", "", "<", ">"), $v)."\"";
- $sep=",";
- }
- $return["javascript"].=")";
- $separator=",\r\n";
- }
- $return["javascript"].=");\r\n";
- return $return;
- }
- reset($arr["formFields"]); $separator=$return["fields"]=$return["columns"]="";
- $jsBBSFormCheckElements="";
- while( list(,$field) = each($arr["formFields"]) ){
- $return["fields"].=(!is_array($field)) ? $field : "";
- $oName = (@strlen($field["nameAlias"])) ? $field["nameAlias"] : $field["name"];
- if( is_array($field) && $field["createColumn"] ){
- $return["columns"].=$separator."<td".( (@strlen($field["width"])) ? " style=\"width:".$field["width"]."px\"" : "" )."><button><div>".$field["title"]."</div></button></td>";
- $separator="<td class=resize></td>";
- }
- if( !is_array($field) || $field["createField"]!==true) { continue; }
- $is_required = (isset($field["check"]) && $field["check"]["minlength"]) ? true : false;
- if( isset($field["check"]) && sizeof($field["check"]) ){
- while( list($k, $v) = each($field["check"]) ){
- if(!isset($checkFunctions[$k])) { continue; }
- $checkFunctions[$k]["jsUse"]=true;
- }
- reset($field["check"]);
- }
- $recuiredSimbol = ($is_required) ? "<span class=required title=\"����������� � ����������\">!</span> " : "";
- if( $field["type"]=="text" || $field["type"]=="password" || $field["type"]=="password_md5" || $field["type"]=="password_sha1" || $field["type"]=="email" || $field["type"]=="IPv4" ){
- $return["fields"].="<div class=field>".
- "<span class=label>".$recuiredSimbol.$field["title"].(($is_required) ? " (".$field["check"]["minlength"]."-".$field["check"]["maxlength"].")" : "" )."</span>".
- "<div>\r\n".
- "<input type=text name=\"".$oName."\"".
- " value=\"".( (@strlen($field["defaultValue"])) ? preg_replace(Array("'\"'", "[\r\n]"), Array(""", " "), $field["defaultValue"]) : "" )."\"".
- ( (@strlen($field["width"])) ? " style=\"width:".$field["width"]."px\"" : "" ).
- " class=text>\r\n".
- "</div></div>\r\n";
- $jsBBSFormCheckElements.=( isset($field["check"]["minlength"]) ) ?
- "ad=( BBScf.minlength(frm[\"".$oName."\"], ".$field["check"]["minlength"].") && (ad==null || ad==false) ) ? false : true;\r\n" : "";
- }
- if( $field["type"]=="checkbox" ){
- $return["fields"].="<div class=field>".
- "<span class=label>".$recuiredSimbol.$field["title"]."</span>".
- "<div><table cellpadding=0 cellspacing=0 border=0><tr align=center><td width=24 height=24>\r\n".
- "<input type=checkbox name=\"".( (@strlen($field["nameAlias"])) ? $field["nameAlias"] : $field["name"] )."\"".
- " value=\"�\" ".( ( $field["defaultChecked"]===true) ? " checked" : "" )." class=checkbox>\r\n".
- "</td><td>".$field["description"]."</td></tr></table></div></div>\r\n";
- }
- if( $field["type"]=="select" ){
- $return["fields"].="<div class=field>".
- "<span class=label>".$recuiredSimbol.$field["title"]."</span>".
- "<div>\r\n".
- "<select name=\"".( (@strlen($field["nameAlias"])) ? $field["nameAlias"] : $field["name"] )."\"".
- " class=select ".((strlen($field["width"])) ? " style=\"width:".$field["width"]."px\"" : "").">\r\n";
- if(is_array($field["options"])){
- reset($field["options"]);
- while( list($oK,$oV) =each($field["options"]) ){
- $return["fields"].="<option value=\"".$oK."\"".(($oK==$field["defaultValue"]) ? " selected" : "").">".$oV."</option>\r\n";
- }
- }
- $return["fields"].="</select></div></div>\r\n";
- }
- }
- $jsBBSFormCheck="<script language=JavaScript>\r\n".
- "if(typeof(BBScf)==\"undefined\"){ var BBScf = new Object(); }\r\n".
- "var BBS".$arr["mysqlTable"]."Valid=false;\r\n";
- while(list($k, $v) = each($checkFunctions)){
- if( isset($v["jsCode"]) && $v["jsUse"]!==true ){ continue; }
- $jsBBSFormCheck.="BBScf.".$k."=".$v["jsCode"]."\r\n";
- }
- $jsBBSFormCheck.="function BBS".$arr["mysqlTable"]."Check(){\r\n".
- "ad=null;\r\n".
- "frm = document.forms[\"bbs_".$arr["mysqlTable"]."_form\"];\r\n".
- $jsBBSFormCheckElements.
- "elm = doc(\"bbs_".$arr["mysqlTable"]."_addButton\"); elm.disabled=ad; elm.className=(ad) ? 'disabled' : '';\r\n".
- "return (ad==null || ad===true) ? false : true;\r\n".
- "}\r\n".
- "function BBS".$arr["mysqlTable"]."Submit(a){\r\n".
- " frm=document.forms[\"bbs_".$arr["mysqlTable"]."_form\"];\r\n".
- " frm[\"use\"].value=\"\";\r\n".
- "if(a==\"full_search\"){\r\n".
- " frm[\"use\"].value=\"search\";\r\n".
- " frm.submit();\r\n".
- " }\r\n".
- "if(a==\"add\"){\r\n".
- " if(!confirm(\"�������� ����� ������?\")) { return false; }\r\n".
- " frm[\"use\"].value=\"add\";\r\n".
- " frm.submit();\r\n".
- " }\r\n".
- "}\r\n".
- "BBStmp = document.forms[\"bbs_".$arr["mysqlTable"]."_form\"];\r\n".
- "BBStmp.onsubmit=BBS".$arr["mysqlTable"]."Check;\r\n".
- "for(i=0; i < BBStmp.elements.length; i++ ){\r\n".
- "e = BBStmp.elements[i];\r\n".
- "if(typeof(e.type)==\"undefined\"){ continue; }\r\n".
- "if(e.type=='text'){\r\n".
- "e.onkeyup=BBS".$arr["mysqlTable"]."Check;\r\n".
- "e.onblur=BBS".$arr["mysqlTable"]."Check;\r\n".
- "e.change=BBS".$arr["mysqlTable"]."Check;\r\n".
- "}\r\n".
- "}\r\n".
- "</script>\r\n";
- $return["html"]="<table cellpadding=0 cellspacing=0 border=0 width=100% class=bbsFrm>\r\n".
- "<tr><td class=caption>[ ".$arr["formTitle"]." ]</td>".
- "<td class=toolbar align=center style=\"border-width:0;\">".
- "<div class=loading>".
- "<iframe name=bbs_".$arr["mysqlTable"]."_port width=60 height=15 frameborder=0 allowtransparency=true vspace=0 scrolling=no ".
- "style=\"background-color:transparent;\" src=0.htm></iframe></div>".
- "</td>".
- "<td class=columns valign=bottom style=\"padding:0px;\" id=bbs_".$arr["mysqlTable"]."_columns> </td></tr>\r\n".
- "<tr valign=top><td width=30%>".
- "<form autocomplete=off target=bbs_".$arr["mysqlTable"]."_port name=\"bbs_".$arr["mysqlTable"]."_form\" ".
- ((@strlen($arr["formMethod"]) ? " method=".$arr["formMethod"] : "")).
- ((@strlen($arr["formAction"]) ? " action=".$arr["formAction"] : "")).
- ">\r\n".
- "<input type=hidden name=table value=".$arr["mysqlTable"].">\r\n".
- "<input type=hidden name=use value=\"search\">\r\n".
- "<input type=hidden name=page value=\"0\">\r\n".
- "<table cellpadding=0 cellspacing=0 border=0>".
- $return["fields"].
- "</table></td>\r\n".
- "<td width=2% class=toolbar>".
- "<div style=padding-right:2px;text-align:right>".
- "<button type=reset title=\"�������� �����\" style=\"width:20px; height:20px; margin:0px; padding:0px; float:left;\"><div>X</div></button>".
- "<select name=limit class=limit title=\"���-�� ������� �� ��������\" style=\"width:40px;\"><option>20</option><option>40</option><option selected>100</option><option>1000</option><option>3000</option></select></div>".
- "<button id=bbs_".$arr["mysqlTable"]."_searchButton title=\"����� � ������ ���� �����\" onclick=\"BBS".$arr["mysqlTable"]."Submit('full_search')\"><div>".
- "<img src=images/search.gif width=24 height=24><br>�����</div></button></form><br>".
- "<button id=bbs_".$arr["mysqlTable"]."_addButton class=disabled onclick=\"BBS".$arr["mysqlTable"]."Submit('add')\" disabled><div>".
- "<img src=images/add.gif width=24 height=24><br>�������</div></button><br>".
- "</td>".
- "<td width=68% class=listView><div class=Area id=bbs_".$arr["mysqlTable"]."_listView style=\"height:".$arr["formHeight"]."px;\"> </div></td></tr>\r\n".
- "<tr height=22 class=status><td align=center id=bbs_".$arr["mysqlTable"]."_status> </td>".
- "<td class=toolbar align=right style=\"border-width:0;\">".
- "</td>".
- "<td style=\"border-top-style: solid; border-top-width: 1px; border-top-color: #FFFFFF;\">".
- "<span id=bbs_".$arr["mysqlTable"]."_ruller style=\"width:100%\"> </span>".
- "</td></tr>".
- "</table>".
- "<form autocomplete=off target=bbs_".$arr["mysqlTable"]."_port name=bbs_".$arr["mysqlTable"]."_singleForm ".
- ((@strlen($arr["formMethod"]) ? " method=".$arr["formMethod"] : "")).
- ((@strlen($arr["formAction"]) ? " action=".$arr["formAction"] : "")).
- ">\r\n".
- "<input type=hidden name=idList value=\"\">\r\n".
- "<input type=hidden name=fieldName value=\"\">\r\n".
- "<input type=hidden name=fieldValue value=\"\">\r\n".
- "<input type=hidden name=table value=".$arr["mysqlTable"].">\r\n".
- "<input type=hidden name=use value=\"\">\r\n".
- "<input type=hidden name=page value=\"0\">\r\n".
- "</form>".
- $jsBBSFormCheck;
- return $return;
- }
- }
- include("form_config.php");
- $body="";
- if(isset($FormArr) && sizeof($FormArr)){
- $tmp = form_function("rebuild", $FormArr);
- if($tmp["success"]==true) {
- $FormArr = $tmp["arr"]; unset($tmp);
- }else{
- echo $tmp["globalError"];
- exit;
- }
- $use = "";
- $table = ( isset($_POST["table"]) ) ? $_POST["table"] : $_GET["table"];
- if( strlen($table) >2 && strlen($table) < 255 && isset($FormArr[$table]) ){
- $use = ($FormArr[$table]["formMethod"]=="POST" && !isset($_GET["use"])) ? $_POST["use"] : $_GET["use"];
- $use = (strlen($use) >2 && strlen($use) < 255) ? $use : "";
- }
- if( strlen($use) ) {
- if( $use=='vcard' ){
- if( !isset($FormArr[$table]['vcardFunction']) || !function_exists($FormArr[$table]['vcardFunction']) ){
- $body="<p><font size=\"2\" color=\"red\">��� ������ �������, �������� �� �������������!</font></p>";
- }else{
- $id = ( isset($_POST["id"]) ) ? $_POST["id"] : $_GET["id"];
- $body=$FormArr[$table]['vcardFunction'](addslashes($id));
- }
- echo "<html><head>\r\n".
- "<meta http-equiv=\"Content-Type\" content=\"text/html; charset=windows-1251\">\r\n".
- '<META HTTP-EQUIV="MSTHEMECOMPATIBLE" CONTENT="no">'."\r\n".
- "<style><!--\r\n".
- "BODY, FONT, TD { font-family: Arial, Helvetica, sans-serif; }\r\n".
- "--></style>\r\n".
- "<title></title>\r\n".
- "<body bgcolor=\"#FFFFFF\">".
- $body.
- "</body></html>";
- exit;
- }
- $dataArr = form_function( $use, $FormArr[$table] );
- echo "<html><head>\r\n".
- "<meta http-equiv=\"Content-Type\" content=\"text/html; charset=windows-1251\">\r\n".
- "<title></title>\r\n".
- "<body bgcolor=".(($dataArr["success"]!==true) ? "red" : "#6E99ED").">\r\n<script Language=\"JavaScript\">\r\n".
- "var BBSdArr = new Array();\r\n".
- (($dataArr["success"]!==true) ? "BBSdArr[\"errorMsg\"]=\"".preg_replace(Array("[\r\n]"), Array("\\n"), addslashes($dataArr["globalError"]))."\";\r\n" : "").
- $dataArr["javascript"].
- "BBSdArr[\"use\"]=\"".$use."\";\r\n".
- "BBSdArr[\"table\"]=\"".$table."\";\r\n".
- "top.BBSlistView(BBSdArr);\r\n".
- "document.location.replace('0.htm');\r\n".
- "</script></body></html>";
- exit;
- }
- reset($FormArr);
- while ( list($k, $v) = each($FormArr)){
- $arr = form_function( "html", $v );
- $body.=( strlen($arr["html"]) >20 ) ? "<p>".$arr["html"]."</p>" : "";
- }
- unset($FormArr, $arr);
- }
- include("first_page.inc");
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement