function updateCodes($parameters, $arg1 = '', $arg2 = '', $arg3 = '') { $mode = "pull"; $shellResult = ""; if ($arg1 or $arg2 or $arg3) { $mode = $arg1 ? $arg1 : $mode; } if (is_array($parameters)) { $mode = array_key_exists("mode", $parameters) ? $parameters['mode'] : $mode; } switch ($mode) { case "push": break; default: set_time_limit(60); $shellResult .= shell_exec("svn up ../"); $directories = zig("dbTableApplications", "getApplicationDirectories"); foreach ($directories as $directory) { switch (substr($directory, 0, 4) != "zig-") { case true: set_time_limit(60); $shellResult .= shell_exec("cd ../{$directory}"); $shellResult .= shell_exec("git {$mode}"); } } } $zigReturn['value'] = $shellResult; return $zigReturn; }
function editRecord($parameters, $arg1 = '', $arg2 = '', $arg3 = '') { $uniqueString = uniqid(); if ($arg1 or $arg2 or $arg3) { $table = $arg1; $parentTable = $arg2; $parentId = $arg3; } if (is_array($parameters)) { $table = array_key_exists("table", $parameters) ? $parameters['table'] : $arg1; $parentTable = array_key_exists("parentTable", $parameters) ? $parameters['parentTable'] : $arg2; $parentId = array_key_exists("parentId", $parameters) ? $parameters['parentId'] : $arg3; $sql = array_key_exists("sql", $parameters) ? $parameters['sql'] : NULL; $uniqueString = array_key_exists("uniqueString", $parameters) ? $parameters['uniqueString'] : $uniqueString; $id = array_key_exists("id", $parameters) ? $parameters['id'] : 0; } $saveParameters = array("function" => "save", "table" => $table, "parent_table" => $parentTable, "parent_id" => $parentId, "mode" => "edit", "id" => $id, "uniqueString" => $uniqueString); $returnArray['data'] = zig($saveParameters); switch ($sql != "") { case true: $listingParameters = array("function" => "listing", "sql" => $sql, "table" => $table, "uniqueString" => $uniqueString, "zigjax" => 1); $returnArray['html'] = zig($listingParameters); } $zig_result['value'] = json_encode($returnArray); $zig_result['return'] = 1; return $zig_result; }
function get_file($parameters, $arg1 = '', $arg2 = '', $arg3 = '') { if ($arg1 or $arg2 or $arg3) { $filename = $arg1; $new_filename = $arg2 ? $arg2 : $arg1; $method = $arg3; } else { if (is_array($parameters)) { $filename = array_key_exists("filename", $parameters) ? $parameters['filename'] : NULL; $new_filename = array_key_exists("new_filename", $parameters) ? $parameters['new_filename'] : $filename; $method = array_key_exists("method", $parameters) ? $parameters['method'] : NULL; } } if ($method == "download") { header('Content-Disposition: attachment; filename="' . $new_filename . '"'); } else { if ($method == "view") { $contentType = $this->mime_content_type($filename); header("Content-type: {$contentType}"); switch (substr($contentType, 0, 5)) { case "image": break; default: header('Content-Disposition: filename="' . $new_filename . '"'); } } } if (zig("cache", "file_exists", $filename)) { $buffer = readfile($filename); print $buffer; exit; } }
function reportsLoadFilters($reportName) { $html = ""; $mode = "add"; $selectParameters = array("function" => "select", "table" => "zig_report_filters", "where" => "`report_name`='{$reportName}'"); $result = zig($selectParameters); while ($fetch = $result->fetchRow()) { $fieldResult = zig("show_columns", $fetch['table']); while ($dbDefinedField = $fieldResult->fetchRow()) { if ($dbDefinedField['Field'] == $fetch['field']) { break; } } $customFieldParameters = array("function" => "customField", "module" => $fetch['zig_user'], "table" => $fetch['table'], "method" => $fetch['field'], "mode" => $mode); $field_info = zig($customFieldParameters); $fieldElementParameters = array("function" => "field_element", "mode" => "add", "table" => $fetch['table'], "dbDefinedField" => $dbDefinedField, "userDefinedField" => $field_info); $filterName = str_replace(" ", "_", $fetch['filter_name']); $filterElement = zig($fieldElementParameters); $filterElement = str_replace("{current_field_name}", $filterName, $filterElement); $filterElement = str_replace("{uniqueString}", uniqid(), $filterElement); $filterElement = str_replace("{tableName}", $fetch['table'], $filterElement); $filterElement = str_replace("{fieldValue}", zig("checkArray", $field_info, "defaultValue"), $filterElement); $html .= zig("template", "block", "reports", "filter row"); $html = str_replace("{filterName}", $fetch['filter_name'], $html); $html = str_replace("{filterElement}", $filterElement, $html); } $selectParameters = array("function" => "select", "fields" => "file", "table" => "zig_reports", "where" => "`report_name`='{$reportName}'", "limit" => 1); $result = zig($selectParameters); $fetch = $result->fetchRow(); $html = $html != "" ? zig("template", "block", "reports", "filter header") . $html . zig("template", "block", "reports", "filter footer") : ""; $html = str_replace("{filters}", $html, zig("template", "block", "reports", "filters")); return str_replace("{file}", $fetch['file'], $html); }
function mailer($parameters, $arg1, $arg2, $arg3) { if ($arg1 or $arg2 or $arg3) { $to = $arg1; $subject = $arg2; $message = $arg3; } else { if (is_array($parameters)) { $to = array_key_exists("to", $parameters) ? $parameters['to'] : NULL; $subject = array_key_exists("subject", $parameters) ? $parameters['subject'] : NULL; $message = array_key_exists("message", $parameters) ? $parameters['message'] : NULL; $headers = array_key_exists("headers", $parameters) ? $parameters['headers'] : NULL; $from = array_key_exists("from", $parameters) ? $parameters['from'] : NULL; $reply_to = array_key_exists("reply_to", $parameters) ? $parameters['reply_to'] : NULL; } } if (!$headers) { $headers = "MIME-Version: 1.0\r\n"; $headers .= "Content-type: text/html; charset=iso-8859-1\r\n"; $headers .= $from ? "From: " . $from . "\r\n" : "From: " . zig("info", "user") . " <" . zig("info", "user_email") . "> \r\n"; $headers .= $reply_to ? "Reply-To: " . $reply_to . "\r\n" : NULL; $headers .= "X-Mailer: PHP/" . phpversion(); } $zig_result['value'] = mail($to, $subject, $message, $headers); $zig_result['return'] = 1; return $zig_result; }
function messenger($parameters, $arg1 = '', $arg2 = '', $arg3 = '') { if ($arg1 or $arg2 or $arg3) { $error = $arg1; $warning = $arg2; $system = $arg3; } else { if (is_array($parameters)) { $error = array_key_exists("error", $parameters) ? $parameters['error'] : NULL; $warning = array_key_exists("warning", $parameters) ? $parameters['warning'] : NULL; $system = array_key_exists("system", $parameters) ? $parameters['system'] : NULL; $application = array_key_exists("message", $parameters) ? $parameters['message'] : NULL; } } $messages = $error ? $error : ""; $messages = ($messages and $warning) ? "<br />" : $messages; $messages = $warning ? $messages . $warning : $messages; $messages = ($messages and $system) ? "<br />" : $messages; $messages = $system ? $messages . $system : $messages; $messages = ($messages and $application) ? "<br />" : $messages; $messages = $application ? $messages . $application : $messages; $buffer = zig("template", "file", "messenger"); $buffer = str_replace("{message}", $messages, $buffer); $zig_result['value'] = $buffer; $zig_result['return'] = 1; return $zig_result; }
function getReportName($applicationName) { $sql = "SELECT `report_name` FROM `zig_reports` WHERE `application`='{$applicationName}' LIMIT 1"; $result = zig("query", $sql); $fetch = $result->fetchRow(); return $fetch['report_name']; }
function select_count($parameters, $arg1, $arg2, $arg3) { $where = ""; if ($arg1 or $arg2 or $arg3) { $table = $arg1; $field = $arg2 ? $arg2 : "*"; $distinct = $arg3; } if (is_array($parameters)) { $table = array_key_exists("table", $parameters) ? $parameters['table'] : NULL; $field = array_key_exists("field", $parameters) ? $parameters['field'] : "*"; $distinct = array_key_exists("distinct", $parameters) ? $parameters['distinct'] : false; $where = array_key_exists("where", $parameters) ? "WHERE " . $parameters['where'] : $where; } switch ($distinct) { case true: $sql = "SELECT COUNT({$field}) AS `count` FROM {$table} {$where} GROUP BY ({$field})"; default: $sql = "SELECT COUNT({$field}) AS `count` FROM {$table} {$where}"; } $zig_return['return'] = 1; $result = zig("query", $sql); $fetch = $result->fetchRow(); $zig_return['value'] = $fetch['count']; return $zig_return; }
function display_flags($parameters, $arg1 = '', $arg2 = '', $arg3 = '') { if ($arg1 or $arg2 or $arg3) { $zig_result = $arg1; $parameters = $arg2; } else { if (is_array($parameters)) { $zig_result = array_key_exists("zig_result", $parameters) ? $parameters['zig_result'] : NULL; $parameters = array_key_exists("parameters", $parameters) ? $parameters['parameters'] : NULL; } } $zig_gui_flags[] = "topmenu"; $zig_gui_flags[] = "header"; $zig_gui_flags[] = "applications"; $zig_gui_flags[] = "actions"; $zig_gui_flags[] = "tabs"; $zig_gui_flags[] = "messenger"; $zig_gui_flags[] = "side_dock"; $zig_gui_flags[] = "trigger"; $zig_gui_flags[] = "footer"; $zig_gui_flags[] = "print_view"; $zig_gui_flags[] = "print_header"; $zig_gui_flags[] = "print_sub_header"; $zig_gui_flags[] = "print_sub_footer"; $zig_gui_flags[] = "print_footer"; foreach ($zig_gui_flags as $flag) { if (!isset($zig_result[$flag]) and is_array($zig_result)) { $module_config = zig("config", $flag, $GLOBALS['zig']['current']['module']); $zig_result[$flag] = (isset($parameters[$flag]) and is_array($parameters)) ? $parameters[$flag] : ($module_config != NULL ? $module_config : zig("config", $flag)); } } $zig_return['return'] = 1; $zig_return['value'] = $zig_result; return $zig_return; }
function content($parameters, $arg1, $arg2, $arg3) { if ($arg1 or $arg2 or $arg3) { $zig_return['buffer'] = $arg1; $zig_return['message'] = $arg2; $security = $arg3 != "" ? $arg3 : true; } if (is_array($parameters)) { $zig_return['buffer'] = array_key_exists("content", $parameters) ? $parameters['content'] : $arg1; $zig_return['message'] = array_key_exists("message", $parameters) ? $parameters['message'] : $arg2; $security = array_key_exists("security", $parameters) ? $parameters['security'] : $security; if (array_key_exists("topmenu", $parameters)) { $zig_return['topmenu'] = $parameters['topmenu']; } if (array_key_exists("applications", $parameters)) { $zig_return['applications'] = $parameters['applications']; } } if ($security) { zig("security"); } $zig_return['messenger'] = $zig_return['message']; $zig_return['actions'] = false; return $zig_return; }
function permissions($parameters, $arg1 = '', $arg2 = '', $arg3 = '') { if ($arg1 or $arg2 or $arg3) { $module = $arg1 ? $arg1 : $GLOBALS['zig']['current']['module']; $script = $arg2 ? $arg2 : $GLOBALS['zig']['current']['script']; $action = $arg3 ? $arg3 : $GLOBALS['zig']['current']['action']; $field_name = "all"; $field_value = "all"; } else { if (is_array($parameters)) { $module = array_key_exists("module", $parameters) ? $parameters['module'] : $GLOBALS['zig']['current']['module']; $script = array_key_exists("script", $parameters) ? $parameters['script'] : $GLOBALS['zig']['current']['script']; $action = array_key_exists("action", $parameters) ? $parameters['action'] : $GLOBALS['zig']['current']['action']; $tab = array_key_exists("tab", $parameters) ? $parameters['tab'] : NULL; $field_name = array_key_exists("field_name", $parameters) ? $parameters['field_name'] : "all"; $field_value = array_key_exists("field_value", $parameters) ? $parameters['field_value'] : "all"; } } $module = $module == "{any}" ? NULL : $module; $directory = $module; $script = $script == "{any}" ? NULL : $script; $action = $action == "{any}" ? NULL : $action; $zig_info_obj = new zig_info(); $user = zig("info", "user"); $user_id = zig("info", "user_id"); $group = $zig_info_obj->group(); $pre = zig("config", "pre"); $zig_global_database = zig("config", "global_database"); $script = $script ? $script : $GLOBALS['zig']['current']['script']; $script = addslashes($script); $sql = "SELECT `{$pre}applications`.`name` AS module,`{$pre}tabs`.`name` AS tab \n\t\t\t\t\tFROM `{$zig_global_database}`.`{$pre}tabs`,`{$zig_global_database}`.`{$pre}applications` \n\t\t\t\t\tWHERE \n\t\t\t\t\t\t`directory`='{$directory}' \n\t\t\t\t\tAND `{$pre}tabs`.`module`=`{$pre}applications`.`name` \n\t\t\t\t\tAND `{$pre}tabs`.`link`='{$script}' LIMIT 1"; $result = zig("query", $sql); $fetch = $result->fetchRow(); $module = $fetch['module']; $tab = $fetch['tab']; $where_tab = $tab ? " AND (tab='{$tab}' OR tab='all') " : NULL; $where_action = $tab ? " AND (action='{$action}' OR action='all') " : NULL; $sql = "SELECT users \n\t\t\t\tFROM `{$zig_global_database}`.`{$pre}permissions` \n\t\t\t\tWHERE \n\t\t\t\t\t(zig_parent_id='{$user_id}' OR users='{$user}' OR users='{$group}' OR users='all') \n\t\t\t\tAND (module='{$module}' OR module='all') {$where_tab} {$where_action} \n\t\t\t\tAND (field_name='{$field_name}' OR field_name='all') \n\t\t\t\tAND (field_value='{$field_value}' OR field_value='all') \n\t\t\t\tAND permission='allow' LIMIT 1"; $result = zig("query", $sql, "permissions.lib.php", false); $permission = $result->RecordCount(); if ($permission == 1) { $sql = "SELECT users \n\t\t\t\t\tFROM {$zig_global_database}.{$pre}permissions \n\t\t\t\t\tWHERE \n\t\t\t\t\t\t(zig_parent_id='{$user_id}' OR users='{$user}' OR users='{$group}' OR users='all') \n\t\t\t\t\tAND (module='{$module}' OR module='all') {$where_tab} {$where_action} \n\t\t\t\t\tAND (field_name='{$field_name}' OR field_name='all') \n\t\t\t\t\tAND (field_value='{$field_value}' OR field_value='all') \n\t\t\t\t\tAND permission='deny' LIMIT 1"; $result = zig("query", $sql); $permission = $result->RecordCount() ? false : true; /* if($module=="zig-helpdesk") { print " m=".$module ; print " t=".$tab ; print " a=".$action ; print " u=".$user ; print " p=".$permission ; print " sql=".$sql ; print "<br /><br />" ; // exit() ; }*/ } $zig_return['value'] = $permission; $zig_return['return'] = 1; return $zig_return; }
function trash($parameters, $arg1 = NULL, $arg2 = NULL, $arg3 = NULL) { $global_database = zig("config", "global database"); $pre = zig("config", "pre"); $sql = "DELETE FROM `{$zig_global_database}`.`{$pre}trash`"; zig("query", $sql); print "Trash Emptied"; }
function print_footer($file, $method) { $buffer = zig("template", "file", $file); $buffer = $buffer ? $buffer : zig("template", "file", "footer"); $footer .= "Powered by zigbin"; $buffer = str_replace("{footer}", $footer, $buffer); //return $buffer ; }
function fieldset($parameters, $arg1 = '', $arg2 = '', $arg3 = '') { $collapsed = true; $collapsible = true; $description = NULL; $callback = NULL; if ($arg1 or $arg2 or $arg3) { $content = $arg1; $name = $arg2; $collapsed = $arg3 === false ? $arg3 : $collapsed; } if (is_array($parameters)) { $content = array_key_exists("content", $parameters) ? $parameters['content'] : NULL; $name = array_key_exists("name", $parameters) ? $parameters['name'] : NULL; $collapsed = array_key_exists("collapsed", $parameters) ? $parameters['collapsed'] : true; $collapsible = array_key_exists("collapsible", $parameters) ? $parameters['collapsible'] : true; $description = array_key_exists("description", $parameters) ? $parameters['description'] : NULL; $callback = array_key_exists("callback", $parameters) ? $parameters['callback'] ? ",'" . addslashes($parameters['callback']) . "'" : NULL : NULL; } $name = str_replace("'", "", $name); $name = str_replace('"', "", $name); $unique_name = $name . "_" . uniqid(); $template_block = $collapsible ? "collapsible" : "uncollapsible"; if (!$collapsed) { $zig_fieldset_class = "zig_fieldset_displayed"; $zig_fieldset_title_class = "zig_fieldset_title_displayed_class"; $zig_div_fieldset_class = "zig_visible"; } else { $zig_fieldset_class = "zig_fieldset_collapsed"; $zig_fieldset_title_class = "zig_fieldset_title_collapsed_class"; $zig_div_fieldset_class = "zig_invisible"; } $title = str_replace("_", " ", $name); $title = ucwords(trim($title)); $title = htmlspecialchars($title, ENT_QUOTES); $title = str_replace(" ", " ", $title); $description_buffer = NULL; switch ($description) { case "": case NULL: break; default: $description_buffer = zig("template", "block", "fieldset", "description"); $description_buffer = str_replace("{description}", $description, $description_buffer); break; } $buffer = zig("template", "block", "fieldset", $template_block); $buffer = str_replace("{unique_name}", $unique_name, $buffer); $buffer = str_replace("{zig_fieldset_class}", $zig_fieldset_class, $buffer); $buffer = str_replace("{title}", $title, $buffer); $buffer = str_replace("{zig_div_fieldset_class}", $zig_div_fieldset_class, $buffer); $buffer = str_replace("{zig_fieldset_title_class}", $zig_fieldset_title_class, $buffer); $buffer = str_replace("{description}", $description_buffer, $buffer); $buffer = str_replace("{content}", $content, $buffer); $buffer = str_replace("{callback}", $callback, $buffer); $zig_result['value'] = $zig_result['html'] = $buffer; return $zig_result; }
function getVariablesByParentId($parentId) { $records = array(); $sql = "SELECT \r\n\t\t\t\t\t`variable`, \r\n\t\t\t\t\t`hash` \r\n\t\t\t\tFROM \r\n\t\t\t\t\t`zig_field_hashed_variables` \r\n\t\t\t\tWHERE \r\n\t\t\t\t\t`zig_parent_id` = '{$parentId}'"; $result = zig("query", $sql); while ($fetch = $result->fetchRow()) { $records[] = $fetch; } return $records; }
function getTableRelationships($table) { $tables = array(); $sql = "SELECT \r\n\t\t\t\t\t`child_table` \r\n\t\t\t\tFROM \r\n\t\t\t\t\t`zig_relationships` \r\n\t\t\t\tWHERE \r\n\t\t\t\t\t(parent_table='{$table}' OR parent_table='all tables') AND \r\n\t\t\t\t\t`child_table`<>'' AND `child_table`<>'{$table}' \r\n\t\t\t\tORDER BY \r\n\t\t\t\t\t`zig_weight`, \r\n\t\t\t\t\t`fieldset`, \r\n\t\t\t\t\t`child_table`"; $result = zig("query", $sql); while ($fetch = $result->fetchRow()) { $tables[] = $fetch['child_table']; } return $tables; }
function export($parameters, $arg1 = '', $arg2 = '', $arg3 = '') { if ($arg1 or $arg2 or $arg3) { $sql = $arg1; $type = $arg2 ? $arg2 : "csv"; } else { if (is_array($parameters)) { $sql = array_key_exists("sql", $parameters) ? $parameters['sql'] : NULL; $type = array_key_exists("type", $parameters) ? $parameters['type'] : "csv"; } } if ($type == "csv") { require_once "../zig-api/plugins/adodb/toexport.inc.php"; $files_path = zig("config", "files path"); $temp_path = "{$files_path}blank.csv"; //if(file_exists($temp_path)) if (zig("cache", "file_exists", $temp_path)) { $time = time(); $function = "export"; $file_name = $time . $function . "." . $type; copy($temp_path, $temp_path . $file_name); $result = $GLOBALS['zig']['adodb']->Execute($sql); if ($result != "") { $result->MoveFirst(); $fp = fopen($temp_path . $file_name, "w"); if ($fp) { rs2csvfile($result, $fp); fclose($fp); } $buffer = "\n end of file -- file export success"; $location = "{$temp_path}{$file_name}"; header('Content-type: application/csv'); header("Content-Disposition: attachment; filename={$file_name}"); readfile("{$temp_path}{$file_name}"); $zig_result['buffer'] = $buffer; print $buffer; zig("cache", "unlink", $location); zig("cache", "unlink", $temp_path); //unlink($location); //unlink($temp_path); } else { $zig_result['error'] = $GLOBALS['zig']['obj']['error']->error(106); } } else { $zig_result['error'] = $GLOBALS['zig']['obj']['error']->error(102); } } else { $zig_result['error'] = $GLOBALS['zig']['obj']['error']->error(103); } $zig_result['gui_buffer'] = 0; return $zig_result; }
function select_defaults($parameters, $arg1, $arg2, $arg3) { if ($arg1 or $arg2 or $arg3) { $table = $arg1; } if (is_array($parameters)) { $table = array_key_exists("table", $parameters) ? $parameters['table'] : NULL; } $sql = "SELECT * FROM `{$table}` WHERE `zig_status`='default'"; $zig_return['return'] = 1; $zig_return['value'] = zig("query", $sql); return $zig_return; }
function show_columns($parameters, $arg1, $arg2, $arg3) { if ($arg1 or $arg2 or $arg3) { $table = $arg1; } if (is_array($parameters)) { $table = array_key_exists("table", $parameters) ? $parameters['table'] : NULL; } $sql = "SHOW COLUMNS FROM {$table}"; $zig_return['return'] = 1; $zig_return['value'] = zig("query", $sql); return $zig_return; }
function datetime($parameters, $arg1 = '', $arg2 = '', $arg3 = '') { $datetime = ""; if ($arg1 or $arg2 or $arg3) { $datetime = $arg1; $date_format = $arg2; $time_format = $arg3; $timezoned = false; } if (is_array($parameters)) { $datetime = array_key_exists("datetime", $parameters) ? $parameters['datetime'] : $datetime; $date_format = array_key_exists("date_format", $parameters) ? $parameters['date_format'] : NULL; $time_format = array_key_exists("time_format", $parameters) ? $parameters['time_format'] : NULL; $timezoned = array_key_exists("timezoned", $parameters) ? $parameters['timezoned'] : false; } $zig_result['return'] = 1; if (!$datetime) { $zig_result['value'] = ""; return $zig_result; } $date_format = $date_format ? $date_format : zig("config", "date format"); // -- Start bring datetime to normal format $splitted_datetime = date_parse($datetime); $datetime = date("Y-m-d", mktime($splitted_datetime['hour'], $splitted_datetime['minute'], $splitted_datetime['second'], $splitted_datetime['month'], $splitted_datetime['day'], $splitted_datetime['year'])); // -- End bring datetime to normal format switch ($timezoned) { case true: $datetime_info = strtotime($datetime . "+" . zig("config", "timezone offset") . "hours"); $datetime = date("Y-m-d H:i:s", $datetime_info); if (preg_match("/^(\\d{4})-(\\d{2})-(\\d{2}) ([01][0-9]|2[0-3]):([0-5][0-9]):([0-5][0-9])\$/", $datetime, $matches)) { $datetime = date($date_format, mktime($matches[4], $matches[5], $matches[6], $matches[2], $matches[3], $matches[1])); } break; } if (preg_match("/^(\\d{4})-(\\d{2})-(\\d{2}) ([01][0-9]|2[0-3]):([0-5][0-9]):([0-5][0-9])\$/", $datetime, $matches)) { if (checkdate($matches[2], $matches[3], $matches[1])) { $time_format = $time_format ? $time_format : zig("config", "time format"); $zig_result['value'] = date("{$date_format} {$time_format}", mktime($matches[4], $matches[5], $matches[6], $matches[2], $matches[3], $matches[1])); } } else { if (preg_match("/^(\\d{4})-(\\d{2})-(\\d{2})\$/", $datetime, $matches)) { if (checkdate($matches[2], $matches[3], $matches[1])) { $match4 = isset($matches[4]) ? $matches[4] : 0; $match5 = isset($matches[5]) ? $matches[5] : 0; $match6 = isset($matches[6]) ? $matches[6] : 0; $zig_result['value'] = date("{$date_format}", mktime($match4, $match5, $match6, $matches[2], $matches[3], $matches[1])); } } } return $zig_result; }
function ldap($parameters, $arg1 = '', $arg2 = '', $arg3 = '') { if ($arg1) { $method = $arg1; $username = $arg2; $password = $arg3; } else { $method = $parameters['method']; $username = $parameters['username']; $password = $parameters['password']; } $zig_result = zig("ldap", "bind", $username, $password); return $zig_result; }
function security($parameters, $arg1 = '', $arg2 = '', $arg3 = '') { if ($_SESSION['zig_hash'] == "") { $zig_hash = isset($_GET['zig_hash']) ? $_GET['zig_hash'] : (isset($_POST['zig_hash']) ? $_POST['zig_hash'] : ''); $zig_hash = $zig_hash ? "?zig_hash=" . $zig_hash : ''; $current_url = $_SERVER['PHP_SELF'] . $zig_hash; $zig_hash = zig("hash", "encrypt", $current_url); header("Location: ../zig-api/index.php?zig_hash={$zig_hash}"); exit; } else { if (!session_id()) { session_start(); } } $zig_hash_vars = zig("hash", "vars_decode", $_SESSION['zig_hash']); if (session_id() != $zig_hash_vars['session_id']) { header("Location: ../zig-api/index.php"); exit; } $cookie = $GLOBALS['zig']['default']['cookie']; $host = $_SERVER['HTTP_HOST']; $url = $zig_hash_vars['url']; $zig_hash = $_SESSION['zig_hash']; // Start renew cookie expiration if (!headers_sent()) { //setcookie("zig_hash",$zig_hash,$cookie,$url,$host) ; $_SESSION['zig_hash'] = $zig_hash; } // Start extend cookie expiration // -- Start check if user needs to change password if (strpos($_SERVER['PHP_SELF'], "/zig-pref/") === false) { $username = zig("info", "user"); $zig_global_database = zig("config", "global_database"); $pre = zig("config", "pre"); $sql = "SELECT `force_change_password` FROM `{$zig_global_database}`.`{$pre}users` WHERE `force_change_password`=1 AND `username`='{$username}' LIMIT 1"; $result = zig("query", $sql); $record = $result->RecordCount(); switch ($result->RecordCount()) { case "0": break; default: header("Location: ../zig-pref/"); break; } } // -- End check if user needs to change password $zig_result['value'] = 1; $zig_result['return'] = 1; return $zig_result; }
function weight($parameters, $arg1 = '', $arg2 = '', $arg3 = '') { $result = $parameters['column_result']; $exclude = $parameters['exclude']; $table = $parameters['table']; $field_info = array_key_exists("field_info", $parameters) ? $parameters['field_info'] : array(); $field_info = is_array($field_info) ? $field_info : array(); $counter = 0; if (is_array($exclude)) { while ($fetch = $result->fetchRow()) { if (in_array($fetch['Field'], $exclude)) { continue; } switch (array_key_exists($fetch['Field'], $field_info)) { case true: $weight = zig("checkArray", $field_info[$fetch['Field']], "zig_weight") ? $field_info[$fetch['Field']]['zig_weight'] * 1000 : $counter; break; default: $weight = $counter; } $fields[] = $fetch; $relation[$counter] = $weight; $counter++; } } if (is_array($field_info)) { foreach ($field_info as $key => $value) { if (zig("checkArray", $value, "attribute") == "virtual") { if (in_array($key, $exclude)) { continue; } unset($virtual_fetch); $virtual_fetch = array('Field' => $key, 'Type' => "virtual(100)", 'Default' => "", 'Null' => "YES"); $fields[] = $virtual_fetch; $weight = zig("checkArray", $value, "zig_weight") ? $value['zig_weight'] * 1000 : $counter; $relation[$counter] = $weight; $counter++; } } } if (is_array($relation)) { asort($relation); foreach ($relation as $key => $value) { $sorted_fields[] = $fields[$key]; } } $zig_result['return'] = 1; $zig_result['value'] = $sorted_fields; return $zig_result; }
function updateApplications($parameters, $arg1 = '', $arg2 = '', $arg3 = '') { $mode = "pull"; if ($arg1 or $arg2 or $arg3) { $mode = $arg1 ? $arg1 : $mode; } if (is_array($parameters)) { $mode = array_key_exists("mode", $parameters) ? $parameters['mode'] : $mode; } $parameters['function'] = "updateCodes"; $parameters['mode'] = $mode; $message = zig($parameters); $parameters['function'] = "update_database"; $message .= zig($parameters); }
function footer($parameters, $arg1 = '', $arg2 = '', $arg3 = '') { $footer = NULL; if ($arg1) { $footer = $arg1 ? $arg1 : NULL; } if (is_array($parameters)) { $footer = array_key_exists("footer", $parameters) ? $parameters['footer'] : NULL; } $footer = $footer ? $footer : zig("config", "footer text"); $buffer = zig("template", "file", "footer"); $zig_result['value'] = str_replace("{footer}", $footer, $buffer); $zig_result['return'] = 1; return $zig_result; }
function getApplicationNames() { switch (is_object($GLOBALS['zig']['adodb'])) { case false: $names[] = "zigbin"; break; default: $sql = "SELECT `name` FROM `zig_applications`"; $result = zig("query", $sql); while ($fetch = $result->fetchRow()) { $names[] = $fetch['name']; } } return $names; }
function extract($parameters, $arg1, $arg2, $arg3) { $sql = NULL; $result = zig("show_table_status", "zig"); while ($fetch = $result->fetchRow()) { $columns_result = zig("show_full_columns", $fetch['Name']); $columns = NULL; $described_columns = NULL; while ($column_fetch = $columns_result->fetchRow()) { $described_columns .= zig("describe_column", $column_fetch) . ",\n"; $columns .= $columns ? "," : $columns; $columns .= "`" . $column_fetch['Field'] . "`"; } $sql .= $sql ? "\n\n" : $sql; $sql .= "CREATE TABLE IF NOT EXISTS `{$fetch['Name']}` ( {$described_columns}"; $sql .= zig("describe_indexes", $fetch[Name]); $sql .= "\n) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='zig' AUTO_INCREMENT=1001 ;"; $values = NULL; $values_result = zig("select_defaults", $fetch['Name']); while ($values_fetch = $values_result->fetchRow()) { $counter = 0; $column_values = NULL; while (array_key_exists($counter, $values_fetch)) { $column_values .= $column_values ? "," : $column_values; $column_values .= "'" . addslashes($values_fetch["{$counter}"]) . "'"; $counter++; } $values .= $values ? "," : $values; $values .= "\n(" . $column_values . ")"; } if ($values) { $sql .= "\n\nINSERT INTO `{$fetch['Name']}`({$columns}) VALUES\n"; $sql .= "{$values} ;"; } } $files_path = zig("config", "files path"); $file_name = "install.sql"; $file = "{$files_path}" . time() . ".{$file_name}"; /*$handle = fopen($file, "w") ; fwrite($handle, $sql); fclose($handle) ;*/ zig("cache", "fwrite", $file, $sql); header('Content-type: application/text'); header("Content-Disposition: attachment; filename={$file_name}"); readfile($file); zig("cache", "unlink", $file); exit; }
function add($parameters, $arg1 = '', $arg2 = '', $arg3 = '') { $uniqueString = uniqid(); if ($arg1 or $arg2 or $arg3) { $table = $arg1; $exclude = $arg2; $permissions = $arg3; } if (is_array($parameters)) { $table = array_key_exists("table", $parameters) ? $parameters['table'] : NULL; $exclude = array_key_exists("exclude", $parameters) ? $parameters['exclude'] : zig("config", "exclude"); $parentId = array_key_exists("parentId", $parameters) ? $parameters['parentId'] : NULL; $parentTable = array_key_exists("parentTable", $parameters) ? $parameters['parentTable'] : NULL; $permissions = array_key_exists("permissions", $parameters) ? $parameters['permissions'] : NULL; $uniqueString = array_key_exists("uniqueString", $parameters) ? $parameters['uniqueString'] : $uniqueString; $module = array_key_exists("module", $parameters) ? $parameters['module'] : NULL; $sql = array_key_exists("sql", $parameters) ? $parameters['sql'] : NULL; $triggers = array_key_exists("triggers", $parameters) ? $parameters['triggers'] : "show"; } $fieldsParameters = array('function' => 'fields', 'method' => 'parent', 'table' => $table, 'mode' => 'add', 'exclude' => $exclude, 'module' => $module, 'permissions' => $permissions, 'return_fields' => true); $fields_return_values = zig($fieldsParameters); $buffer = $fields_return_values['html']; // -- Start process child table $childTables = zig("dbTableRelationships", "getTableRelationships", $table); foreach ($childTables as $childTable) { $wizard_parameters = array('function' => 'fields', 'method' => 'child', 'table' => $childTable, 'parent_table' => $table, 'exclude' => $exclude, 'mode' => 'add', 'module' => $module, 'permissions' => $permissions, 'return_fields' => true); $childHtml = zig($wizard_parameters); $buffer .= $childHtml['html']; } // -- End process child table $template = zig("template", "file", "add"); $triggerBuffer = zig(array("function" => "trigger", "action" => "add")); switch ($triggers) { case "hide": $triggerBuffer = str_replace("{class}", "zig_invisible", $triggerBuffer); break; default: $triggerBuffer = str_replace("{class}", "", $triggerBuffer); } $buffer = str_replace("{add}", $buffer, $template); $buffer = str_replace("{trigger}", $triggerBuffer, $buffer); $sql = zig("hash", "stringEncode", $sql); $saveHash = zig("hash", "encrypt", "function=addRecord,module={$module},table={$table},parentTable={$parentTable},\n\t\t\t\t\t\tparentId={$parentId},sql={$sql},uniqueString={$uniqueString},zigjax=1"); $buffer = str_replace("{saveHash}", $saveHash, $buffer); $buffer = str_replace("{uniqueString}", $uniqueString, $buffer); $zig_result['value'] = $buffer; return $zig_result; }
function applications($parameters, $arg1 = '', $arg2 = '', $arg3 = '') { $buffer = zig("template", "file", "applications"); $sql = "SELECT * \n\t\t\t\tFROM `zig_applications` \n\t\t\t\tWHERE `permission`='Active' \n\t\t\t\tORDER BY `zig_weight`,`name`"; $result = zig("query", $sql); $icon = ""; $name = ""; while ($fetch = $result->fetchRow()) { $permission = zig("permissions", $fetch['directory'], "{any}"); if ($permission) { // -- start application image $icon .= $GLOBALS['zig']['current']['module'] == $fetch['directory'] ? "<th id='zig_apps_{$fetch['name']}_image' style=\"border:1px; border-style:solid;\">" : "<th id='zig_apps_{$fetch['name']}_image' class='zig_actions_image'>"; /*$target = NULL ; if($fetch['target']=="_link") { $target = ($fetch['target']<>"popup") ? "target = '".$fetch['target']."'" : "onclick=\"window.open('$fetch[link]','$fetch[name]','height=700,width=800,resizable=yes') ; return false ;\" " ; } $icon.= ($fetch['target']<>"popup") ? "<a $target href='../$fetch[directory]'>" : "<a $target href=''>" ;*/ //$icon.= "<a $target href='../$fetch[directory]'>" ; $icon .= "<a href='../{$fetch['directory']}'>"; $icon .= "<img src='" . zig("images", $fetch['icon'], "../" . $fetch['directory'] . "/" . $GLOBALS['zig']['path']['image']) . "' alt='{$fetch['name']}' />"; $icon .= "</a>"; $icon .= "</th>\n"; // -- end application image // -- start application label $name .= "<td id='zig_apps_{$fetch['name']}' onmouseover=\"document.getElementById(this.id + '_image').className='zig_actions_image_hover';\" onmouseout=\"document.getElementById(this.id + '_image').className='zig_actions_image';\">"; //$name.= ($fetch['target']<>"popup") ? "<a $target href='../$fetch[directory]'>" : "<a $target href='' >" ; //$name.= "<a $target href='../$fetch[directory]'>" ; $name .= "<a href='../{$fetch['directory']}'>"; $name .= $fetch['name']; $name .= "</a>"; $name .= "</td>\n"; // -- end application label } } $show_title = zig("config", "show title"); $zig_title = $show_title ? zig("config", "title") : NULL; $zig_icon = zig("config", "icon"); $zig_icon = zig("images", $zig_icon); $buffer = str_replace("{zig_icon}", $zig_icon, $buffer); $buffer = str_replace("{zig_title}", $zig_title, $buffer); $buffer = str_replace("{icon}", $icon, $buffer); $buffer = str_replace("{name}", $name, $buffer); $buffer = str_replace("{header}", zig("display_header"), $buffer); $zig_result['value'] = $buffer; $zig_result['return'] = 1; return $zig_result; }
function topmenu($parameters, $arg1 = '', $arg2 = '', $arg3 = '') { $pre = zig("config", "pre"); $zig_global_database = zig("config", "global_database"); $username = zig("info", "user"); $username = $username ? $username : "******"; $buffer = zig("template", "block", "topmenu", "header"); // -- Start Modules $sql = "SELECT `directory`,`name`,`permission` FROM `{$zig_global_database}`.`{$pre}applications` WHERE (`permission`='Top Left' OR `permission`='Top Right') AND `zig_status`<>'deleted' ORDER BY `zig_weight`,`name`"; $result = zig("query", $sql); $topLeft = $topRight = $flag_buffer = ""; while ($fetch = $result->fetchRow()) { $permission = zig("permissions", $fetch['directory']); if ($permission) { $module_buffer = zig("template", "block", "topmenu", "modules"); $module_buffer = $flag_buffer ? str_replace("{module_separator}", "|", $module_buffer) : str_replace("{module_separator}", "", $module_buffer); $module_buffer = $flag_buffer = str_replace("{module_link}", "../" . $fetch['directory'], $module_buffer); $module_buffer = str_replace("{module_name}", $fetch['name'], $module_buffer); $module_name_class = $GLOBALS['zig']['current']['module'] == $fetch['directory'] ? "active" : "inactive"; $module_buffer = str_replace("{class}", $module_name_class, $module_buffer); switch ($fetch['permission']) { case "Top Right": $topRight .= $module_buffer; break; default: $topLeft .= $module_buffer; } } } //$buffer.= $module_buffer ? $module_buffer : "" ; // -- End Modules $buffer .= zig("template", "block", "topmenu", "footer"); $zig_hash = zig("hash", "encrypt", "gate,logout"); if ($username == "Guest") { $buffer = str_replace("{logout_link}", "../zig-api/", $buffer); $buffer = str_replace("{logout_text}", "Login", $buffer); } else { $buffer = str_replace("{logout_link}", "../zig-api/decoder.php?zig_hash=" . $zig_hash, $buffer); $buffer = str_replace("{logout_text}", "Logout", $buffer); } $buffer = str_replace("{topLeft}", $topLeft, $buffer); $buffer = str_replace("{topRight}", $topRight, $buffer); $buffer = str_replace("{username}", $username, $buffer); $zig_result['value'] = $buffer; $zig_result['return'] = 1; return $zig_result; }