/** * Search sorted list of values in haystack for needle. * @return boolean */ function locate($sortedIntegerArray = array(), $integerValue) { if (!is_array($sortedIntegerArray) || empty($sortedIntegerArray)) { throw new InvalidArgumentException('Invalid Array'); } if (!is_numeric($integerValue)) { throw new InvalidArgumentException('Invalid Value'); } $count = count($sortedIntegerArray); list($left, $right) = array_chunk($sortedIntegerArray, ceil($count / 2)); $mid = end($left); if ($mid == $integerValue) { return true; } elseif ($integerValue < $mid) { return locate($left, $integerValue); } else { if ($count == 2 || $count == 3) { if ($integerValue == end($right)) { return true; } else { return false; } } else { return locate($right, $integerValue); } } }
function needAdmin($DBlink) { if (!checkAdmin($DBlink, $_SESSION['loginID'])) { alert('Permission deny'); locate($URLPv . "index.php"); return; } }
function insert(&$vector, $element, &$n_elem) { if (locate($vector, $element, $n_elem) >= 0) { return 0; } else { $n_elem++; $vector[$n_elem] = $element; return 1; } }
function error_found($level, $mymsg, $errfile, $errline) { // header("Location: upss1.php"); header("Message: " . $mymsg . ' - ' . $errfile . '(' . $errline . ')'); global $allowedErrors, $allowingErrors; if ($allowingErrors && in_array($mymsg, $allowedErrors)) { return true; } include_once locate('upss.php'); exit; }
function locate($id) { global $positionArray, $db, $cfg; $sql = "SELECT * FROM " . $cfg["menued"]["db"]["menu"]["entries"] . " where mid=" . $id; $result = $db->query($sql); $data = $db->fetch_array($result, 1); $positionArray[$data["mid"]] = $data["mid"]; if ($data["refid"] != 0) { locate($data["refid"]); } }
if (!is_numeric($_GET['act'])) { $_GET['act'] = -1; } $now = time(); $result = $DBmain->query("SELECT * FROM `main`\n LEFT JOIN `department` ON `deptID` = `voteDept`\n WHERE `mainID` = {$_GET['act']} AND `status` != 3; "); if ($result->num_rows <= 0) { locate($URLPv . 'index.php'); } $row = $result->fetch_array(MYSQLI_BOTH); if (isset($_POST['idea'])) { $str = $_POST['id'][0]; for ($i = 1; $i < count($_POST['id']); $i++) { $str .= ',' . $_POST['id'][$i]; } $DBmain->query("INSERT INTO `draft` (`user`, `actID`, `idea`, `picItem`)\n\t\t\t\t\t\t\tVALUES ('{$_SESSION['loginID']}', '{$_GET['act']}', \n\t\t\t\t\t\t\t\t'{$_POST['idea']}', '{$str}'); "); locate($URLPv . "view.php?act={$_GET['act']}"); } else { ?> <div class="container"> <form action="add.php?act=<?php echo $_GET['act']; ?> " method="post"> <h2 class="text-center"><?php echo $row['title']; ?> </h2> <table class="table table-bordered table-hover"> <tr> <td class="col-md-2">創作理念</td>
if ($stop != "") { if (in_array($value, $stop)) { unset($opentree[$key]); } } } // punkt oeffnen if (!in_array($_SESSION["menued_id"], $stop)) { $opentree[] = $_SESSION["menued_id"]; } // link bauen und positionArray bauen foreach ($opentree as $key => $value) { $treelink == "" ? $trenner = "" : ($trenner = "-"); $treelink .= $trenner . $value; if ($value != "") { locate($value); } } $_SESSION["menued_design"] = $design; } else { $positionArray[0] = 0; } // welche buttons sollen angezeigt werden $mod = array("edit" => array("", "Seite editieren", "edit"), "add" => array("", "Seite hinzufuegen", "add"), "jump" => array("", "zur Seite", "edit;publish")); $blacklist = "/aktuell"; $wizard_menu = sitemap(0, "admin", "menued", $mod, ""); $test = explode("<li>", $wizard_menu); array_shift($test); $preg = '/<img.*\\/img>/Ui'; $preg_link = '/^<a (href)="\\/auth\\/edit,([0-9]*),[0-9]*\\.html"/ui'; $preg_black = '/(href="\\/auth\\/login,)([0-9]*)\\.html"/ui';
<?php /** * This is the config.php file. * * It requires all the files that are necessary to run our application * and defines commonly used constants. */ defined('DB_NAME') or define('DB_NAME', 'mvc_app'); defined('DB_HOSTNAME') or define('DB_HOSTNAME', 'localhost'); defined('DB_USERNAME') or define('DB_USERNAME', 'santiagoramirez'); defined('DB_PASSWORD') or define('DB_PASSWORD', 'somethingcomplex'); defined('TABLE_PREFIX') or define('TABLE_PREFIX', ''); defined('DOMAIN_ROOT') or define('DOMAIN_ROOT', 'http://localhost/mvc-web-application/public_html'); defined('SERVER_ROOT') or define('SERVER_ROOT', $_SERVER['DOCUMENT_ROOT'] . '/mvc-web-application'); defined('HELPERS_ROOT') or define('HELPERS_ROOT', SERVER_ROOT . '/core/views/helpers'); defined('TEMPLATES_ROOT') or define('TEMPLATES_ROOT', SERVER_ROOT . '/core/views/templates'); defined('MAINTENANCE_MODE') or define('MAINTENANCE_MODE', false); require_once 'functions.php'; require_once locate('core/base-controller.php'); require_once locate('core/base-model.php'); require_once locate('core/base-view.php'); require_once locate('resources/libs/smarty-3.1.27/Smarty.class.php');
if (isset($_POST['stuID']) && isset($_POST['stuPW'])) { if (CheckPOP3($_POST['mailserver'] . ".ndhu.edu.tw", $_POST['stuID'], $_POST['stuPW'])) { $_SESSION['loginID'] = $_POST['stuID']; $_SESSION['loginToken'] = genToken($DBmain, $_SESSION['loginID']); setLogin($DBmain, $_SESSION['loginID'], $_SESSION['loginToken']); if (checkAdmin($DBmain, $_SESSION['loginID'])) { setLog($DBmain, "info", "Admin Login", $_SESSION['loginID']); } if (checkReg($DBmain, $_SESSION['loginID'])) { locate($URLPv . "index.php"); } else { locate($URLPv . "regist.php"); } } else { alert("Login Failed! Please try again. "); locate($URLPv . "login.php"); } } else { ?> <div class="login"> <form action="login.php" method="post"> <div class="form-horizontal"> <div class="form-group"> <label class="control-label col-sm-2">Email: </label> <div class="col-sm-4"> <input type="text" name="stuID" placeholder="NDHU mail" class="form-control" required> </div> <div class="col-sm-6"> <select class="form-control" name="mailserver"> <option value="ems">@ems.ndhu.edu.tw</option> <option value="mail">@mail.ndhu.edu.tw</option>
<?php session_start(); require_once dirname(__FILE__) . "/lib/std.php"; session_destroy(); locate($URLPv . "index.php");
/** * Test invalid input on integerValue * @expectedException InvalidArgumentException * @expectedExceptionMessage Invalid Value */ public function testQFourInvalidInputIntegerValue() { $even = array(1, 2, 3, 5, 8, 13, 21, 34, 55, 89); locate($even, null); }
} } $result = $DBmain->query("SELECT * FROM `main`\n LEFT JOIN `department` ON `deptID` = `voteDept`\n WHERE `mainID` = {$_GET['act']} AND `status` != 3; "); $row = $result->fetch_array(MYSQLI_BOTH); if (isset($_POST['update'])) { if ($_POST['update'] == 1) { $DBmain->query("UPDATE `main`\n\t\t\t\t\t\t\t\tSET `title` = '{$_POST['title']}', \n\t\t\t\t\t\t\t\t\t`content` = '{$_POST['content']}', \n\t\t\t\t\t\t\t\t\t`startCallForDesign` = '{$_POST['startCall']}', \n\t\t\t\t\t\t\t\t\t`endCallForDesign` = '{$_POST['endCall']}', \n\t\t\t\t\t\t\t\t\t`startVote` = '{$_POST['startVote']}', \n\t\t\t\t\t\t\t\t\t`endVote` = '{$_POST['endVote']}', \n\t\t\t\t\t\t\t\t\t`announceTime` = '{$_POST['announceTime']}', \n\t\t\t\t\t\t\t\t\t`picNum` = '{$_POST['picNum']}', \n\t\t\t\t\t\t\t\t\t`picItemName` = '{$_POST['picItemName']}', \n\t\t\t\t\t\t\t\t\t`voteLimit` = '{$_POST['voteLimit']}', \n\t\t\t\t\t\t\t\t\t`voteDept` = '{$_POST['deptID']}'\n\t\t\t\t\t\t\t\tWHERE `mainID` = '{$_GET['act']}'; "); } else { if ($_POST['update'] == 0) { $result = $DBmain->query("SELECT `AUTO_INCREMENT`\n\t\t\t\t\t\t\t\t\t\tFROM INFORMATION_SCHEMA.TABLES\n\t\t\t\t\t\t\t\t\t\tWHERE TABLE_SCHEMA = 'call_for_design'\n\t\t\t\t\t\t\t\t\t\tAND TABLE_NAME = 'main';"); $actID = $result->fetch_array(MYSQLI_BOTH); $DBmain->query("INSERT INTO `main` \n\t\t\t\t\t\t\t\t(`title`, `content`, `startCallForDesign`, `endCallForDesign`, \n\t\t\t\t\t\t\t\t`startVote`, `endVote`, `announceTime`, `picNum`, `picItemName`, \n\t\t\t\t\t\t\t\t`voteLimit`, `voteDept`, `status`)\n\t\t\t\t\t\t\t\tVALUES\n\t\t\t\t\t\t\t\t('{$_POST['title']}', '{$_POST['content']}', '{$_POST['startCall']}', '{$_POST['endCall']}', \n\t\t\t\t\t\t\t\t'{$_POST['startVote']}', '{$_POST['endVote']}', '{$_POST['announceTime']}', \n\t\t\t\t\t\t\t\t'{$_POST['picNum']}', '{$_POST['picItemName']}', '{$_POST['voteLimit']}', \n\t\t\t\t\t\t\t\t'{$_POST['deptID']}', 1);"); $_GET['act'] = $actID[0]; } } locate($URLPv . "view.php?act=" . $_GET['act']); } ?> <div class="container"> <?php if ($result->num_rows < 1) { $update = false; } else { $update = true; } ?> <div class="container"> <form action="apply.php?act=<?php echo $_GET['act'];
86343 Königsbrunn URL: http://www.chaos.de */ //////////////////////////////////////////////////////////////////////////////////////////////////////////////// $kategorie2check = substr(make_ebene($environment["parameter"][2]), 0, strpos(make_ebene($environment["parameter"][2]), "/")); $ebene2check = substr(make_ebene($environment["parameter"][2]), strpos(make_ebene($environment["parameter"][2]), "/")); if ($cfg["menued"]["modify"]["move"][2] == "" || priv_check('', $cfg["menued"]["modify"]["move"][2]) || $cfg["auth"]["menu"]["menued"][2] == -1 && priv_check('', $cfg["menued"]["modify"]["move"][2], $specialvars["dyndb"])) { $ausgaben["root"] = ""; $hidedata["move"]["on"] = -1; $stop["nop"] = "nop"; $design = "modern"; $positionArray["nop"] = "nop"; $_SESSION["menued_id"] = $environment["parameter"][1]; locate($_SESSION["menued_id"]); // page basics // *** if (count($HTTP_POST_VARS) == 0) { $sql = "SELECT * FROM " . $cfg["menued"]["db"]["menu"]["entries"] . " WHERE " . $cfg["menued"]["db"]["menu"]["key"] . "='" . $environment["parameter"][2] . "'"; $result = $db->query($sql); $form_values = $db->fetch_array($result, 1); } else { $form_values = $HTTP_POST_VARS; } // form options holen $form_options = form_options(eCRC($environment["ebene"]) . "." . $environment["kategorie"]); // form elememte bauen $element = form_elements($cfg["menued"]["db"]["menu"]["entries"], $form_values); // form elemente erweitern #$element["new_lang"] = "<input name=\"new_lang\" type=\"text\" maxlength=\"5\" size=\"5\">";
<?php require_once dirname(__FILE__) . "/lib/std.php"; /* Create the tables in Database*/ $DBmain->query('SET FOREIGN_KEY_CHECKS=0;'); $DBmain->query('SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";'); $DBmain->query('SET time_zone = "+08:00";'); $DBmain->query("\n\t\tCREATE TABLE IF NOT EXISTS `admin` (\n\t\t\t`adminID` int(11) NOT NULL AUTO_INCREMENT COMMENT '管理員流水序號',\n\t\t\t`user` varchar(30) NOT NULL COMMENT '管理員帳號',\n\t\t\tPRIMARY KEY (`adminID`),\n\t\t\tKEY `user` (`user`)\n\t\t) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='管理員' AUTO_INCREMENT=1 ;\n\t"); $DBmain->query("\n\t\tCREATE TABLE IF NOT EXISTS `department` (\n\t\t\t`deptID` int(11) NOT NULL AUTO_INCREMENT COMMENT '系所流水編號',\n\t\t\t`deptName` varchar(255) NOT NULL COMMENT '系所名稱',\n\t\t\tPRIMARY KEY (`deptID`),\n\t\t\tKEY `deptName` (`deptName`)\n\t\t) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='系所' AUTO_INCREMENT=1 ;\n\t"); $DBmain->query("\n\t\tCREATE TABLE IF NOT EXISTS `draft` (\n\t\t\t`draftID` int(11) NOT NULL AUTO_INCREMENT COMMENT '稿件流水序號',\n\t\t\t`user` varchar(30) NOT NULL COMMENT '投稿使用者',\n\t\t\t`actID` int(11) NOT NULL COMMENT '投稿活動',\n\t\t\t`picItem` varchar(255) NOT NULL COMMENT '稿件附件ID(google drive)',\n\t\t\t`idea` text NOT NULL COMMENT '投稿理念',\n\t\t\t`time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '投稿時間',\n\t\t\t`vote` int(11) NOT NULL DEFAULT 0 COMMENT '獲得票數', \n\t\t\tPRIMARY KEY (`draftID`),\n\t\t\tKEY `user` (`user`,`actID`),\n\t\t\tKEY `actID` (`actID`)\n\t\t) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='稿件' AUTO_INCREMENT=1 ;\n\t"); $DBmain->query("\n\t\tCREATE TABLE IF NOT EXISTS `log` (\n\t\t\t`lID` int(11) NOT NULL AUTO_INCREMENT COMMENT 'log序號',\n\t\t\t`time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT 'log時間',\n\t\t\t`type` varchar(50) CHARACTER SET utf8 NOT NULL COMMENT 'log類型(info, warning, error)',\n\t\t\t`msg` text CHARACTER SET utf8 COMMENT 'log訊息描述',\n\t\t\t`user` varchar(50) CHARACTER SET utf8 DEFAULT NULL COMMENT '留下log的使用者',\n\t\t\t`site` varchar(50) CHARACTER SET utf8 NOT NULL,\n\t\t\t`IP` varchar(50) CHARACTER SET utf8 NOT NULL COMMENT '留下log的IP',\n\t\t\tPRIMARY KEY (`lID`),\n\t\t\tKEY `user` (`user`)\n\t\t) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='就是個log,BJ4' AUTO_INCREMENT=1 ;\n\t"); $DBmain->query("\n\t\tCREATE TABLE IF NOT EXISTS `login` (\n\t\t\t`loginID` int(11) NOT NULL AUTO_INCREMENT COMMENT '使用者流水序號',\n\t\t\t`user` varchar(30) NOT NULL COMMENT '使用者名稱',\n\t\t\t `lastLogin` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '上次登入時間',\n\t\t\t`IP` varchar(30) NOT NULL COMMENT '最新登入IP',\n\t\t\t`name` varchar(30) DEFAULT NULL COMMENT '姓名',\n\t\t\t`deptID` int(11) DEFAULT NULL COMMENT '所屬系所ID',\n\t\t\t`token` varchar(255) NOT NULL COMMENT '登入token',\n\t\t\tPRIMARY KEY (`loginID`),\n\t\t\tUNIQUE KEY `user` (`user`),\n\t\t\tKEY `deptID` (`deptID`),\n\t\t\tKEY `deptID_2` (`deptID`)\n\t\t) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='使用者資訊' AUTO_INCREMENT=1 ;\n\t"); $DBmain->query("\n\t\tCREATE TABLE IF NOT EXISTS `main` (\n\t\t\t`mainID` int(11) NOT NULL AUTO_INCREMENT COMMENT '活動流水序號',\n\t\t\t`title` varchar(50) NOT NULL COMMENT '活動標題',\n\t\t\t`content` text NOT NULL COMMENT '活動說明',\n\t\t\t`picNum` int(11) NOT NULL COMMENT '所需附件數目',\n\t\t\t`picItemName` varchar(255) DEFAULT NULL COMMENT '附件名稱,以,分隔',\n\t\t\t`startCallForDesign` datetime NOT NULL COMMENT '徵稿開始時間',\n\t\t\t`endCallForDesign` datetime NOT NULL COMMENT '徵稿結束時間',\n\t\t\t`startVote` datetime NOT NULL COMMENT '投票開始時間',\n\t\t\t`endVote` datetime NOT NULL COMMENT '投票結束時間',\n\t\t\t`announceTime` datetime NOT NULL COMMENT '結果公佈時間',\n\t\t\t`voteLimit` int(11) NOT NULL COMMENT '投票數量限制',\n\t\t\t`voteDept` int(11) DEFAULT NULL COMMENT '可投票系所限制',\n\t\t\t`status` int(11) NOT NULL COMMENT '活動狀態(1.上架 2.下架 3.刪除)',\n\t\t\tPRIMARY KEY (`mainID`)\n\t\t) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='活動資料表' AUTO_INCREMENT=1 ;\n\t"); $DBmain->query("\n\t\tCREATE TABLE IF NOT EXISTS `vote` (\n\t\t\t`voteID` int(11) NOT NULL AUTO_INCREMENT COMMENT '投票流水編號',\n\t\t\t`user` varchar(30) NOT NULL COMMENT '投票使用者',\n\t\t\t`actID` int(11) NOT NULL COMMENT '活動',\n\t\t\t`votes` varchar(255) NOT NULL COMMENT '投的票的稿件ID,以,分隔',\n\t\t\t`time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '投票時間',\n\t\t\tPRIMARY KEY (`voteID`),\n\t\t\tKEY `user` (`user`,`actID`),\n\t\t\tKEY `user_2` (`user`),\n\t\t\tKEY `actID` (`actID`)\n\t\t) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='投票' AUTO_INCREMENT=1 ;\n\t"); $DBmain->query("SET FOREIGN_KEY_CHECKS=1;"); locate($URLPV . "index.php");