Example #1
0
 public static function detail($orm, $id, $fields, $writable = true, $relations = null, $relations_limit = 10)
 {
     // 'main' will refer to main object, and 'rel' to its relations
     $main_crud = new CRUD($orm, $fields);
     $main_crud->filter(array('id' => array('=', $id)));
     $_SESSION['CRUDPage']['crud'][$main_crud->getHash()] = $main_crud;
     $main = array('hash' => $main_crud->getHash(), 'data' => $main_crud->getSingleRowWithTitles(), 'widgeted_data' => $main_crud->getWidgets($main_crud->getSingleRawRow()), 'id' => $id, 'writable' => $writable);
     // Relations
     $rels = array();
     if ($relations) {
         $main_model = $main_crud->getOrmClone()->find_one();
         $main_model_name = $main_crud->getModelName();
         foreach ($relations as $relator_mtd => $settings) {
             list($fields, $details_url, $add_new, $defaults, $limit) = array_merge($settings, array(null, null, null, null));
             // set default values
             if (is_null($add_new)) {
                 $add_new = true;
             }
             if (is_null($defaults)) {
                 $defaults = array();
             }
             $crud = new CRUD($main_model->{$relator_mtd}(), $fields);
             $crud->limit($relations_limit);
             // set defaults
             $rel_details = CRUD::parseRelationDetails($relator_mtd . '.', $main_model_name);
             $key_name = $rel_details['key1'];
             $crud->setDefaults(array_merge($defaults, array($key_name => $id)));
             $_SESSION['CRUDPage']['crud'][$crud->getHash()] = $crud;
             $rels[$relator_mtd] = array('hash' => $crud->getHash(), 'titles' => $crud->getTitles(), 'widgets' => $crud->getWidgets(), 'limit' => $crud->getLimit(), 'page_count' => $crud->getPageCount(), 'rel_title' => ucwords(str_replace('_', ' ', $relator_mtd)), 'add_new' => $add_new, 'details_url' => $details_url);
         }
     }
     return json_encode(array('page_type' => 'detail', 'main' => $main, 'rels' => $rels));
 }
 public static function getInstance()
 {
     if (!isset(self::$_instance)) {
         self::$_instance = new CRUD();
     }
     return self::$_instance;
 }
Example #3
0
 public static function auto($tb_name, $langtag, $id, $sort = 1)
 {
     $rsnum = CRUD::dataFetch($tb_name, array('id' => $id));
     if (empty($rsnum)) {
         return false;
     }
     list($selfRow) = CRUD::$data;
     $addon = '';
     if (isset($selfRow["parent"])) {
         $addon .= !empty($selfRow["parent"]) ? " and parent = '{$selfRow["parent"]}'" : " and parent IS NULL";
     }
     if (!empty($selfRow['lang_id']) && !empty($selfRow['langtag'])) {
         $addon .= " and langtag = '{$langtag}'";
     }
     $rsnum = CRUD::dataFetch($tb_name, array('custom' => "id != '{$id}' {$addon}"), false, array('sort' => CORE::$cfg["sort"]));
     if (!empty($rsnum)) {
         $dataRow = CRUD::$data;
         foreach ($dataRow as $key => $row) {
             # 讓出預定排序位置
             $autoSort = ++$i == $sort ? ++$i : $i;
             $sort_args[] = array('id' => $row["id"], 'sort' => $autoSort);
         }
     }
     $sort_args[] = array('id' => $id, 'sort' => $sort);
     # 重置所有相關資料排序
     if (is_array($sort_args)) {
         foreach ($sort_args as $args) {
             DB::update(CORE::$prefix . "_" . $tb_name, array('sort' => $args["sort"], 'id' => $args["id"]));
         }
     }
 }
Example #4
0
 public static function obtain()
 {
     if (!self::$instance) {
         self::$instance = new crud();
     }
     return self::$instance;
 }
