public function index() { // auth Util\Auth::isAuthorized($this->signedUser, 'member', true, '/'); $userForm = new \Rebond\Core\User\Form($this->signedUser, 'user'); $playerForm = new \Own\Bus\Player\Form($this->player, 'player'); // action $save = Util\Converter::toString('save', 'post'); if (isset($save)) { if ($userForm->setFromPost()->validate()->isValid()) { if ($playerForm->setFromPost()->validate()->isValid()) { $resultUpload = Util\Media::upload('avatarIduser', true); if ($resultUpload['result'] == ResultType::ERROR) { Util\Session::set('siteError', $resultUpload['message']); } else { if ($resultUpload['result'] == ResultType::SUCCESS) { $this->signedUser->setAvatarId($resultUpload['mediaId']); } $this->signedUser->save(); $this->player->save(); Util\Session::siteSuccess('saved', '/profile'); } } else { Util\Session::set('siteError', $playerForm->getValidation()->getMessage()); } } else { Util\Session::set('siteError', $userForm->getValidation()->getMessage()); } } // layout $tplPlayer = new Util\Template(Util\Template::MODULE, ['bus', 'player']); $tplPlayer->set('user', $userForm); $tplPlayer->set('player', $playerForm); return $this->response('tpl-default', ['title' => Util\Lang::lang('profile')], 'layout-home', ['column1' => $tplPlayer->render('editor')]); }
public function index() { // auth Auth::isAdminAuthorized($this->signedUser, null, true, '/profile/sign-in'); // prep $save = Converter::string('save', 'post'); $form = new \Rebond\Core\User\Form($this->signedUser); // action if (isset($save)) { if ($form->setFromPost()->validate()->isValid()) { $obj = \Rebond\Util\Media::UploadForm('avatarId'); if ($obj->result == ResultType::SUCCESS) { $this->signedUser->setAvatarId($obj->id); } if ($obj->result != ResultType::ERROR) { $this->signedUser->save(); Session::adminSuccess('saved', '/profile'); } else { Session::set('adminError', $obj->message); } } else { Session::set('adminError', $form->getValidation()->getMessage()); } } // view $this->setTpl(); $tplMain = new Template(Template::MODULE, ['core', 'user']); $tplMain->set('item', $form); // layout $this->tplLayout->set('column1', $tplMain->render('profile')); // master $this->tplMaster->set('layout', $this->tplLayout->render('layout-1-col')); $this->tplMaster->set('jsLauncher', 'profile'); return $this->tplMaster->render('tpl-default'); }
public function form() { $simple = new \Rebond\Bus\Simple\Form(); $post = Util\Converter::string('send', 'post'); if (isset($post)) { if ($simple->setFromPost()->validate()->isValid()) { $result = Util\Media::UploadForm('photoId'); if ($result->result == ResultType::SUCCESS) { $simple->setPhotoId($result->id); } if ($result->result != ResultType::ERROR) { $simple->save(); Util\Session::set('siteSuccess', 'submitted'); } else { Util\Session::set('siteError', $result->message); } } else { Util\Session::set('siteError', 'invalid'); } } // view $this->setTpl(); // main $tplMain = new Util\Template(Util\Template::MODULE, ['bus', 'simple']); $tplMain->set('item', $simple); // layout $this->tplLayout->set('column1', $tplMain->render('form')); // template $this->tplMaster->set('layout', $this->tplLayout->render('layout-2-col')); return $this->tplMaster->render('tpl-default'); }
public function register() { $signedUser = $this->app->user(); // auth if (Util\Auth::isAuth($signedUser)) { header('Location: /profile'); exit; } // check $user = new \Rebond\Core\User\Model(); $form = new \Rebond\Core\User\Form($user); $tpl = new Util\Template(Util\Template::MODULE, ['app', 'User']); // register $register = Util\Converter::toString('register', 'post'); if (isset($register)) { if ($form->setFromPost()->validate(['username', 'email', 'password'])->isValid()) { $user->setStatus(0); $user->setPassword(Util\Security::encryptPassword($user->getPassword())); $resultUpload = Util\Media::upload($user->getUsername()); if ($resultUpload['result'] == ResultType::ERROR) { Util\Session::set('siteError', $resultUpload['message']); } else { if ($resultUpload['result'] == ResultType::SUCCESS) { $user->setAvatarId($resultUpload['mediaId']); } $user->save(); } // send email if (Mail::register($this->app->site()->getTitle(), $user)) { return $tpl->render('register-success'); } // mail could not be sent $user->setStatus(1); $userRole = new \Rebond\Core\UserRole\Model(); $userRole->setUserId($user->getId()); $userRole->setRoleId(\Rebond\Core\Role\Model::MEMBER); $userRole->save(); return $tpl->render('register-success-nomail'); } else { Util\Session::set('siteError', $form->getValidation()->getMessage()); } } // confirm email $confirm = Util\Converter::toString('confirm'); if (isset($confirm)) { $signedUser = \Rebond\Core\UserSecurity\Service::getUserBySecure($confirm, \Rebond\Core\UserSecurity\Model::CONFIRM); if (isset($signedUser) && $signedUser->getId() != 0) { $userRole = new \Rebond\Core\UserRole\Model(); $userRole->setUserId($signedUser->getId()); $userRole->setRoleId(\Rebond\Core\Role\Model::MEMBER); $userRole->save(); Util\Session::set('allSuccess', Util\Lang::lang('hi', [$signedUser->getUsername()])); Util\Session::set('signedUser', $signedUser->getId()); $this->app->setUser($signedUser); return $tpl->render('register-confirm'); } } $tpl->set('item', $form); return $tpl->render('register'); }
public function register() { $signedUser = $this->app->user(); // auth if (Util\Auth::isAuth($signedUser)) { header('Location: /profile'); exit; } // check $user = new \Rebond\Core\User\Model(); $form = new \Rebond\Core\User\Form($user); $tpl = new Util\Template(Util\Template::MODULE, ['app', 'User']); // register $register = Util\Converter::string('register', 'post'); if (isset($register)) { if ($form->setFromPost()->validate()->isValid()) { $user->setStatus(0); $user->setPassword(Util\Security::encryptPassword($user->getPassword())); $avatarId = Util\Media::generateAvatar($user->getUsername()); $user->setAvatarId($avatarId); $user->save(); // send email if (Mail::register($this->app->site()->getTitle(), $user)) { return $tpl->render('register-success'); } else { $user->setStatus(1); $user->save(); $userRole = new \Rebond\Core\UserRole\Model(); $userRole->setUserId($user->getId()); $userRole->setRoleId(5); // member $userRole->save(); return $tpl->render('register-success-nomail'); } } else { Session::set('siteError', $form->getValidation()->getMessage()); } } // confirm email $confirm = Util\Converter::string('confirm'); if (isset($confirm)) { $signedUser = \Rebond\Core\UserSecurity\Data::loadBySecure($confirm, \Rebond\Core\UserSecurity\Model::CONFIRM); if (isset($signedUser) && $signedUser->getId() != 0) { $userRole = new \Rebond\Core\UserRole\Model(); $userRole->setUserId($signedUser->getId()); $userRole->setRoleId(5); // member $userRole->save(); Util\Session::set('allSuccess', Util\Lang::lang('hi', [$signedUser->getUsername()])); Util\Session::set('signedUser', $signedUser->getId()); $this->app->setUser($signedUser); return $tpl->render('register-confirm'); } } $tpl->set('item', $form); return $tpl->render('register'); }
public function edit() { // auth Util\Auth::isAuthorized($this->signedUser, 'member', false, '/profile/sign-in'); $playerForm = new \Own\Bus\Player\Form($this->player); $save = Util\Converter::toString('save', 'post'); if ($save != '') { $properties = ['country', 'hand', 'toss', 'acceptChallenge', 'sendNotificationEmail']; $playerForm->setFromPost($properties)->validate($properties); $fieldAvatar = Util\Validate::validate('avatar', $playerForm->getModel()->getUser()->getAvatarId(), ['media' => false, 'image' => true]); $playerForm->getValidation()->addField($fieldAvatar); if (!$playerForm->getValidation()->isValid()) { Util\Session::set('siteError', $playerForm->getValidation()->getMessage()); } else { $this->player->save(); $obj = Util\Media::uploadForm('avatarId'); if ($obj->result == ResultType::SUCCESS) { $this->signedUser->setAvatarId($obj->id); } if ($obj->result != ResultType::ERROR) { $this->signedUser->save(); } else { Util\Session::set('siteError', $obj->message); } Util\Session::setAndRedirect('siteSuccess', 'Profile saved', '/profile'); } } // view $this->setTpl(); // main $tplMain = new Util\Template(Util\Template::MODULE, ['bus', 'player']); $tplMain->set('item', $playerForm); // layout $this->tplLayout->set('column1', $tplMain->render('editor-site')); // template $this->tplMaster->set('layout', $this->tplLayout->render('layout-center')); return $this->tplMaster->render('tpl-default'); }
public function renderUsername($withAvatar = false, $withLevel = true, $withLink = true, $withCountry = true) { $html = ''; if ($withAvatar) { $src = Util\Media::showFromModel($this->getAvatar(), 32, 32); $html .= '<img src="' . $src . '" alt="' . $this->username . '" title="' . $this->username . '" /> '; } if ($withCountry) { $html .= '<img src="' . \Own\Bus\Country::toArray(false)[$this->getCountry()] . '" alt="' . $this->getCountryValue() . '" title="' . $this->getCountryValue() . '" /> '; } if ($withLink) { $html .= '<a href="#" class="modal-player" data-id="' . $this->id . '">'; } if ($this->userId != 0) { $html .= '<b>' . $this->username . '</b>'; } else { $html .= $this->username; } if ($withLink) { $html .= '</a>'; } if (is_int($withLevel) && $withLevel != 0) { $html .= ' <span class="enum level">' . $withLevel . '</span>'; } else { if ($withLevel !== false) { $html .= ' <span class="enum level">' . $this->calculateLevel() . '</span>'; } } return $html; }
public static function buildMedia($field, \Rebond\Core\Media\Model $media) { $html = '<div class="input-media" data-field="' . $field . '">'; $html .= '<img src="' . \Rebond\Util\Media::showFromModel($media) . '" alt="media" />'; $html .= '<input type="text" class="input" id="media-' . $field . '" disabled value="' . $media->getTitle() . '">'; $html .= '<a href="#" class="button media-select" id="media-select-' . $field . '" data-field="' . $field . '">' . Lang::lang('select') . '</a>'; $html .= '<a href="#" class="button media-clear" id="media-clear-' . $field . '" data-field="' . $field . '">' . Lang::lang('clear') . '</a>'; $html .= '<input type="hidden" id="' . $field . '" name="' . $field . '" value="' . $media->getId() . '">'; $html .= '</div>'; return $html; }
public function crop() { // auth Auth::isAdminAuthorized($this->signedUser, 'admin.media.crop', true, '/media'); // action $id = Converter::int('id'); $x = Converter::int('x', 'post'); $y = Converter::int('y', 'post'); $w = Converter::int('w', 'post'); $h = Converter::int('h', 'post'); $media = \Rebond\Core\Media\Data::loadById($id); if (!isset($media)) { Session::adminError('itemNotFound', [$id], '/media'); } // action if (isset($_POST['save'])) { $file = \Rebond\Util\Media::showFromModel($media, 920, 900, \Rebond\Core\RatioType::KEEP_MIN); $filename = \Rebond\Util\File::getFilename($file); $upload = \Rebond\Util\Media::crop(\Rebond\Config::getPath('media'), $media->getPath(), $filename, $x, $y, $w, $h); // add Media // copy media by setting MediaId to 0 $fullPathFile = \Rebond\Config::getPath('media') . $media->getPath() . $upload; $media->setId(0); $media->setOriginalFilename($upload); $media->setWidth($_POST['w']); $media->setHeight($_POST['h']); $media->setFilesize(filesize($fullPathFile)); $media->setUpload($upload); $media->setCreatedDate('now'); $media->save(); Session::adminSuccess('saved', '/media'); } // view $this->setTpl(); // media $tplMain = new Template(Template::SITE, ['admin', 'media']); $tplMain->set('model', $media); // layout $this->tplLayout->add('column1', $tplMain->render('crop')); //master $this->tplMaster->set('layout', $this->tplLayout->render('layout-1-col')); $this->tplMaster->set('jsLauncher', 'mediaCrop'); return $this->tplMaster->render('tpl-default'); }
public function uploadify() { $json = []; $json['result'] = ResultType::ERROR; // check $id = Converter::int('userId', 'post', 0); $this->signedUser = \Rebond\Core\User\Data::loadById($id); if (!isset($this->signedUser)) { $json['message'] = Lang::lang('accessNonAuthorized'); return json_encode($json); } if (!$this->hasPrivilege('admin.media.upload')) { return $this->noPrivilege('admin.media.upload'); } $folderId = Converter::int('folderId', 'post'); $isSelectable = Converter::int('isSelectable', 'post', 1); if (!isset($folderId)) { $json['message'] = Lang::lang('errorInvalidParameters'); return json_encode($json); } $upload = \Rebond\Util\Media::upload('', $_FILES['Filedata']); $originalName = $_FILES['Filedata']['name']; if ($upload == ResultType::ERROR) { $json['message'] = Lang::lang('errorFileUpload', [$originalName]); Log::log(Error::MEDIA_NOT_SAVED, $json['message'], __FILE__, __LINE__); return json_encode($json); } list($w, $h) = getimagesize(\Rebond\Config::getPath('media') . $upload); $ext = \Rebond\Util\File::getExtension(\Rebond\Config::getPath('media') . $upload); $noExt = \Rebond\Util\File::getNoExtension($originalName); $media = new \Rebond\Core\Media\Model(); $media->setFolderId($folderId); $media->setTitle($noExt); $media->setAlt($noExt); $media->setOriginalFilename($originalName); $media->setExtension($ext); $media->setWidth($w); $media->setHeight($h); $media->setFilesize(filesize(\Rebond\Config::getPath('media') . $upload)); $mimeType = new \finfo(FILEINFO_MIME_TYPE); $media->setMimetype($mimeType->file(\Rebond\Config::getPath('media') . $upload)); $media->setUpload($upload); $media->setIsSelectable($isSelectable); $media->save(); $json['result'] = ResultType::SUCCESS; $json['id'] = $media->getId(); $json['message'] = Lang::lang('mediaUploaded', [$originalName]); return json_encode($json); }