Пример #1
0
 public function guncelle($id, $data)
 {
     $guncelle = DB::where('id=', $id)->update('yonetim', ['username' => $data["username"], 'email' => $data["email"], 'isim' => $data["isim"], 'soyisim' => $data["soyisim"], 'durum' => $data["durum"], 'ban_durum' => $data["ban_durum"]]);
     if (!empty($data["pass"])) {
         $sifreGuncelle = DB::where('id=', $id)->update('yonetim', ['pass' => Encode::super($data["pass"])]);
     }
     if ($guncelle) {
         return true;
     } else {
         return false;
     }
 }
Пример #2
0
 public function forgotPassword($email = "", $returnLinkPath = "")
 {
     if (!is_string($email)) {
         return Error::set(lang('Error', 'stringParameter', 'email'));
     }
     if (!is_string($returnLinkPath)) {
         $returnLinkPath = '';
     }
     // ------------------------------------------------------------------------------
     // CONFIG/USER.PHP AYARLARI
     // Config/User.php dosyasında belirtilmiş ayarlar alınıyor.
     // ------------------------------------------------------------------------------
     $userConfig = $this->config;
     $usernameColumn = $userConfig['usernameColumn'];
     $passwordColumn = $userConfig['passwordColumn'];
     $emailColumn = $userConfig['emailColumn'];
     $tableName = $userConfig['tableName'];
     // ------------------------------------------------------------------------------
     $db = uselib('DB');
     if (!empty($emailColumn)) {
         $db->where($emailColumn . ' =', $email);
     } else {
         $db->where($usernameColumn . ' =', $email);
     }
     $row = $db->get($tableName)->row();
     $result = "";
     if (isset($row->{$usernameColumn})) {
         if (!isUrl($returnLinkPath)) {
             $returnLinkPath = siteUrl($returnLinkPath);
         }
         $newPassword = Encode::create(10);
         $encodePassword = Encode::super($newPassword);
         $templateData = array('usernameColumn' => $row->{$usernameColumn}, 'newPassword' => $newPassword, 'returnLinkPath' => $returnLinkPath);
         $message = Import::template('UserEmail/ForgotPassword', $templateData, true);
         $sendEmail = uselib('Email');
         $sendEmail->receiver($email, $email);
         $sendEmail->subject(lang('User', 'newYourPassword'));
         $sendEmail->content($message);
         if ($sendEmail->send()) {
             if (!empty($emailColumn)) {
                 $db->where($emailColumn . ' =', $email);
             } else {
                 $db->where($usernameColumn . ' =', $email);
             }
             $db->update($tableName, array($passwordColumn => $encodePassword));
             $this->error = true;
             $this->success = lang('User', 'forgotPasswordSuccess');
             return false;
         } else {
             $this->success = false;
             $this->error = lang('User', 'emailError');
             return Error::set($this->error);
         }
     } else {
         $this->success = false;
         $this->error = lang('User', 'forgotPasswordError');
         return Error::set($this->error);
     }
 }