Example #5
0
 public function __construct()
 {
     parent::__construct();
     if (empty($this->date)) {
         $this->date = today();
     }
 }
Example #6
0
 static function check($dataTrack = array())
 {
     $db = new CRUD();
     if (empty($dataTrack) || !array_key_exists('id_user', $dataTrack) || !array_key_exists('title', $dataTrack) || !array_key_exists('uri_module', $dataTrack) || !array_key_exists('id_content', $dataTrack) || !array_key_exists('action', $dataTrack)) {
         return false;
     }
     $dataTrack['id_session'] = session_id();
     $dataTrack['ip_user'] = $_SERVER['REMOTE_ADDR'];
     $dataTrack['url_page'] = $_SERVER['REQUEST_URI'];
     $dataTrack['url_referer'] = $_SERVER['HTTP_REFERER'];
     $dataTrack['date'] = time();
     if ($db->dbQI($dataTrack, '_users_track')) {
         return true;
     }
     return false;
 }
Example #7
0
 public function __construct($name, $map, $data)
 {
     $this->name = $name;
     $this->map = $map;
     $this->data = $data;
     parent::_construct();
 }
Example #8
0
 public static function getInstance($conexao)
 {
     if (!isset(self::$crud)) {
         self::$crud = new CRUD($conexao);
     }
     return self::$crud;
 }
Example #9
0
 public function doMobileIndex()
 {
     global $_GPC, $_W;
     $fid = $_GPC['fid'];
     $fool = CRUD::findById(CRUD::$table_fool, $fid);
     include $this->template("index");
 }
Example #10
0
 public static function row()
 {
     $args = !self::$cate ? array('status' => '1') : array('status' => '1', 'id' => self::$cate);
     $rsnum = CRUD::dataFetch('ad_cate', $args);
     if (!empty($rsnum)) {
         $dataRow = CRUD::$data;
         $nowDate = date("Y-m-d");
         foreach ($dataRow as $key => $cate) {
             $rsnum = CRUD::dataFetch('ad', array('langtag' => CORE::$langtag, 'parent' => $cate["id"], 'custom' => "status = '1' or (status = '2' and startdate <= '{$nowDate}' and limitdate >= '{$nowDate}')"));
             if (!empty($rsnum)) {
                 VIEW::newBlock("TAG_AD_BLOCK" . $cate["id"]);
                 foreach (CRUD::$data as $key => $row) {
                     VIEW::newBlock("TAG_AD_LIST" . $cate["id"]);
                     foreach ($row as $field => $var) {
                         switch ($field) {
                             case "link":
                                 if (empty($var)) {
                                     $var = '#';
                                 }
                             default:
                                 VIEW::assign("VALUE_" . strtoupper($field), $var);
                                 break;
                         }
                     }
                     IMAGES::load('ad', $row["id"]);
                     list($images) = IMAGES::$data;
                     VIEW::assign(array("VALUE_IMAGE" => $images["path"], "VALUE_ALT" => $images["alt"], "VALUE_TITLE" => $images["title"]));
                 }
             }
         }
     }
 }
Example #11
0
File: CRUD.php Project: xepan/base
 protected function configureEdit($fields)
 {
     if ($this->action_page || $this->edit_page) {
         $this->grid->addColumn('template', 'edit')->setTemplate(' ');
         $this->grid->on('click', '.pb_edit')->univ()->location([$this->api->url($this->edit_page ?: $this->action_page), ['action' => 'edit', $this->model->table . '_id' => $this->js()->_selectorThis()->closest('[data-id]')->data('id')]]);
     } else {
         parent::configureEdit($fields);
     }
 }
Example #12
0
 protected static function subjectFetch($id, $field = '*')
 {
     $rsnum = CRUD::dataFetch('contact_subject', array('id' => $id), array($field));
     if (!empty($rsnum)) {
         list($row) = CRUD::$data;
         return $row[$field];
     }
     return false;
 }
