<?php /** * [type] file * [name] drop_view.php * [package] psa * [since] 2012.03.15 * [expl] action file !! */ /* $req->dump(); echo '<hr />'; */ $sql = new LitePDO('sqlite:' . $sessie->getS('psa-dir') . '/' . $sessie->getS('psa-db') . '.' . $sessie->getS('psa-ext') . ''); $q = "DROP VIEW " . $req->get('table') . " "; $sql->qo($q); $sessie->setS('psa-error', 'Table "' . $req->get('table') . '" dropped.'); header('location: controller.php?cmd=table'); exit;
<?php /** *¨[type] file * [name] record_add.php * [package] psa * [since] 2012.02.12 * [expl] */ # TODO: submit and cmd $submit->setValue('Update'); $cmd->setValue('edit_do'); /**/ $sql = new LitePDO('sqlite:' . $sessie->getS('psa-dir') . '/' . $sessie->getS('psa-db') . '.' . $sessie->getS('psa-ext') . ''); $q = "PRAGMA table_info('" . $req->get('table') . "')"; $sql->qo($q); $res = $sql->fo(); $pk = false; foreach ($res as $item) { if ($item->name == 'id') { $pk = true; } $col[] = $item->name; } if ($pk) { $q = "SELECT * FROM " . $req->get('table') . " WHERE id = " . $req->get('id'); } else { $q = "SELECT * FROM " . $req->get('table') . " WHERE ROWID = " . $req->get('id'); } $sql->qo($q); $res = $sql->fo_one();
<?php /** *¨[type] file * [name] edit_do.php * [package] psa * [since] 2010.12.29 * [expl] action file !! * [expl] todo = binder */ // $req->dump(); $sql = new LitePDO('sqlite:' . $sessie->getS('psa-dir') . '/' . $sessie->getS('psa-db') . '.' . $sessie->getS('psa-ext') . ''); $q = "PRAGMA table_info('" . $req->get('data_table') . "')"; $sql->qo($q); $res = $sql->fo(); $pk = false; foreach ($res as $item) { if ($item->name == 'id') { $pk = true; } } $keys = array_keys($_POST); $j = 0; for ($i = 0; $i < sizeof($keys); ++$i) { if ($keys[$i] == 'data_table' || $keys[$i] == 'data_id' || $keys[$i] == 'cmd' || $keys[$i] == 'submit') { continue; } $datafields[$j]['field'] = $keys[$i]; $datafields[$j]['value'] = $req->get($keys[$i]); ++$j; }
exit; } else { setcookie('testcookie', time(), time() + 600); } } else { setcookie('testcookie', 'gone', time() - 3600); header('location: login.php'); exit; } $sessie = new Session(); $valgeld = $sessie->getS('psa-valid'); if ($valgeld !== 'jaja') { header('location: login.php'); exit; } $psa = new LitePDO('sqlite:./data/base.sqlite'); $q = "SELECT * FROM base"; $psa->qo($q); $result = $psa->fo_one(); if (!$sessie->isS('psa-ext')) { $sessie->setS('psa-ext', $result->extension); } if (!$sessie->isS('psa-dir')) { $sessie->setS('psa-dir', $result->directory); } define('LIMIT', $result->nr_rows); unset($psa); $req = new Request(); $submit = new Input(); $submit->setName('submit'); $submit->setType('submit');
if ($item->colnull == 1) { $createstring .= ' NULL '; } else { $createstring .= ' NOT NULL '; } if ($item->coldefault !== '') { $createstring .= ' DEFAULT "' . $item->coldefault . '" '; } } $createstring .= ', '; /* echo $createstring; echo '<br>'; /**/ } $createstring = substr($createstring, 0, -2) . ')'; /* echo $createstring; echo '<br>'; /**/ unset($sql); $sql = new LitePDO('sqlite:' . $sessie->getS('psa-dir') . '/' . $sessie->getS('psa-db') . '.' . $sessie->getS('psa-ext') . ''); if ($sql->qo($createstring)) { $sessie->setS('psa-message', 'Table created succesfully.'); } else { $sessie->setS('psa-error', 'Table \'' . $tablename . '\' could not be created.'); } /**/ header('location: controller.php?cmd=table'); exit; /**/
<?php /** * [type] file * [name] index_add.php * [package] psa * [since] 2011.02.22 */ $submit->setValue('Create'); $cmd->setValue('index_add_do'); $sql = new LitePDO('sqlite:' . $sessie->getS('psa-dir') . '/' . $sessie->getS('psa-db') . '.' . $sessie->getS('psa-ext') . ''); $fields = array(); $q = "PRAGMA table_info('" . $req->get('table') . "')"; $sql->qo($q); $res = $sql->fo(); foreach ($res as $item) { $fields[] = $item->name; } $html = new Page(); $html->setLanguage('nl_NL'); $html->build(); $head = new Head(); $head->setCharset('UTF-8'); $head->setTitle('PSA - create index'); $head->setCss('./css/psa.css'); $head->setJs('./js/PSA.js'); $head->build(); $body = new Body(); $body->build(); include_once './inc/menubar.php'; $body->line("Index creation on table : <b>" . $req->get('table') . "</b><br>");
<?php /** * [type] file * [name] ./action/ajax_add_fields.php * [package] psa * [since] */ include_once 'loader.php'; $ajax_sql = new LitePDO('sqlite:../data/base.sqlite'); $error = FALSE; $errmsg = ''; // tblname not blank if ($req->get('tblname') === '') { $error = true; $errmsg = 'oeps - Table name may not be blank'; } // colname not blank if (!$error) { if ($req->get('colname') === '') { $error = 'true'; $errmsg = 'oeps - Column name may not be blank'; } } // no columns with same name if (!$error) { $q = "SELECT colname FROM temp_table_fields WHERE colname = '" . $req->get('colname') . "' "; // echo $q; $ajax_sql->qo($q); $res = $ajax_sql->fo_one(); //var_dump($res);
<?php /** * [type] file * [name] drop_column.php * [package] psa * [since] 2012.01.21 * [expl] action file !! */ /* $req->dump(); echo '<hr />'; */ $sql = new LitePDO('sqlite:' . $sessie->getS('psa-dir') . '/' . $sessie->getS('psa-db') . '.' . $sessie->getS('psa-ext') . ''); // get list of existing columns // copy to temp leaving out the column to be deleted $q = "PRAGMA table_info('" . $req->get('table') . "')"; $sql->qo($q); $rescols = $sql->fo(); if (sizeof($rescols) === 1) { $q = "DROP TABLE " . $req->get('table') . " "; $sql->qo($q); $sessie->setS('psa-error', 'Table "' . $req->get('table') . '" dropped. No more columns'); header('location: controller.php?cmd=table'); exit; } $string = ''; $begin = true; $colums = ''; foreach ($rescols as $item) { if ($item->name === $req->get('col')) {
<?php /** * [type] file * [name] setup.php * [package] psa * [since] 2010.09.22 */ include_once './classes/Session.php'; include_once './classes/LitePDO.php'; include_once './classes/File.php'; if (!file_exists('data')) { mkdir('data'); } $psa = new LitePDO('sqlite:./data/base.sqlite'); $q = "CREATE TABLE queries (id INTEGER PRIMARY KEY, qs TEXT , datum DATETIME(20), db VARCHAR(50), fine INTEGER(1))"; $psa->qo($q); $q = "CREATE TABLE base (directory VARCHAR(128) , extension VARCHAR(20) , nr_rows INTEGER(7) , user VARCHAR(128) , pass VARCHAR(128))"; $psa->qo($q); $q = "INSERT INTO base (directory,extension, nr_rows , user, pass) VALUES ('./data','sqlite',20,'admin','9451810adcc13a25e610332880cc447a')"; $psa->qo($q); $q = "CREATE TABLE temp_table_fields (\n\t\tid INTEGER PRIMARY KEY\n\t\t,tblname VARCHAR(128)\n\t\t,colname VARCHAR(128)\n\t\t,coltype VARCHAR(48)\n\t\t,colsize INT(10)\n\t\t,colprime INT(1)\n\t\t, colnull INT(1)\n\t\t, coldefault VARCHAR(128))"; $psa->qo($q); unset($psa); header('location: login.php'); exit;
$datum = date('Y-m-d H:i:s'); $db = $sessie->getS('psa-db'); $fine = 1; try { $tps->bindparam(':qs', $qar); $tps->bindparam(':datum', $datum); $tps->bindparam(':db', $db); $tps->bindparam(':fine', $fine); $tps->execute(); } catch (PDOException $e) { echo 'Connection failed: ' . $e->getMessage(); } /**/ unset($psa); // QUERY $sql = new LitePDO('sqlite:' . $sessie->getS('psa-dir') . '/' . $sessie->getS('psa-db') . '.' . $sessie->getS('psa-ext') . ''); $q = stripslashes($req->get('qs')); $q_ar = explode(";", $q); $error = FALSE; for ($i = 0; $i < sizeof($q_ar); ++$i) { if (trim($q_ar[$i]) === '') { continue; } $sql->qo($q_ar[$i]); if ($sessie->isS('sqler')) { /* echo 'sqler is set : '.$sessie->getS('sqler'); echo '<hr>'; $class = $sessie->getS('sqler');
<?php /** * [type] file * [name] ./action/ajax_delete_field.php * [package] psa * [since] */ include_once 'loader.php'; // validate received data $ajax_sql = new LitePDO('sqlite:../data/base.sqlite'); $q = "DELETE FROM temp_table_fields WHERE id = " . $req->get('field') . " "; $ajax_sql->qo($q); $q = "SELECT * FROM temp_table_fields"; $ajax_sql->qo($q); $res = $ajax_sql->fo(); $tab = '<table>'; $tab .= '<thead> <th>name</th> <th>type</th> <th>size</th> <th>prime</th> <th>null</th> <th>default</th> </thead><tbody>'; if (!$res) { $tab .= '</tbody></table>'; } else { foreach ($res as $item) { $tab .= ' <tr><td>' . $item->colname . '</td><td>' . $item->coltype . '</td><td>' . $item->colsize . '</td><td>' . $item->colprime . '</td><td>' . $item->colnull . '</td><td>' . $item->coldefault . '</td><td><a href="#" onclick="PSA.tablerow_delete(' . $item->id . ');"><button>delete</button></a>' . '</td></tr>';
exit; } } if ($req->is('db')) { if ($req->get('db') == '') { $sessie->setS('psa-error', 'No database set.'); header('location: controller.php?cmd=base'); exit; } $sessie->setS('psa-db', urldecode($req->get('db'))); } // PAGING if (!$sessie->isS('bottom')) { $sessie->setS('bottom', 0); } $sql = new LitePDO('sqlite:' . $sessie->getS('psa-dir') . '/' . $sessie->getS('psa-db') . '.' . $sessie->getS('psa-ext') . ''); $q = "SELECT name FROM sqlite_master WHERE type = 'table' ORDER BY name"; $sql->qo($q); $res = $sql->fo(); // echo "BOTTOM WAARDE : <b><h1>".$sessie->getS('bottom')."</h1></b>"; $html = new Page(); $html->setLanguage('nl_NL'); $html->build(); $head = new Head(); $head->setCharset('UTF-8'); $head->setTitle('PSA - database schema'); $head->setCss('./css/psa.css', 'screen'); $head->setCss('./css/psaprint.css', 'print'); $head->setjs('./js/PSA.js'); $head->build(); $body = new Body();
<?php /** * [type] file * [name] table_add.php * [package] psa * [since] 2011.02.10 */ // $req->dump(); // begin with a fresh state $base_sql = new LitePDO('sqlite:./data/base.sqlite'); $base_q = "DELETE FROM temp_table_fields"; $base_sql->qo($base_q); unset($base_sql); $sql = new LitePDO('sqlite:' . $sessie->getS('psa-dir') . '/' . $sessie->getS('psa-db') . '.' . $sessie->getS('psa-ext') . ''); $html = new Page(); $html->setLanguage('nl_NL'); $html->build(); $head = new Head(); $head->setCharset('UTF-8'); $head->setTitle('PSA - add table'); $head->setCss('./css/psa.css'); $head->setJs('./js/PSA.js'); $head->build(); $body = new Body(); $body->build(); include_once './inc/menubar.php'; // TODO: check if table name already exists $name = new Input(); $name->setName('tblname'); $name->setSize(50);
<?php /** * [type] file * [name] vacuum_db.php * [package] psa * [since] 2010.10.21 * [expl] action file */ $sql = new LitePDO('sqlite:' . $sessie->getS('psa-dir') . '/' . $req->get('db') . '.' . $sessie->getS('psa-ext') . ''); $sql->qo('VACUUM'); $sessie->setS('psa-message', 'Vacuum performed on "' . $req->get('db') . '".'); header('location: controller.php?cmd=base'); exit;
$sessie->setS('psa-error', 'Directory does not exist.'); header('location: controller.php'); exit; } // check if directory is writable if (!is_writable($req->get('directory'))) { $sessie->setS('psa-error', "Directory not writable."); header("location: controller.php?cmd=base"); exit; } } } if ($req->is('extension')) { $sessie->setS('psa-dir', $req->get('directory')); $sessie->setS('psa-ext', $req->get('extension')); $psa = new LitePDO('sqlite:./data/base.sqlite'); $q = "UPDATE\n\t\tbase\n\tSET\n\t\tdirectory = :directory\n\t\t, extension = :extension\n\t\t, nr_rows = :nr_rows\n\t"; $psa->binder('directory', $req->get('directory')); $psa->binder('extension', $req->get('extension')); $psa->binder('nr_rows', $req->get('nr_rows')); $psa->qo($q); unset($psa); } if ($sessie->isS('psa-db')) { $sessie->unsetS('psa-db'); } if (!is_writable($sessie->getS('psa-dir'))) { $sessie->setS('psa-error', "Directory not writable."); header("location: controller.php"); exit; }