Esempio n. 1
0
 public function prepareQuery()
 {
     $sql = $this->query;
     // prepara SQL
     // a configuracao pode ser com a SQL pura (corrida) ou quebrada em partes
     if (is_array($sql)) {
         $where = isset($sql['where']) ? $sql['where'] : NULL;
         $sql['where'] = Builder::replaceSQL($where);
         // apply search filters
         if ($this->enableSearchBox && isset($_GET['squery']) && strlen($_GET['squery']) > 0) {
             $sql = Db::searchWhere($sql, $this->sqlCols, filter_input(INPUT_GET, 'squery'));
         }
     } else {
         $sql = Builder::replaceSQL($sql);
     }
     return $sql;
 }
Esempio 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;
 }
Esempio n. 3
0
        $pages[$path] = $page->toArray();
        \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));