Example #13
0
 public function ruleDeleted($rid)
 {
     $sin = CRUD::findUnique(CRUD::$table_sign, array(":rid" => $rid));
     pdo_delete(CRUD::$table_sign_award, array("sid" => $sin['id']));
     pdo_delete(CRUD::$table_sign_user, array("sid" => $sin['id']));
     pdo_delete(CRUD::$table_sign_serial, array("sid" => $sin['id']));
     pdo_delete(CRUD::$table_sign_record, array("sid" => $sin['id']));
     pdo_delete(CRUD::$table_sign, array('rid' => $rid));
 }
Example #14
0
 public static function fetch($id)
 {
     $rsnum = CRUD::dataFetch('stock_bind', array('id' => $id));
     if (!empty($rsnum)) {
         return CRUD::$data[0];
     } else {
         return false;
     }
 }
Example #15
0
 /**
  * @return CRUD
  */
 public function myCRUD()
 {
     if ($this->crud == null) {
         $ref = new ReflectionClass($this->object);
         $this->crud = Singleton::getInstance("CRUD", $ref->getName(), $ref->getName());
         //$this->crud = new CRUD($ref->getName());
         $this->crud->addNoIndexAtribute("dao");
     }
     return $this->crud;
 }
Example #16
0
 public function get($method)
 {
     $result['name'] = $this->set['name'];
     $result['data'] = self::data();
     $result['action'] = self::action();
     $result['hidden'] = self::hidden();
     $result['act'] = parent::build_url('action', $method . '|' . $this->data[$this->set['actionID']]);
     $result['method'] = $method;
     return $result;
 }
Example #17
0
 private static function news()
 {
     self::$rsnum[] = $rsnum = CRUD::dataFetch('news', array('langtag' => CORE::$langtag, 'status' => '1', 'custom' => "(subject like '%" . self::$kw . "%' or content like '%" . self::$kw . "%')"));
     if (!empty($rsnum)) {
         $dataRow = CRUD::$data;
         foreach ($dataRow as $key => $row) {
             VIEW::newBlock("TAG_SEARCH_LIST");
             VIEW::assign(array("VALUE_SUBJECT" => $row["subject"], "VALUE_CONTENT" => mb_substr(strip_tags($row["content"]), 0, 50, 'UTF-8'), "VALUE_LINK" => NEWS::dataLink($row["parent"], $row)));
         }
     }
 }
Example #18
0
 private static function nav()
 {
     VIEW::assignGlobal("NAV_CATE_TITLE", 'ABOUT');
     $rsnum = CRUD::dataFetch('intro', array('status' => '1', 'langtag' => CORE::$langtag), false, array('sort' => CORE::$cfg["sort"]));
     if (!empty($rsnum)) {
         $dataRow = CRUD::$data;
         foreach ($dataRow as $key => $row) {
             VIEW::newBlock("TAG_NAV_LIST");
             VIEW::assign(array("VALUE_NAV_SUBJECT" => $row["subject"], "VALUE_NAV_LINK" => CORE::$root . 'intro/' . SEO::link($row) . '/', "VALUE_NAV_CURRENT" => empty(self::$id) && ++$i == 1 || self::$id == $row["id"] ? 'active' : ''));
         }
     }
 }
