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; } }
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); } }
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); }