Exemplo n.º 1
0
        \Meta\Builder::write('pages', $pages);
    }
    echo json_encode(array('errors' => $errors, 'obj' => $object));
});
// new
route_add('builder/editobject/*/*', function ($path, $oid) {
    $pages = \Meta\Builder::read('pages');
    $page = new \Meta\Builder\Page($path, $pages[$path]);
    $object = $page->objects[$oid];
    echo json_encode($object);
});
route_add('builder/analizesql/*/*', function ($pname, $oid) {
    $errors = array();
    $cols = array();
    $sql = \Meta\Builder::replaceSQL(\Meta\Core\Db::sqlNormalize($_REQUEST['query']));
    $statement = \Meta\Core\Db::getPDO()->prepare($sql);
    if ($statement->execute()) {
        for ($i = 0; $i < $statement->columnCount(); $i++) {
            $meta = $statement->getColumnMeta($i);
            //            $cols[$meta['name']] = $meta['native_type'];
            $cols[$meta['name']] = $meta['name'];
        }
    } else {
        $errors = $statement->errorInfo();
    }
    // ataualiza colunas do SQL na base (array)
    $pages = \Meta\Builder::read('pages');
    $pages[$pname]['objects'][$oid]['sqlCols'] = $cols;
    \Meta\Builder::write('pages', $pages);
    echo json_encode(array('errors' => $errors, 'sql_cols' => $cols));
});
Exemplo n.º 2
0
 public static function sqlError($sql)
 {
     $error = null;
     try {
         $sql = \Meta\Core\Db::sqlNormalize($sql);
         $sql = \Meta\Builder::replaceSQL($sql);
         $statement = \Meta\Core\Db::getPDO()->prepare($sql);
         if (!$statement->execute()) {
             $error = implode(', ', $statement->errorInfo());
         }
     } catch (Exception $e) {
         $error = $e->getMessage();
     }
     return $error;
 }
Exemplo n.º 3
0
 public static function colNames($table)
 {
     $q = \Meta\Core\Db::getPDO()->prepare("DESCRIBE {$table}");
     $q->execute();
     return $q->fetchAll(\PDO::FETCH_COLUMN);
 }