Example #19
0
 public function __construct($id_Website, $controllerName = "index", $langue = 'fr', $zoneArea = 'bigadmin', $user = array())
 {
     $this->timeExecution = microtime(true);
     $this->langueZone = $langue;
     $this->zoneArea = $zoneArea;
     $this->controllerNameNow = $controllerName;
     $this->user = $user;
     if (empty($langue)) {
         $db = new CRUD();
         $isWebsite = $db->dbQS($id_Website, '_website');
         if (!empty($isWebsite)) {
             $langue = $isWebsite['langue_front'];
             $isWebsite['langue_groupe'] = unserialize($isWebsite['langue_groupe']);
             $isWebsite['langue_groupe'][$langue] = $langue;
             $urlToRedirect = URL_USER . $langue . '/';
             $cLangues = count($isWebsite['langue_groupe']);
             if ($cLangues === 1) {
                 $urlToRedirect = URL;
             }
             if ($cLangues > 1) {
                 header('HTTP/1.1 301 Moved Permanently', false, 301);
                 header('Location: ' . $urlToRedirect);
                 exit;
             }
         }
     }
     if (!empty($this->user) && $zoneArea === 'user' && $_SESSION['doorgets_user']['langue'] !== $langue && $controllerName !== 'changelangue') {
         header('Location: ' . URL_USER . $_SESSION['doorgets_user']['langue'] . '/');
         exit;
     }
     parent::__construct($langue);
     if (!empty($this->user) && !empty($this->user['timezone'])) {
         date_default_timezone_set($this->user['timezone']);
     }
     $this->getParams();
     $this->getController();
     $this->reloadController();
     $this->isRtlLanguage = in_array($this->myLanguage, Constant::$rtlLanguage) ? true : false;
 }
Example #20
0
 function init()
 {
     parent::init();
     $m = $this->add('x_youtube/Model_XYoutube');
     $this->setModel($m, array('title', 'keywords', 'content_description', 'description', 'link_to_video'), array('thumbnail_small', 'title', 'keywords', 'description'));
     if ($this->grid) {
         $this->grid->addPaginator(10);
         $this->grid->addFormatter('thumbnail_small', 'image');
         $this->grid->addFormatter('keywords', 'wrap');
         $this->grid->addFormatter('description', 'wrap');
         $this->grid->addFormatter('title', 'linkToVideo');
     }
 }
Example #21
0
 private static function delete($id)
 {
     $rs = CRUD::dataDel('feedback', array('id' => $id));
     if (!empty(DB::$error)) {
         $msg = DB::$error;
         $path = CORE::$manage . 'feedback/';
     }
     if (!$rs) {
         $msg = self::$lang["del_error"];
         $path = CORE::$manage . 'feedback/';
     } else {
         $msg = self::$lang["del_done"];
         $path = CORE::$manage . 'feedback/';
     }
     CORE::msg($msg, $path);
 }
 /**
  * Inicia a anlise de um objeto
  * @return void
  */
 public function init()
 {
     $ref = new ReflectionClass($this->object);
     $parentClassesArray = array($ref);
     while ($ref->getParentClass()->getName() != CRUD::getTopLevelClass()) {
         $ref = $ref->getParentClass();
         $parentClassesArray[] = $ref;
     }
     $parentClassesArray = array_reverse($parentClassesArray);
     foreach ($parentClassesArray as $ref) {
         /*@var $ref ReflectionClass */
         foreach ($ref->getProperties() as $prop) {
             /* @var $prop ReflectionProperty */
             $this->readDocComment($prop);
         }
     }
     $this->initCheck = true;
 }
Example #23
0
 public static function view($tablename, $item, $fields_header, $options = array())
 {
     $view = new View("_crud/detail");
     $view->title = "Dettaglio Cliente";
     $view->tableName = $tablename;
     $view->link_add = CRUD::getLink("cliente", "add");
     $view->link_edit = CRUD::getLink("cliente", "edit");
     $view->fields_header = $fields_header;
     $view->row = $item;
     // tutte le componenti di options
     // diventano variabili della vista
     if (is_array($options) && count($options) > 0) {
         foreach ($options as $key => $value) {
             $view->{$key} = $value;
         }
     }
     // mostro la view di crud
     $view->render();
 }
