/** * @before _session * @after _csrfToken */ public function register() { $this->seo(array("title" => "Publisher Register", "description" => "Register")); $view = $this->getActionView(); $view->set('errors', []); $afields = Meta::search('customField', $this->org); $view->set('afields', $afields ?? []); $token = RM::post("token", ''); if (RM::post("action") == "register" && $this->verifyToken($token)) { $this->_publisherRegister($this->org, $view); } }
public static function customFields($user, $org) { $afields = \Meta::search('customField', $org); if (count($afields) > 0) { $meta = $user->meta ?? []; $extraFields = []; foreach ($afields as $value) { $key = $value['name']; $type = $value['type']; $message = $value['label'] . " is required!!"; switch ($type) { case 'file': $v = Utils::media($key, 'upload', ['extension' => 'jpe?g|gif|bmp|png|tif|pdf']); if (!$v) { $message = "Please Upload a valid image or pdf file"; } break; case 'text': $v = RequestMethods::post($key); break; case 'date': $d = RequestMethods::post($key, date('Y-m-d')); $v = Db::convertType($d, 'date'); break; default: $v = ''; break; } if (!$v && $value['required']) { return ["message" => $message, "success" => false]; } $extraFields[$key] = $v; } $meta['afields'] = $extraFields; $user->meta = $meta; } $user->save(); return ["success" => true]; }
/** * @before _session */ public function resetpassword($token) { $this->seo(array("title" => "Forgot Password", "view" => $this->getLayoutView())); $view = $this->getActionView(); $meta = Meta::search('resetpass', (object) ['value' => $token]); if (!$meta) { $this->redirect("/"); } // @todo install reCaptcha if (RM::post("action") == "change") { $pass = RM::post("password"); $user = User::first(array("id = ?" => $meta->propid)); if ($pass == RM::post("npassword")) { $user->password = sha1($pass); $user->save(); $meta->delete(); $view->set("message", 'Password changed successfully now <a href="/login.html">Login</a>'); } else { $view->set("message", 'Password Does not match'); } } }