Пример #3
0
 public function rules($name = '', $config = array(), $viewName = '', $met = 'post')
 {
     if (!empty($this->settings['name'])) {
         $name = $this->settings['name'];
     }
     if (!empty($this->settings['method'])) {
         $met = $this->settings['method'];
     }
     if (!empty($this->settings['value'])) {
         $viewName = $this->settings['value'];
     }
     if (!empty($this->settings['config'])) {
         $config = array_merge($config, $this->settings['config']);
     }
     if (!empty($this->settings['validate'])) {
         $config = array_merge($config, $this->settings['validate']);
     }
     if (!empty($this->settings['secure'])) {
         $config = array_merge($config, $this->settings['secure']);
     }
     if (!empty($this->settings['pattern'])) {
         $config = array_merge($config, $this->settings['pattern']);
     }
     $this->settings = array();
     // sistemte validation için oluşturulmuş dil dosyası yükleniyor.
     $viewName = empty($viewName) ? $name : $viewName;
     $messages = array();
     $edit = $this->_methodType($name, $met);
     if (!isset($edit)) {
         return false;
     }
     $i = 0;
     // kenar boşluklarını kaldırır.
     if (in_array('trim', $config)) {
         $edit = trim($edit);
     }
     // nc_clean çirkin kodların kullanılmasını engellemek için kullanılır.
     if (in_array('nc', $config)) {
         $secnc = Config::get("Security", 'ncEncode');
         $edit = Security::ncEncode($edit, $secnc['bad_chars'], $secnc['change_bad_chars']);
     }
     // xss_clean genel de xss ataklarını engellemek için kullanılır.
     if (in_array('html', $config)) {
         $edit = Security::htmlEncode($edit);
     }
     // nail_clean tırnak işaretlerini temizlemek için kullanılır.
     if (in_array('xss', $config)) {
         $edit = Security::xssEncode($edit);
     }
     // tırnak işaretleri ve injection saldırılarını engellemek için kullanılır.
     if (in_array('injection', $config)) {
         $edit = Security::injectionEncode($edit);
     }
     // Süzgeç sonrası validation::nval() yönteminin yeni değeri
     $this->nval[$name] = $edit;
     // Süzgeç sonrası yeni değer
     $this->_methodNval($name, $edit, $met);
     // required boş geçilemez yapar.
     if (in_array('required', $config)) {
         if (empty($edit)) {
             $required = lang('Validation', 'required', $viewName);
             $messages[$i] = $required . '<br>';
             $i++;
             $this->error[$name] = $required;
         }
     }
     // security_code güvenlik kodunun uygulanması için kullanılır, bu saydece güvenlik kodu ile
     // bu kural eşleşirse işleve devam edilecektir.
     if (in_array('captcha', $config)) {
         if (!isset($_SESSION)) {
             session_start();
         }
         if ($edit != $_SESSION[md5('captchaCode')]) {
             $securityCode = lang('Validation', 'captchaCode', $viewName);
             $messages[$i] = $securityCode . '<br>';
             $i++;
             $this->error[$name] = $securityCode;
         }
     }
     // register işlemlerinde iki şifre kutusunun eşleştirilmesi için kullanılmaktadır.
     if (isset($config['matchPassword'])) {
         $pm = $this->_methodType($config['matchPassword'], $met);
         if ($edit != $pm) {
             $passwordMatch = lang('Validation', 'passwordMatch', $viewName);
             $messages[$i] = $passwordMatch . '<br>';
             $i++;
             $this->error[$name] = $passwordMatch;
         }
     }
     if (isset($config['match'])) {
         $pm = $this->_methodType($config['match'], $met);
         if ($edit != $pm) {
             $passwordMatch = lang('Validation', 'dataMatch', $viewName);
             $messages[$i] = $passwordMatch . '<br>';
             $i++;
             $this->error[$name] = $passwordMatch;
         }
     }
     if (isset($config['oldPassword'])) {
         $pm = "";
         $pm = $config['oldPassword'];
         if (Encode::super($edit) != $pm) {
             $oldPasswordMatch = lang('Validation', 'oldPasswordMatch', $viewName);
             $messages[$i] = $oldPasswordMatch . '<br>';
             $i++;
             $this->error[$name] = $oldPasswordMatch;
         }
     }
     // numeric form aracının sayısal değer olması gerektiğini belirtir.
     if (in_array('numeric', $config)) {
         if (!is_numeric($edit)) {
             $numeric = lang('Validation', 'numeric', $viewName);
             $messages[$i] = $numeric . '<br>';
             $i++;
             $this->error[$name] = $numeric;
         }
     }
     // email form aracının email olması gerektiğini belirtir.
     if (in_array('email', $config)) {
         if (!$this->email($edit)) {
             $email = lang('Validation', 'email', $viewName);
             $messages[$i] = $email . '<br>';
             $i++;
             $this->error[$name] = $email;
         }
     }
     if (in_array('url', $config)) {
         if (!$this->url($edit)) {
             $url = lang('Validation', 'url', $viewName);
             $messages[$i] = $url . '<br>';
             $i++;
             $this->error[$name] = $url;
         }
     }
     if (in_array('identity', $config)) {
         if (!$this->identity($edit)) {
             $identity = lang('Validation', 'identity', $viewName);
             $messages[$i] = $identity . '<br>';
             $i++;
             $this->error[$name] = $identity;
         }
     }
     // no special char, özel karakterlerin kullanımını engeller.
     if (in_array('specialChar', $config)) {
         if ($this->specialChar($edit)) {
             $noSpecialChar = lang('Validation', 'noSpecialChar', $viewName);
             $messages[$i] = $noSpecialChar . '<br>';
             $i++;
             $this->error[$name] = $noSpecialChar;
         }
     }
     // maxchar form aracının maximum alacağı karakter sayısını belirtir.
     if (isset($config['maxchar'])) {
         if (!$this->maxchar($edit, $config['maxchar'])) {
             $maxchar = lang('Validation', 'maxchar', array("%" => $viewName, "#" => $config['maxchar']));
             $messages[$i] = $maxchar . '<br>';
             $i++;
             $this->error[$name] = $maxchar;
         }
     }
     // minchar from aracının minimum alacağı karakter sayısını belirtir.
     if (isset($config['minchar'])) {
         if (!$this->minchar($edit, $config['minchar'])) {
             $minchar = lang('Validation', 'minchar', array("%" => $viewName, "#" => $config['minchar']));
             $messages[$i] = $minchar . '<br>';
             $i++;
             $this->error[$name] = $minchar;
         }
     }
     if (isset($config['pattern'])) {
         if (!preg_match($config['pattern'], $edit)) {
             $pattern = lang('Validation', 'pattern', $viewName);
             $messages[$i] = $pattern . '<br>';
             $i++;
             $this->error[$name] = $pattern;
         }
     }
     // kurala uymayan seçenekler varsa hata mesajı dizisine eklenir.
     array_push($this->errors, $messages);
 }