Example #24
0
 /**
  * Executa uma query conforme o modo selecionado
  * @param string $sql
  * @return PDO|resource
  */
 public static function executeQuery($sql)
 {
     if (self::$modo == self::QUERY_MODE_PDO) {
         $r1 = self::getConn()->query($sql);
         $error = CRUD::getPDO()->errorInfo();
         if (isset($error[1])) {
             if ($error[1] != null) {
                 throw new CRUDQueryException("CRUD SQL ERROR - {$sql} <hr />ERROR INFO:" . $error[2]);
             }
         }
         return $r1;
     } elseif (self::$modo == self::QUERY_MODE_MYSQLI) {
         $r1 = mysqli_query(self::getConn(), $sql);
         if (mysqli_errno(self::getConn()) != 0) {
             throw new CRUDQueryException("CRUD SQL ERROR - {$sql} <hr />ERROR INFO:" . mysqli_errno(ConnectionMySqli::getConn()));
         }
         return $r1;
     }
 }
Example #25
0
 public static function idx_row()
 {
     $rsnum = CRUD::dataFetch('news', array('status' => '1', 'langtag' => CORE::$langtag), false, array('sort' => CORE::$cfg["sort"]), '0,4');
     if (!empty($rsnum)) {
         foreach (CRUD::$data as $key => $row) {
             VIEW::newBlock("IDX_NEWS_LIST");
             foreach ($row as $field => $var) {
                 switch ($field) {
                     case "showdate":
                         VIEW::assign("VALUE_" . strtoupper($field), date("Y.m.d", strtotime($var)));
                         break;
                     default:
                         VIEW::assign("VALUE_" . strtoupper($field), $var);
                         break;
                 }
             }
             VIEW::assign("VALUE_LINK", self::dataLink($row["parent"], $row));
         }
     }
 }
Example #26
0
 function setModel($a, $b = null, $c = null)
 {
     $r = parent::setModel($a, $b, $c);
     if ($this->grid) {
         $this->grid->addButton("Export CSV")->js("click")->redirect($this->api->url(null, array("export_csv" => $this->grid->name)));
         $this->grid->addButton("Export PDF")->js("click")->redirect($this->api->url(null, array("export_pdf" => $this->grid->name)));
         $this->grid->addButton("Export XLS")->js("click")->redirect($this->api->url(null, array("export_xls" => $this->grid->name)));
         if ($_GET["export_csv"] == $this->grid->name) {
             $this->preFetchData("csv");
             /* format csv, export */
             $export = $this->add("Export");
             $data = $export->getDataFromMVCGrid($this->grid);
             $export->setHeaderModel($this->grid->getController()->getModel());
             $export->convertToCSV($data);
             $export->exportCSV("export.csv");
         }
         if ($_GET["export_pdf"] == $this->grid->name) {
             /* format csv, export */
             $this->preFetchData("pdf");
             $export = $this->add("Export");
             $data = $export->getDataFromMVCGrid($this->grid);
             $export->setHeaderModel($this->grid->getController()->getModel());
             $export->convertToPDF($data);
             $export->exportPDF("export.pdf");
         }
         if ($_GET["export_xls"] == $this->grid->name) {
             $this->preFetchData("xls");
             /* format csv, export */
             $export = $this->add("Export");
             $data = $export->getDataFromMVCGrid($this->grid);
             $export->setHeaderModel($this->grid->getController()->getModel());
             $export->setConverterTemplate("export/xls");
             $export->convertToXLS($data);
             $export->exportXLS("export.xls");
         }
     }
     return $r;
 }
Example #27
0
 private static function row()
 {
     if (empty(self::$func) || empty(self::$dataID)) {
         return false;
     }
     $rsnum = CRUD::dataFetch('message', array('status' => '1', 'func' => self::$func, 'dataID' => self::$dataID, 'reply' => 'null'));
     if (!empty($rsnum)) {
         $dataRow = CRUD::$data;
         foreach ($dataRow as $row) {
             VIEW::newBlock('TAG_MESSAGE_LIST');
             foreach ($row as $field => $var) {
                 VIEW::assign('VALUE_' . strtoupper($field), $var);
             }
             $replyRsnum = CRUD::dataFetch('message', array('replay' => $row['reply'], 'status' => '1'));
             if (!empty($replyRsnum)) {
                 list($reply) = CRUD::$data;
                 VIEW::newBlock('TAG_MESSAGE_REPLY');
                 foreach ($row as $field => $var) {
                     VIEW::assign('VALUE_' . strtoupper($field), $var);
                 }
             }
         }
     }
 }
