Example #1
0
<?php

global $DEB;
$DEB = new Debby("test.db", "", "", "sqlite3", "YYYY-mm-dd");
Ruth::setOBJECT("DEB", $DEB);
Example #2
0
 /**
  * Create a database connection for Kim to use.
  */
 function __construct()
 {
     $this->createDB = false;
     if (!file_exists(realpath(__DIR__ . "/../") . "/kim.db")) {
         $this->createDB = true;
     }
     $this->KIM = new Debby(realpath(__DIR__ . "/../") . "/kim.db", $username = "", $password = "", $dbtype = "sqlite3", $outputdateformat = "YYYY-mm-dd", "KIM");
     Ruth::setOBJECT("KIM", $this->KIM);
     /**
      * Check if we need to be creating the database for the menus
      */
     if ($this->createDB) {
         $this->createDatabase();
     }
     if (Ruth::getOBJECT("DEB")) {
         if (!file_exists(Ruth::getDOCUMENT_ROOT() . "/migrations/19000101100000 initial_kim_global_settings.sql") || !file_exists(Ruth::getDOCUMENT_ROOT() . "/migrations/19000101100001 initial_kim_content_table.sql")) {
             $sqlGlobalSettings = "create table global_setting (\n                                            global_setting_id integer default 0 not null,\n                                            global_name varchar (100) default 'ENVIRONMENT',\n                                            global_value varchar (200) default 'Development',\n                                            description text default '',\n                                            created timestamp default 'now',\n                                            updated timestamp default 'now',\n                                            primary key (global_setting_id)\n                                        );";
             file_put_contents(Ruth::getDOCUMENT_ROOT() . "/migrations/19000101100000 initial_kim_global_settings.sql", $sqlGlobalSettings);
             $sqlContentTable = "create table content (\n                                            content_id integer default 0 not null,\n                                            title varchar (200) default '',\n                                            description varchar (1000) default '',\n                                            content blob,\n                                            status varchar (20) default 'Active',\n                                            order_index integer default 0,\n                                            primary key (content_id)\n                                        )";
             file_put_contents(Ruth::getDOCUMENT_ROOT() . "/migrations/19000101100001 initial_kim_content_table.sql", $sqlContentTable);
         }
     }
     //Add the default routes for Kim
     Ruth::addRoute(RUTH_GET, "/kim/logout", function () {
         Ruth::setSESSION("KIM", ["loggedin" => 0]);
         Ruth::redirect("/kim/login");
     });
     Ruth::addRoute(RUTH_GET, "/kim/menu/get/{menuId}", function ($menuId) {
         echo (new Kim())->getMenuItemForm($menuId);
     });
     Ruth::addRoute(RUTH_GET, "/kim/menu/{controller}", function ($controller) {
         switch ($controller) {
             case "menu_tree":
                 echo (new Kim())->getMenuTree();
                 break;
             case "insert":
                 echo (new Kim())->getInsertMenuItemForm();
                 break;
             default:
                 echo "{$controller} not found";
                 break;
         }
     });
     Ruth::addRoute(RUTH_POST, "/kim/menu/{controller}", function ($controller) {
         switch ($controller) {
             case "menu_list":
                 echo (new Kim())->getMenuList();
                 break;
             case "insert":
                 echo (new Kim())->insertMenuItem();
                 echo (new Kim())->getMenuTree();
                 break;
             case "delete":
                 echo (new Kim())->deleteMenuItem();
                 break;
             case "update":
                 echo (new Kim())->updateMenuItem();
                 echo (new Kim())->getMenuTree();
                 break;
             default:
                 echo "{$controller} not found";
                 break;
         }
     });
     Ruth::addRoute(RUTH_GET, "/kim/*", function () {
         (new Kim())->display();
     });
     Ruth::addRoute(RUTH_POST, "/kim/*", function () {
         (new Kim())->updatePOST();
     });
 }