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; }
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"])); } } }
public static function obtain() { if (!self::$instance) { self::$instance = new crud(); } return self::$instance; }
public function __construct() { parent::__construct(); if (empty($this->date)) { $this->date = today(); } }
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; }
public function __construct($name, $map, $data) { $this->name = $name; $this->map = $map; $this->data = $data; parent::_construct(); }
public static function getInstance($conexao) { if (!isset(self::$crud)) { self::$crud = new CRUD($conexao); } return self::$crud; }
public function doMobileIndex() { global $_GPC, $_W; $fid = $_GPC['fid']; $fool = CRUD::findById(CRUD::$table_fool, $fid); include $this->template("index"); }
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"])); } } } } }
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); } }
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; }
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)); }
public static function fetch($id) { $rsnum = CRUD::dataFetch('stock_bind', array('id' => $id)); if (!empty($rsnum)) { return CRUD::$data[0]; } else { return false; } }
/** * @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; }
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; }
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))); } } }
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' : '')); } } }
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; }
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'); } }
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; }
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(); }
/** * 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; } }
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)); } } }
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; }
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); } } } } }
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); } }
<?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."); }