$crud = new CrudKitApp(); $crud->setStaticRoot("/src/static"); $page4 = new BasicDataPage('dummy4'); $page4->setName("SQLITE PAGE"); $sqliteProvider = new SQLiteDataProvider("fixtures/chinook.sqlite"); $sqliteProvider->setTable("Customer"); $sqliteProvider->setPrimaryColumn("a0", "CustomerId"); $sqliteProvider->addColumn("a1", "FirstName", "First Name"); $sqliteProvider->addColumn("a2", "LastName", "Last Name"); $sqliteProvider->addColumn("a3", "City", "City"); $sqliteProvider->addColumn("a4", "Country", "Country"); $sqliteProvider->addColumn("a5", "Email", "Email"); $sqliteProvider->setSummaryColumns(array("a1", "a2")); $sqliteProvider->manyToOne("a6", "SupportRepId", "Employee", "EmployeeId", "FirstName", "Support Rep"); $page4->setDataProvider($sqliteProvider); $crud->addPage($page4); $page5 = new BasicDataPage('dummy5'); $page5->setName("Employees"); $empProvider = new SQLiteDataProvider("fixtures/chinook.sqlite"); $empProvider->setTable("Employee"); $empProvider->setPrimaryColumn("b0", "EmployeeId"); $empProvider->addColumn("b1", "FirstName", "First Name"); $empProvider->addColumn("b2", "LastName", "Last Name"); $empProvider->manyToOne("b3", "ReportsTo", "Employee", "EmployeeId", "FirstName", "Reports To"); $empProvider->oneToMany("b4", $sqliteProvider, "SupportRepId", "b0", "Customers"); $empProvider->setSummaryColumns(array("b1", "b2")); $page5->setDataProvider($empProvider); $crud->addPage($page5); $invProvider = new SQLiteDataProvider("fixtures/chinook.sqlite"); $invProvider->setTable("Invoice"); $invProvider->setPrimaryColumn("b0", "InvoiceId");
<?php // Require CrudKit application require "crudkit/crudkit.php"; use CrudKit\CrudKitApp; use CrudKit\Pages\HtmlPage; // Create a new CrudKitApp object $app = new CrudKitApp(); // Create a new Page, of type "HtmlPage" which allows you to display arbitrary HTML inside $page = new HtmlPage("mypage1"); // Every page needs to have a unique ID $page->setName("My First Page"); // setName is available for all pages. $page->setInnerHtml("This is page # <b>1</b>"); // You can set the HTML of this page, a feature supported by HtmlPage $app->addPage($page); $page2 = new HtmlPage("mypage2"); $page2->setName("My Second Page"); $page2->setInnerHtml("This is page # <b>2</b>"); $app->addPage($page2); // Render the app. This will display the HTML $app->render();
use CrudKit\CrudKitApp; use CrudKit\Pages\SQLiteTablePage; use CrudKit\Pages\BasicLoginPage; // Create a new CrudKitApp object $app = new CrudKitApp(); $app->setAppName("Admin Panel"); $login = new BasicLoginPage(); if ($login->userTriedLogin()) { $username = $login->getUserName(); $password = $login->getPassword(); // TODO: you should use a better way to validate the password. Even if if ($username === 'admin' && $password === 'demo') { $login->success(); } else { if ($username === 'user' && $password === 'demo') { $app->setReadOnly(true); $login->success(); } else { $login->fail("Please check your password"); } } } $app->useLogin($login); $page = new SQLiteTablePage("sqlite2", "fixtures/chinook.sqlite"); $page->setName("Customer Management")->setTableName("Customer")->setRowsPerPage(20)->setPrimaryColumn("CustomerId")->addColumn("FirstName", "First Name", array('required' => true))->addColumn("LastName", "Last Name")->addColumn("City", "City", array('required' => true))->addColumn("Country", "Country")->addColumn("Email", "E-mail")->setSummaryColumns(array("FirstName", "Country")); $app->addPage($page); $invoice = new SQLiteTablePage("sqlite1", "fixtures/chinook.sqlite"); $invoice->setName("Invoice")->setPrimaryColumnWithId("a0", "InvoiceId")->setTableName("Invoice")->addColumnWithId("a1", "BillingCity", "City")->addColumnWithId("a2", "BillingCountry", "Country")->addColumnWithId("a3", "Total", "Total")->addColumnWithId("a4", "InvoiceDate", "Date", array())->setSummaryColumns(["a1", "a2", "a3", "a4"]); $app->addPage($invoice); // Render the app. This will display the HTML $app->render();
<?php // Require CrudKit application require "crudkit/crudkit.php"; use CrudKit\CrudKitApp; use CrudKit\Pages\SQLiteTablePage; // Create a new CrudKitApp object $app = new CrudKitApp(); $page = new SQLiteTablePage("sqlite1", "fixtures/chinook.sqlite"); $page->setName("Customer Management")->setTableName("Customer")->setPrimaryColumnWithId("c1", "CustomerId")->addColumnWithId("c2", "FirstName", "First Name")->addColumnWithId("c3", "LastName", "Last Name")->addColumnWithId("c4", "City", "City")->addColumnWithId("c5", "Country", "Country")->addColumnWithId("c6", "Email", "E-mail")->setSummaryColumns(array("c1", "c5")); $app->addPage($page); // Render the app. This will display the HTML $app->render();
public function testHelloWorld() { $crud = new CrudKitApp(); $crud->addPage(new BasePage()); $this->assertEquals($crud->say(), "Hello World"); }