summaryrefslogtreecommitdiffstats
path: root/backend/php-sqlite
diff options
context:
space:
mode:
Diffstat (limited to 'backend/php-sqlite')
-rw-r--r--backend/php-sqlite/index.php103
-rw-r--r--backend/php-sqlite/wwwsqldesigner.sqlitebin0 -> 5120 bytes
2 files changed, 103 insertions, 0 deletions
diff --git a/backend/php-sqlite/index.php b/backend/php-sqlite/index.php
new file mode 100644
index 0000000..fa12fed
--- /dev/null
+++ b/backend/php-sqlite/index.php
@@ -0,0 +1,103 @@
+<?php
+ function setup_saveloadlist() {
+ define( "FILE" , "wwwsqldesigner.sqlite" );
+ define( "TABLE" , "wwwsqldesigner" );
+ }
+ function setup_import() {
+ header( 'HTTP/1.0 501 Not Implemented' );
+ die;
+ }
+ function connect() {
+ if( !file_exists( FILE ) ) $initReq = true;
+ $GLOBALS['sqlConnect'] = sqlite_open( FILE , 0666 );
+ if( !$GLOBALS['sqlConnect'] ) return false;
+ if( $initReq ) {
+ $initSQL = "CREATE TABLE wwwsqldesigner (
+ keyword varchar(30) NOT NULL default '',
+ data TEXT ,
+ dt DATETIME DEFAULT CURRENT_TIMESTAMP ,
+ PRIMARY KEY ( keyword )
+ );";
+ $res = sqlite_exec( $initSQL , $GLOBALS['sqlConnect'] );
+ return $res;
+ }
+ return true;
+ }
+ function import() {
+ header( 'HTTP/1.0 501 Not Implemented' );
+ }
+
+ $a = (isset($_GET["action"]) ? $_GET["action"] : false);
+ switch( $a ) {
+ case 'list' :
+ setup_saveloadlist();
+ if( !connect() ) {
+ header( 'HTTP/1.0 503 Service Unavailable' );
+ break;
+ }
+ $result = sqlite_query( "SELECT keyword FROM ".TABLE." ORDER BY dt DESC" , $GLOBALS['sqlConnect'] );
+ if( sqlite_num_rows( $result )>0 ) {
+ while( $row = sqlite_fetch_array( $result ) ) {
+ echo $row['keyword']."\n";
+ }
+ } else {
+ echo "--No Designs Saved";
+ }
+ break;
+ case 'save' :
+ setup_saveloadlist();
+ if( !connect() ) {
+ header( 'HTTP/1.0 503 Service Unavailable' );
+ break;
+ }
+ $keyword = ( isset( $_GET['keyword'] ) ? $_GET['keyword'] : '' );
+ $keyword = sqlite_escape_string( $keyword );
+ $data = file_get_contents( "php://input" );
+ if( get_magic_quotes_gpc()
+ || get_magic_quotes_runtime() ) {
+ $data = stripslashes( $data );
+ }
+ $data = sqlite_escape_string( $data );
+ $r = sqlite_query( "SELECT * FROM ".TABLE." WHERE keyword = '$keyword'" , $GLOBALS['sqlConnect'] );
+ if( sqlite_num_rows($r)>0 ) {
+ $res = sqlite_query( "UPDATE ".TABLE." SET data = '$data' WHERE keyword = '$keyword'" , $GLOBALS['sqlConnect'] );
+ } else {
+ $res = sqlite_query( "INSERT INTO ".TABLE." (keyword, data) VALUES ('$keyword', '$data')" , $GLOBALS['sqlConnect'] );
+ }
+ if( !$res ) {
+ header( 'HTTP/1.0 500 Internal Server Error' );
+ } else {
+ header( 'HTTP/1.0 201 Created' );
+ }
+ break;
+ case 'load' :
+ setup_saveloadlist();
+ if ( !connect() ) {
+ header( 'HTTP/1.0 503 Service Unavailable' );
+ break;
+ }
+ $keyword = ( isset( $_GET['keyword'] ) ? $_GET['keyword'] : '' );
+ $keyword = sqlite_escape_string( $keyword );
+ $result = sqlite_query( "SELECT `data` FROM ".TABLE." WHERE keyword = '$keyword'" , $GLOBALS['sqlConnect'] );
+ $row = sqlite_fetch_array( $result );
+ if( !$row ) {
+ header( 'HTTP/1.0 404 Not Found' );
+ } else {
+ header( 'Content-type: text/xml' );
+ echo $row['data'];
+ }
+ break;
+ case 'import' :
+ setup_import();
+ default:
+ header( 'HTTP/1.0 501 Not Implemented' );
+ }
+
+
+ /*
+ list: 501/200
+ load: 501/200/404
+ save: 501/201
+ import: 501/200
+ */
+?> \ No newline at end of file
diff --git a/backend/php-sqlite/wwwsqldesigner.sqlite b/backend/php-sqlite/wwwsqldesigner.sqlite
new file mode 100644
index 0000000..4ac1255
--- /dev/null
+++ b/backend/php-sqlite/wwwsqldesigner.sqlite
Binary files differ