예제 #1
0
파일: DAO.php 프로젝트: raxisau/JackBooted
 /**
  * @param  $row
  * @return mixed
  */
 public function getRowCount($where = null)
 {
     $sql = 'SELECT COUNT(*) FROM ' . $this->tableName;
     $params = null;
     $sql .= $this->toWhere($where, $params);
     return DB::oneValue($this->db, $sql, $params);
 }
예제 #2
0
 public function index()
 {
     $html = '<h2 title="You are able to edit all your defaults ***WARNING*** please know what you are doing">JSON Configuration Editor</h2>';
     if (($currentConfigKey = Request::get('fldCfgKey')) == '') {
         $currentConfigKey = DB::oneValue(DB::DEF, 'SELECT fldKey FROM tblConfig ORDER BY 1 LIMIT 1');
     }
     if ($currentConfigKey === false || $currentConfigKey == '') {
         return $html . 'No Configuration available yet';
     }
     $html .= Tag::table(['border' => '0', 'height' => '100%', 'width' => '100%']) . Tag::tr() . Tag::td(['nowrap' => 'nowrap', 'valign' => 'top']) . $this->editConfigForm($currentConfigKey) . Tag::_td() . Tag::td(['width' => '100%', 'valign' => 'top']) . $this->editJSONEditForm($currentConfigKey) . Tag::_td() . Tag::_tr() . Tag::tr() . Tag::td(['nowrap' => 'nowrap', 'valign' => 'top', 'colspan' => 2]) . $this->addForm() . Tag::_td() . Tag::_table();
     return $html;
 }
예제 #3
0
 private static function getFromDB($key, $scope = self::USER_SCOPE)
 {
     $uid = self::getScope($scope);
     if (($serializedValue = DB::oneValue(DB::DEF, self::SELECT_SQL, [$key, $uid])) !== false) {
         self::$configItemsObjects[$key] = json_decode($serializedValue, true);
     } else {
         if ($uid !== self::GLOBAL_SCOPE) {
             if (($serializedValue = DB::oneValue(DB::DEF, self::SELECT_SQL, [$key, self::GLOBAL_SCOPE])) !== false) {
                 self::$configItemsObjects[$key] = json_decode($serializedValue, true);
             }
         }
     }
 }
예제 #4
0
 public static function valid($key)
 {
     $sql = 'SELECT COUNT(*) FROM tblCrossSiteProtection WHERE fldUniqueID=?';
     $cnt = DB::oneValue(DB::DEF, $sql, $key);
     if ($cnt > 0) {
         $sql = 'DELETE FROM tblCrossSiteProtection WHERE fldUniqueID=? OR fldExpiryDate<?';
         DB::exec(DB::DEF, $sql, [$key, time()]);
         return true;
     } else {
         $sql = 'DELETE FROM tblCrossSiteProtection WHERE fldExpiryDate<?';
         DB::exec(DB::DEF, $sql, time());
         self::$log->error('CSRFGuard failed: ' . $key . ' not available ' . $_SERVER['SCRIPT_NAME']);
         return false;
     }
 }
예제 #5
0
    public function sendPW()
    {
        $sql = 'SELECT fldUserID FROM tblUser WHERE fldUser=?';
        if (($id = DB::oneValue(DB::DEF, $sql, Request::get('fldEmail'))) === false) {
            $msg = 'This email does not exist on this system.<br>' . 'Either choose a new email address or register as new customer.' . $this->forgotPassword();
        } else {
            $pw = Password::passGen(10, Password::MEDIUM);
            if (DB::driver() == DB::MYSQL) {
                $sql = 'UPDATE tblUser SET fldPassword=PASSWORD(?) WHERE fldUserID=?';
                DB::exec(DB::DEF, $sql, [$pw, $id]);
            } else {
                $sql = 'UPDATE tblUser SET fldPassword=? WHERE fldUserID=?';
                DB::exec(DB::DEF, $sql, [hash('md5', $pw), $id]);
            }
            // Update the Database with the new Password combo
            $boss = Cfg::get('boss');
            $desc = Cfg::get('desc');
            // create the email message to notify about a password request
            $body = '<h3>User requested password<br>Email: <b>%s</b></h3><br>From %s';
            Mailer::envelope()->format(Mailer::HTML_TEXT)->from(Request::get('fldEmail'))->to($boss)->subject('User requested password')->body(sprintf($body, Request::get('fldEmail'), $desc))->send();
            $body = <<<TXT
Message from %s

Here are your login details

Password: %s

Regards
%s
TXT;
            // create the email message to notify the user of his/her login details
            Mailer::envelope()->from($boss)->to(Request::get('fldEmail'))->subject('Login Request ' . $desc)->body(sprintf($body, $desc, $pw, $desc))->send();
            $msg = 'Soon you will receive an email that will contain your login details.';
        }
        return Widget::popupWrapper($msg, -1);
    }
예제 #6
0
파일: CRUD.php 프로젝트: raxisau/JackBooted
 protected function getRowCount()
 {
     $qry = 'SELECT count(' . $this->primaryKey . ') ' . 'FROM ' . $this->tableName . ' ' . $this->createSQLWhere($params);
     return DB::oneValue($this->db, $qry, $params);
 }
예제 #7
0
 public function checkOldPassword($uid, $pw)
 {
     if (DB::driver() == DB::MYSQL) {
         return 1 == DB::oneValue(DB::DEF, 'SELECT COUNT(*) FROM tblUser WHERE fldPassword=PASSWORD(?) AND fldUserID=?', [$pw, $uid]);
     } else {
         return 1 == DB::oneValue(DB::DEF, 'SELECT COUNT(*) FROM tblUser WHERE fldPassword=? AND fldUserID=?', [hash('md5', $pw), $uid]);
     }
 }
예제 #8
0
파일: Grid.php 프로젝트: raxisau/JackBooted
 protected function getRowCount()
 {
     return DB::oneValue($this->db, $this->countSql);
 }
예제 #9
0
 private static function getGroupIDs($uid)
 {
     $qry = 'SELECT fldGroupID FROM tblUserGroupMap WHERE fldUserID=?';
     $groups = DBTable::factory(DB::DEF, $qry, $uid, DB::FETCH_NUM)->getColumn(0);
     $groups[] = DB::oneValue(DB::DEF, 'SELECT fldGroupID FROM tblGroup LIMIT 1');
     return $groups;
 }