diff --git a/assets/img/favicon.ico b/assets/img/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..7f909cb539cb5c03810b3eea893b3b5be61bd12f GIT binary patch literal 1150 zcmcIiX-HII6us}w=rqpQn2tkbE;TJeE0q+KmJzK`1h)KWF^D#uHZ93^7pzFlWz1#N zYNCinX`>`1Z7+z7L{T%ytSl{2OC8Jcbl;o$5k>#valhrP4_y4pQHr^orRaS+^-e(3~Y~^5|@FEvo^b;!mN4))_J89zT z$=h^Wtv>c4vD`hdF{AIKI?2sx1)`- zlv$lNF|W5%C~$zz0CXA<3i=>gzI|n#3!21NlY>1M2%M9wp~&tcZCst7OGaCoXzBf| z%=!X8!!^APitMjoj(nFe)&Oh2QKfv`$}!yr9;hOpwKl&2$;~$z2Nm{9etDPT4~l;e zby}x0hy3p{UvTbrO+rJ`*q|7V&+3bFng9AH&Roveyals^XW+>FPf&1A z1@41u+NZM7p-G;JL?ZK}iR<+*1~P27uw>zUSg)31Eb}+qcfe$dM8u{IIQoeBT$}VJ zF6NH2A*vA3{ZKV&V=ISfvb&zSvUbQdJ0h>tV{r-B!*|aMz?$pL*m|Q0#v&(I%(XYV z9cv8b_aLwBcZj0y>UO7hJxR;~yb7HClVbcbfzMLj0qmQT=YT%>L!?_RNSXmd{7Z6= zs~c0C-rHQ0*^dx&_j4h$-O6+EknJ(s1JT@JGoI?MDl_+^GQ)vsCq70jDug^g!%|vk zcv9p1nDp*!{#9B*7BdPkIL_1h}k4H2c<5fe=cT|&de9cf?gmhhW|rhZP! zF9(gEw2M3v8pvz^3t!Lp`YB{8ai!R&zsjk0F+!zF9==I-&{%(P8250up{$^8d8dCL(kY{Q!j+ B${+v$ literal 0 HcmV?d00001 diff --git a/assets/img/logo.png b/assets/img/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..97dd86a254a6a7d947cbba14d8f4a8ff985e5036 GIT binary patch literal 79681 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 e?~`xlZy=S@?+^Ns$Y}uBrJ|rNUnl!1$class = new $class(); + } + } + }); + + +?> diff --git a/core/classes/common.php b/core/classes/common.php new file mode 100644 index 0000000..ed79e04 --- /dev/null +++ b/core/classes/common.php @@ -0,0 +1,10 @@ + diff --git a/core/classes/controller.php b/core/classes/controller.php new file mode 100644 index 0000000..8e33ea2 --- /dev/null +++ b/core/classes/controller.php @@ -0,0 +1,9 @@ + diff --git a/core/classes/database.php b/core/classes/database.php new file mode 100644 index 0000000..29cab7d --- /dev/null +++ b/core/classes/database.php @@ -0,0 +1,146 @@ +obj = new mysqli($host, $username, $password); + }else{ + $this->obj = new mysqli($host, $username, $password, $database); + } + } + + function changeDB($database){ + $this->obj->select_db($database); + } + + function refValues($arr){ + if(strnatcmp(phpversion(), "5.3") >= 0){ + $refs = array(); + foreach($arr as $key => $value){ + $refs[$key] = &$arr[$key]; + } + return $refs; + } + return $arr; + } + + function query($query, $args = null){ + if(is_null($args)){ + $this->result = $this->obj->query($query); + $this->current_field = $this->result->current_field; + $this->lengths = $this->result->lengths; + $this->num_rows = $this->result->num_rows; + return $this->result; + }else{ + if(!is_array($args)){ + $argsBkp = $args; + $args = array($argsBkp); + } + if($stmt = $this->obj->prepare($query)){ + $datatypes = ""; + foreach($args as $value){ + if(is_int($value)){ + $datatypes .= "i"; + }else if(is_double($value)){ + $datatypes .= "d"; + }else if(is_string($value)){ + $datatypes .= "s"; + }else{ + $datatypes .= "b"; + } + } + array_unshift($args, $datatypes); + if(call_user_func_array(array($stmt, "bind_param"), $this->refValues($args))){ + $stmt->execute(); + + $this->result = $stmt->get_result(); + if($this->result){ + $this->current_field = $this->result->current_field; + $this->lengths = $this->result->lengths; + $this->num_rows = $this->result->num_rows; + }else{ + $this->current_field = ""; + $this->lengths = 0; + $this->num_rows = 0; + } + $this->error = $stmt->error; + return $this->result; + }else{ + $this->current_field = ""; + $this->lengths = 0; + $this->num_rows = 0; + return false; + } + }else{ + $this->current_field = ""; + $this->lengths = 0; + $this->num_rows = 0; + return false; + } + } + } + + + function data_seek($offset = 0){ + return $this->result->data_seek($offset); + } + + function fetch_all(){ + return $this->result->fetch_all(); + } + + function fetch_array(){ + return $this->result->fetch_array(); + } + + function fetch_assoc(){ + return $this->result->fetch_assoc(); + } + + function fetch_field_direct($field){ + return $this->result->fetch_field_direct($field); + } + + function fetch_field(){ + return $this->result->fetch_field(); + } + + function fetch_fields(){ + return $this->result->fetch_fields(); + } + + function fetch_object($class_name = "stdClass", $params = null){ + if(is_null($params)){ + return $this->result->fetch_object($class_name); + }else{ + return $this->result->fetch_object($class_name, $params); + } + } + + function fetch_row(){ + return $this->result->fetch_row(); + } + + function field_seek($field){ + return $this->result->field_seek($field); + } + + function insert_id(){ + return $this->result->insert_id; + } + + function fetch_all_kv(){ + $out = array(); + while($row = $this->result->fetch_assoc()){ + $out[] = $row; + } + return $out; + } + } +?> diff --git a/core/classes/error.php b/core/classes/error.php new file mode 100644 index 0000000..e8761f8 --- /dev/null +++ b/core/classes/error.php @@ -0,0 +1,9 @@ + diff --git a/core/classes/load.php b/core/classes/load.php new file mode 100644 index 0000000..ccdc92e --- /dev/null +++ b/core/classes/load.php @@ -0,0 +1,15 @@ + diff --git a/core/classes/model.php b/core/classes/model.php new file mode 100644 index 0000000..f1df74b --- /dev/null +++ b/core/classes/model.php @@ -0,0 +1,11 @@ +model = new database(); + $this->model->connect($GLOBALS["config"]["database"]["host"],$GLOBALS["config"]["database"]["username"], + $GLOBALS["config"]["database"]["password"],$GLOBALS["config"]["database"]["name"]); + } + } + ?> diff --git a/core/classes/router.php b/core/classes/router.php new file mode 100644 index 0000000..f46705a --- /dev/null +++ b/core/classes/router.php @@ -0,0 +1,72 @@ +routes = $GLOBALS["config"]["routes"]; + $route = $this->findRoute(); + if(class_exists($route["controller"])){ + $controller = new $route["controller"](); + if(method_exists($controller, $route["method"])){ + $controller->{$route["method"]}(); + }else{ + // error::show(404); + // echo "Error 404"; + load::view("main::error"); + } + }else{ + // error::show(404); + // echo "Error 404"; + load::view("main::error"); + } + } + + private function routePart($route){ + if(is_array($route)){ + $route = $route["url"]; + } + $parts = explode("/", $route); + return $parts; + } + + static function uri($part){ + $parts = explode("/",$_SERVER["REQUEST_URI"]); + if($parts[1] == $GLOBALS["config"]["path"]["index"]){ + $part++; + } + return (isset($parts[$part])) ? $parts[$part] : ""; + } + + private function findRoute(){ + foreach($this->routes as $route){ + $parts = $this->routePart($route); + $allMatch = true; + foreach($parts as $key => $value){ + if($value != "*"){ + if(router::uri($key) != $value){ + $allMatch = false; + } + } + } + if($allMatch){ + return $route; + } + } + $uri_1 = router::uri(1); + $uri_2 = router::uri(2); + if($uri_1 == ""){ + $uri_1 = $GLOBALS["config"]["defaults"]["controller"]; + } + if($uri_2 == ""){ + $uri_2 = $GLOBALS["config"]["defaults"]["method"]; + } + $route = array( + "controller" => $uri_1, + "method" => $uri_2 + ); + return $route; + } + + } +?> diff --git a/core/classes/session.php b/core/classes/session.php new file mode 100644 index 0000000..c38886f --- /dev/null +++ b/core/classes/session.php @@ -0,0 +1,79 @@ + $value){ + if(!isset($_SESSION[$key])){ + json_decode($value); + if(json_last_error() == JSON_ERROR_NONE){ + $_SESSION[$key] = json_decode($value); + }else{ + $_SESSION[$key] = $value; + } + } + } + } + static function check($key){ + if(is_array($key)){ + $set = true; + foreach($key as $k){ + if(!session::check($k)){ + $set = false; + } + } + return $set; + }else{ + $key = session::generateSessionKey($key); + return isset($_SESSION[$key]); + } + } + + static function get($key){ + if(isset($_SESSION[session::generateSessionKey($key)])){ + return $_SESSION[session::generateSessionKey($key)]; + }else{ + return false; + } + } + + static function set($key, $value, $ttl = 0){ + $_SESSION[session::generateSessionKey($key)] = $value; + if($ttl !== 0){ + if(is_object($value) || is_array($value)){ + $value = json_encode($value); + } + setcookie(session::generateSessionKey($key),$value,(time()+$ttl),"/",$_SERVER["HTTP_HOST"]); + } + } + + static function kill($key){ + if(isset($_SESSION[session::generateSessionKey($key)])){ + unset($_SESSION[session::generateSessionKey($key)]); + } + if(isset($_COOKIE[session::generateSessionKey($key)])){ + setcookie(session::generateSessionKey($key),"",(time()-5000),"/",$_SERVER[HTTP_HOST]); + } + } + + static function endSession(){ + foreach($_SESSION as $key => $value){ + unset($_SESSION[$key]); + } + foreach($_COOKIE as $key => $value){ + setcookie($key, "", (time()-5000),"/",$_SERVER[HTTP_HOST]); + } + session_destroy(); + } + + static function generateSessionKey($key){ + $append = $GLOBALS["config"]["appName"]; + $version = $GLOBALS["config"]["version"]; + return md5($key.$append.$version); + } + } + ?> diff --git a/core/classes/url.php b/core/classes/url.php new file mode 100644 index 0000000..c3846af --- /dev/null +++ b/core/classes/url.php @@ -0,0 +1,62 @@ + $param){ + $append .= ($append == "") ? "?" : "&"; + $append .= urlencode($key)."=".urlencode($param); + } + return $prefix.$append; + } + + static function simple($url){ + if(strpos($url,"//") === false){ + $prefix = "//".$GLOBALS["config"]["domain"]; + }else{ + $prefix = ""; + } + return $prefix; + } + + static function redir($to, $exit = true){ + if(headers_sent()){ + echo ""; + }else{ + header("location: {$to}"); + } + if($exit){ + die(); + } + } + } + ?> diff --git a/core/interfaces/controllerInterface.php b/core/interfaces/controllerInterface.php new file mode 100644 index 0000000..f3cdca2 --- /dev/null +++ b/core/interfaces/controllerInterface.php @@ -0,0 +1,5 @@ + diff --git a/core/process.php b/core/process.php new file mode 100644 index 0000000..405bc7d --- /dev/null +++ b/core/process.php @@ -0,0 +1,8 @@ + diff --git a/index.php b/index.php new file mode 100644 index 0000000..67a681c --- /dev/null +++ b/index.php @@ -0,0 +1,34 @@ + "PHPcat", //your app name + "version" => "0.1.0", //your app version + "domain" => "localhost:6969", //your domain + "timezone" => "europe/amsterdam", //your timezone + "devmode" => true, //error handling on or of + "path" => array( + "app" => "app/", + "core" => "core/", + "session" => "app/sessions/", + "basePath" => "/Users/yourname/Documents/your-app", //your server path this is the example + "index" => "index.php" + ), + "defaults" => array( + "controller" => "main", + "method" => "index" + ), + "routes" => array(), + "database" => array( //your database connection + "host" => "localhost", + "username" => "root", + "password" => "", + "name" => "your-database" + ) + ); + + $GLOBALS["instances"] = array(); + require_once $GLOBALS["config"]["path"]["core"]."autoload.php"; + require_once $GLOBALS["config"]["path"]["core"]."process.php"; + + new router(); + + ?>