Example #1
0
function q_custom($str)
{
    $q = new Model();
    $ex = $q->prepare($str);
    $ex->execute();
    $res = $ex->fetchAll();
    return $res;
}
Example #2
0
 public function setFilters()
 {
     $post = filter_input_array(INPUT_POST);
     $fid = json_decode($post['fid']);
     $poz = json_decode($post['poz']);
     $q = new Model();
     $ex = $q->prepare("UPDATE filteri SET fil_pozicija=0");
     $ex->execute();
     for ($i = 0; $i < count($fid); $i++) {
         updating('filteri', array('fil_karakteristika_id' => $fid[$i]), array('fil_karakteristika_id' => $fid[$i], 'fil_pozicija' => $poz[$i]));
     }
     echo '<p class="filt-msg" style="color:#fff;background:#669900;">Uspešno ste izmenili postavku filtera!</p>';
 }
Example #3
0
 public function getEnrollmentForm($uid, $tid, $eid, $mem)
 {
     $ret = array('personal' => array(), 'tour' => array(), 'enroll' => array(), 'members' => $mem);
     $p = parent::prepare("SELECT * FROM users " . "INNER JOIN students ON id=stu_user_id " . "AND users.id=" . $uid);
     $p->execute();
     $ret['personal'] = $p->fetchAll();
     $q = new Query();
     $q->where = array('tou_id' => $tid);
     $rest = $q->inner_join('tours', 'paymen_shema', array('tou_id', 'psc_tour_id'));
     $ret['tour'] = $rest[0];
     $q->table = 'enroll_full';
     $q->where = array('enf_id' => $eid);
     $rese = $q->read();
     $ret['enroll'] = $rese[0];
     return $ret;
 }
Example #4
0
 /**
  * インポート処理
  *
  * @param Model $model Model using this behavior
  * @param string $filePath ファイルのパス
  * @param int $importType インポートタイプ
  * @return bool True on success, false on failure
  */
 public function importUsers(Model $model, $filePath, $importType = self::IMPORT_TYPE_NEW)
 {
     App::uses('CsvFileReader', 'Files.Utility');
     $model->begin();
     $model->prepare(true);
     $reader = new CsvFileReader($filePath);
     $saveData = array();
     $validationErrors = array();
     //入力チェック
     foreach ($reader as $i => $row) {
         if ($i === 0) {
             $fileHeader = $this->_parseCsvHeader($model, $row);
             continue;
         }
         $data = $this->_getCsvData($model, $row, $fileHeader, $importType);
         if (!$data) {
             //falseの場合、スキップする
             continue;
         }
         $data = $this->_convSaveData($model, $data);
         $model->set($data);
         if (!$model->validates()) {
             //バリデーションエラーの場合
             $validationErrors[$i] = $this->_getValidationErrors($model, $i);
             $model->validationErrors = array();
             continue;
         }
         $saveData[$i] = $data;
     }
     //バリデーションエラー
     if ($validationErrors) {
         $model->validationErrors = $validationErrors;
         return false;
     }
     foreach ($saveData as $i => $data) {
         if (!$model->saveUser($data)) {
             //ここでバリデーションエラーになった場合、登録中に発生したエラー
             //可能性があるのは、ファイル内での問題か、処理実行中に他プロセスで登録されたかのどちらか
             $validationErrors[$i] = $this->_getValidationErrors($model, $i);
             $model->validationErrors = $validationErrors;
             $model->rollback();
             return false;
         }
     }
     $model->commit();
     return true;
 }
Example #5
0
 public function getLeader($uid)
 {
     $ret = array('leader' => array(), 'students' => array(), 'tour' => array(), 'data');
     $l = parent::prepare("SELECT * FROM users " . "INNER JOIN groupleaders ON id=lea_user_id " . "AND id=" . $uid);
     $l->execute();
     $resl = $l->fetchAll();
     $ret['leader'] = $resl[0];
     $q = parent::prepare("SELECT * FROM tours " . "INNER JOIN schools ON tou_school_id=sch_id " . "AND tours.tou_id='" . $resl[0]['lea_tour_id'] . "'");
     $q->execute();
     $rest = $q->fetchAll();
     $ret['tour'] = $rest[0];
     $q2 = parent::prepare("SELECT * FROM students " . "INNER JOIN users ON stu_user_id=id " . "JOIN enroll_full ON enf_user_id=stu_user_id " . "AND students.stu_tour_id='" . $resl[0]['lea_tour_id'] . "' " . "AND enroll_full.enf_status='C' ORDER BY students.stu_lastname,stu_firstname");
     $q2->execute();
     $ress = $q2->fetchAll();
     $ret['students'] = $ress;
     $ret['data'] = count($ress);
     return $ret;
 }
Example #6
0
 /**
  * ユーザの削除
  *
  * @param Model $model ビヘイビア呼び出し元モデル
  * @param array $data data
  * @return mixed On success Model::$data, false on failure
  * @throws InternalErrorException
  */
 public function deleteUser(Model $model, $data)
 {
     //トランザクションBegin
     $model->begin();
     $model->prepare();
     try {
         //Userデータの削除->論理削除
         $user = $model->create(array('id' => $data['User']['id'], 'handlename' => $data['User']['handlename'], 'is_deleted' => true));
         if (!$model->save($user, false)) {
             throw new InternalErrorException(__d('net_commons', 'Internal Server Error'));
         }
         //関連DBの削除
         $model->deleteUserAssociations($user['User']['id']);
         //トランザクションCommit
         $model->commit();
     } catch (Exception $ex) {
         //トランザクションRollback
         $model->rollback($ex);
     }
     return true;
 }
Example #7
0
 public function sql_function($function, $column)
 {
     $ret = parent::prepare("SELECT " . $function . "(" . $column . ")" . " FROM " . $this->table . " " . $this->where_to_string(false) . " " . $this->between_to_string() . " " . $this->order_to_string() . " " . $this->limit_to_string());
     $ret->execute();
     $res = $ret->fetch();
     return $res[0];
 }
Example #8
0
 /**
  * UserのValidateチェック
  *
  * @param Model $model ビヘイビア呼び出し元モデル
  * @param array $data data
  * @return bool True:正常、False:不正
  */
 public function validateUser(Model $model, $data)
 {
     $model->prepare();
     //バリデーション
     $model->set($data);
     return $model->validates();
 }