Various Modifications
Move everything into App Directory Add a SQLite Library
This commit is contained in:
parent
52b3f04ade
commit
a371f1b0ff
@ -1,7 +1,7 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
class Welcome_controller extends Controller {
|
class Welcome_controller extends Controller {
|
||||||
public function __construct() { }
|
public function __construct() {}
|
||||||
|
|
||||||
public function index() {
|
public function index() {
|
||||||
$this->load_views('welcome');
|
$this->load_views('welcome');
|
@ -47,19 +47,11 @@ class Controller {
|
|||||||
if(isset($a) && isset($func)) {
|
if(isset($a) && isset($func)) {
|
||||||
if(is_array($a)) {
|
if(is_array($a)) {
|
||||||
foreach($a as $aa) {
|
foreach($a as $aa) {
|
||||||
if(defined('PHP_DIR')) {
|
$f = APP_ROOT."/".$func."/".$aa.".php";
|
||||||
$f = PHP_DIR.$func."/".$aa.".php";
|
|
||||||
} else {
|
|
||||||
$f = $func."/".$aa.".php";
|
|
||||||
}
|
|
||||||
$this->_load_file($f, ($multi===true), $vars);
|
$this->_load_file($f, ($multi===true), $vars);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if(defined('PHP_DIR')) {
|
$f = APP_ROOT."/".$func."/".$a.".php";
|
||||||
$f = PHP_DIR.$func."/".$a.".php";
|
|
||||||
} else {
|
|
||||||
$f = $func."/".$a.".php";
|
|
||||||
}
|
|
||||||
$this->_load_file($f, ($multi===true), $vars);
|
$this->_load_file($f, ($multi===true), $vars);
|
||||||
}
|
}
|
||||||
}
|
}
|
96
app/libraries/sqlite_library.php
Normal file
96
app/libraries/sqlite_library.php
Normal file
@ -0,0 +1,96 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
class Anvil_SQLite {
|
||||||
|
private $handle;
|
||||||
|
private $db_file_name;
|
||||||
|
private $config_db_name = "/db/my_db.sqlite";
|
||||||
|
|
||||||
|
private $sel_cols = array();
|
||||||
|
private $where_arr = array();
|
||||||
|
|
||||||
|
private $result;
|
||||||
|
|
||||||
|
function __construct($no_open=FALSE) {
|
||||||
|
if($no_open===FALSE) {
|
||||||
|
$this->open_db();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function open_db() {
|
||||||
|
$this->db_file_name = APP_ROOT.$this->config_db_name;
|
||||||
|
$this->handle = new SQLite3($this->db_file_name);
|
||||||
|
}
|
||||||
|
|
||||||
|
function query($query, $escape=TRUE) {
|
||||||
|
$do_query = ($escape===TRUE)?$this->handle->escapeString($query):$query;
|
||||||
|
$this->result = $this->handle->query($do_query);
|
||||||
|
return $this->result;
|
||||||
|
}
|
||||||
|
|
||||||
|
function select($colnames) {
|
||||||
|
$colnames=(is_array($colnames)?$colnames:array($colnames));
|
||||||
|
$this->sel_cols = $colnames;
|
||||||
|
}
|
||||||
|
|
||||||
|
function where(array $where_arr) {
|
||||||
|
$this->where_arr = $where_arr;
|
||||||
|
}
|
||||||
|
|
||||||
|
function get($tablename) {
|
||||||
|
// Build the 'SELECT' part of the query
|
||||||
|
$select_q= "SELECT ";
|
||||||
|
$num_sel_cols = count($this->sel_cols);
|
||||||
|
if($num_sel_cols == 0) {
|
||||||
|
$select_q.="* ";
|
||||||
|
} else {
|
||||||
|
foreach($this->sel_cols as $a_col) {
|
||||||
|
$select_q.=$a_col;
|
||||||
|
if(--$num_sel_cols > 0)
|
||||||
|
$select_q.=", ";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// Build the 'FROM' part of the query
|
||||||
|
$from_q = "FROM ".$tablename." ";
|
||||||
|
// Build the 'WHERE' part of the query
|
||||||
|
$where_q = "";
|
||||||
|
$num_where_arr = count($this->where_arr);
|
||||||
|
if($num_where_arr > 0) {
|
||||||
|
$where_q = "WHERE ";
|
||||||
|
foreach($this->where_arr as $a_col => $a_where) {
|
||||||
|
$where_q.=$a_col." = '".$a_where."' ";
|
||||||
|
if(--$num_where_arr > 0)
|
||||||
|
$where_q.="AND ";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return $this->query($select_q.$from_q.$where_q);
|
||||||
|
}
|
||||||
|
|
||||||
|
function fetch_array($res=NULL) {
|
||||||
|
$res=(isset($res)?$res:$this->result);
|
||||||
|
$i = 0;
|
||||||
|
while($resx = $res->fetchArray(SQLITE3_ASSOC)) {
|
||||||
|
$ret_arr[] = $resx;
|
||||||
|
}
|
||||||
|
return $ret_arr;
|
||||||
|
}
|
||||||
|
|
||||||
|
function insert($tablename, array $val_arr) {
|
||||||
|
$ins_q = "INSERT INTO ".$tablename;
|
||||||
|
$num_cols = count($val_arr);
|
||||||
|
if($num_cols <= 0) { return false; }
|
||||||
|
|
||||||
|
$ins_col1 = "(";
|
||||||
|
$ins_col2 = " VALUES (";
|
||||||
|
foreach($val_arr as $col_n => $val) {
|
||||||
|
$ins_col1 .= $col_n;
|
||||||
|
$ins_col2 .= "\"".$val."\"";
|
||||||
|
if(--$num_cols > 0) {
|
||||||
|
$ins_col1 .= ", ";
|
||||||
|
$ins_col2 .= ", ";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
$ins_col1 .= ")";
|
||||||
|
$ins_col2 .= ")";
|
||||||
|
return $this->query($ins_q.$ins_col1.$ins_col2);
|
||||||
|
}
|
||||||
|
}
|
52
app/views/welcome.php
Normal file
52
app/views/welcome.php
Normal file
@ -0,0 +1,52 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<title>Welcome to the Anvil Framework</title>
|
||||||
|
<style type="text/css">
|
||||||
|
body {
|
||||||
|
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
|
||||||
|
font-size: 14px;
|
||||||
|
color: #333;
|
||||||
|
}
|
||||||
|
.welcome_div {
|
||||||
|
position:relative;
|
||||||
|
margin:15px 0;
|
||||||
|
padding:39px 19px 14px;
|
||||||
|
background-color:#FFF;
|
||||||
|
border:1px solid #DDD;
|
||||||
|
-webkit-border-radius: 4px;
|
||||||
|
-moz-border-radius: 4px;
|
||||||
|
border-radius: 4px;
|
||||||
|
}
|
||||||
|
.welcome_div::after {
|
||||||
|
content: "Anvil_PHP";
|
||||||
|
position: absolute;
|
||||||
|
top: -1px;
|
||||||
|
left: -1px;
|
||||||
|
padding:3px 7px;
|
||||||
|
font-size: 12px;
|
||||||
|
font-weight: bold;
|
||||||
|
background-color: whiteSmoke;
|
||||||
|
border: 1px solid #DDD;
|
||||||
|
color: #9DA0A4;
|
||||||
|
-webkit-border-radius: 4px 0 4px 0;
|
||||||
|
-moz-border-radius: 4px 0 4px 0;
|
||||||
|
border-radius: 4px 0 4px 0;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
</head>
|
||||||
|
<body style="text-align:left; padding-left:50px;">
|
||||||
|
<div class="welcome_div">
|
||||||
|
Welcome to the Anvil Framework!
|
||||||
|
<ul>
|
||||||
|
<li>Controllers go in the app/controllers directory</li>
|
||||||
|
<li>Models go in the app/models directory</li>
|
||||||
|
<li>Views go in the app/views directory</li>
|
||||||
|
<li>Libraries/Add-ons go in the app/libraries directory</li>
|
||||||
|
</ul>
|
||||||
|
<p>If you place the Application Root anywhere other than the default, then you need to change the "APP_ROOT" constant in index.php</p>
|
||||||
|
<p>Next, define your main controller in the config.php file</p>
|
||||||
|
<p>That is the controller that will run if no other controller is specified.</p>
|
||||||
|
</div>
|
||||||
|
</body>
|
||||||
|
</html>
|
19
index.php
19
index.php
@ -1,18 +1,21 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
require_once('config.php');
|
define("PHP_ROOT","");
|
||||||
|
define("APP_ROOT","app");
|
||||||
|
|
||||||
|
require_once(APP_ROOT.'/config.php');
|
||||||
|
|
||||||
// Load up the base classes
|
// Load up the base classes
|
||||||
require_once('core/Controller.php');
|
require_once(APP_ROOT.'/core/Controller.php');
|
||||||
require_once('core/Model.php');
|
require_once(APP_ROOT.'/core/Model.php');
|
||||||
// We need the uri library for things to work
|
// We need the uri library for things to work
|
||||||
require_once('core/uri_library.php');
|
require_once(APP_ROOT.'/core/uri_library.php');
|
||||||
// Load up the globals
|
// Load up the globals
|
||||||
foreach($global_libraries as $alib) {
|
foreach($global_libraries as $alib) {
|
||||||
require_once('libraries/'.$alib.'_library.php');
|
require_once(APP_ROOT.'/libraries/'.$alib.'_library.php');
|
||||||
}
|
}
|
||||||
foreach($global_models as $amod) {
|
foreach($global_models as $amod) {
|
||||||
require_once('models/'.$amod.'_model.php');
|
require_once(APP_ROOT.'/models/'.$amod.'_model.php');
|
||||||
}
|
}
|
||||||
// Buffer all output for speed!
|
// Buffer all output for speed!
|
||||||
ob_start();
|
ob_start();
|
||||||
@ -21,7 +24,7 @@ $uri = new Uri_library($_SERVER['REQUEST_URI']);
|
|||||||
$uri_array = $uri->getFullArray();
|
$uri_array = $uri->getFullArray();
|
||||||
while($starting_token-- > 0) { array_shift($uri_array); }
|
while($starting_token-- > 0) { array_shift($uri_array); }
|
||||||
// Check if $uri->getItem(0) is a controller
|
// Check if $uri->getItem(0) is a controller
|
||||||
if(file_exists('controllers/'.$uri_array[0].'_controller.php')) {
|
if(file_exists(APP_ROOT.'/controllers/'.$uri_array[0].'_controller.php')) {
|
||||||
// File exists, set the cc_name and pop the uri_array
|
// File exists, set the cc_name and pop the uri_array
|
||||||
$class_name = array_shift($uri_array);
|
$class_name = array_shift($uri_array);
|
||||||
$cc_name = $class_name."_controller";
|
$cc_name = $class_name."_controller";
|
||||||
@ -30,7 +33,7 @@ if(file_exists('controllers/'.$uri_array[0].'_controller.php')) {
|
|||||||
$cc_name = $default_controller."_controller";
|
$cc_name = $default_controller."_controller";
|
||||||
}
|
}
|
||||||
// Pull in the requested Controller
|
// Pull in the requested Controller
|
||||||
require_once('controllers/'.$cc_name.'.php');
|
require_once(APP_ROOT.'/controllers/'.$cc_name.'.php');
|
||||||
|
|
||||||
$c_class = new $cc_name;
|
$c_class = new $cc_name;
|
||||||
// Were we provided a method?
|
// Were we provided a method?
|
||||||
|
@ -1,20 +0,0 @@
|
|||||||
<!DOCTYPE html>
|
|
||||||
<html>
|
|
||||||
<head>
|
|
||||||
<title>Welcome to the Anvil Framework</title>
|
|
||||||
</head>
|
|
||||||
<body style="text-align:left; padding-left:50px;">
|
|
||||||
Welcome to the Anvil Framework!
|
|
||||||
Everything is pretty self explanatory.
|
|
||||||
<ul>
|
|
||||||
<li>Controllers go in the controllers directory</li>
|
|
||||||
<li>Models go in the models directory</li>
|
|
||||||
<li>Views go in the views directory</li>
|
|
||||||
<li>Libraries/Add-ons go in the libraries directory</li>
|
|
||||||
</ul>
|
|
||||||
Define your main controller in the config.php file.<br />
|
|
||||||
That is the controller that will run if no other controller is specified.<br />
|
|
||||||
<br />
|
|
||||||
For more help, view the help
|
|
||||||
</body>
|
|
||||||
</html>
|
|
Loading…
Reference in New Issue
Block a user