Example #28
0
 public static function setting()
 {
     $rsnum = CRUD::dataFetch('system', array('id' => '1'));
     if (!empty($rsnum)) {
         self::$setting = CRUD::$data[0];
         foreach (self::$setting as $field => $var) {
             switch ($field) {
                 case "address":
                     if (!empty($var)) {
                         $output['SYSTEM_MAP'] = 'https://maps.google.com.tw/maps?f=q&hl=zh-TW&geocode&q=' . $var;
                     }
                     break;
                 case "ga":
                     $var = self::gaLoad($var);
                     break;
                 case "email":
                     if (empty($var)) {
                         # 如果未設定系統 E-mail,設定初始 E-mail
                         $var = '*****@*****.**';
                         self::$setting[$field] = $var;
                     }
                     break;
                 case "facebook":
                 case "gplus":
                 case "twitter":
                 case "instagram":
                 case "linkedin":
                     $output['SYSTEM_' . strtoupper($field) . '_TARGET'] = !empty($var) ? '_blank' : '_self';
                     $var = empty($var) ? '#' : $var;
                     break;
             }
             $output['SYSTEM_' . strtoupper($field)] = $var;
         }
         VIEW::assignGlobal($output);
     }
 }
Example #29
0
<?php

$db = new CRUD();
$setup = $db->dbSelect('setup', 'layout', 'setup');
$setup = $setup['0'];
?>
<header class="header back-trans">
    <a class="header-title fc-beta" href="http://www.cwikiwebdev.com">
    <div class="header-title fc-beta">

    <?php 
echo $setup['title'];
?>

    </div>
    <img class="header-logo" src="images/sig-header.png">
    <div class="header-sub fc-alpha">
        <?php 
echo $setup['subtitle'];
?>
    </div>
        </a>
</header>
    unset($_POST['country_code']);
    $_POST['dob'] = date("Y-m-d H:i:s", strtotime($_POST['dob']));
    $client = new Client();
    try {
        $data = $client->register($_POST);
    } catch (Exception $e) {
        /*return with exception */
        header("Location:" . RESOURCE_PATH_DIY . "login?error=" . $e->getMessage());
        exit;
    }
    $_SESSION['client'] = $data;
    $access_token = Hash::get($_SESSION['client']['client_id'], Hash::salt(10) . time());
    Logger::logPlobizUser($data['client_id'], $access_token, 'N/A', uniqid(), 'WEB', 1);
    $_SESSION['client']['access_token'] = $access_token;
    /*generate verification link 
     * 26-03-15 :: time() added to make unique everytime
     * */
    $verify = Hash::get($data['email'], 'verify_email' . time());
    $crud = CRUD::getInstance();
    $crud->insert("client_reset_tokens", array('client_id' => $data['client_id'], 'type' => 'email', 'hash' => $verify));
    $mail = new Mail();
    $vlink = RESOURCE_PATH . "handlers/verify-client.php?verify=" . $verify;
    /*email verification link */
    $mail->emailVerificationMail(array(array('name' => $data['name'], 'email' => $data['email'])), $vlink);
    // 	03-07-15 : redirect to pending redirectto url
    $redirectto = isset($_SESSION['redirectto']) && $_SESSION['redirectto'] != '' ? $_SESSION['redirectto'] : RESOURCE_PATH_DIY . "dashboard";
    $_SESSION['redirectto'] = '';
    header("Location:" . $redirectto);
} else {
    header("Location:" . RESOURCE_PATH_DIY . "login?error=All fields are required.");
}