/** User logs in */ public static function login($l, $p) { $user = R::findOne("user", "(@email=:l) and pwhash=:p", array('l' => $l, 'p' => sha1($p))); if (!$user) { RedView::end('error', 'User name and password don\'t match.'); } $_SESSION['user'] = $user->export(); RedView::end('message', 'Logged in.'); }
/** User removes himself from a mailing list */ public static function unsubscribe() { $user = self::getUser(); if (!$user) { return RedView::set('error', "You're not on any of our lists."); } if (!($list = self::getList())) { return RedView::set('error', "List doesn't exist."); } R::unassociate($list, $user); }
/** simple access control */ protected static function access($roles) { $user = self::getUser() or RedView::end('error', 'Log in first.'); $rs = explode(',', trim($roles, ',')); $us = explode(',', trim($user->roles, ',')); foreach ($rs as $r) { foreach ($us as $u) { if ($r == $u) { return $user; } } } RedView::end('error', 'You don\'t have permission to do that.'); }
/** Update a mailing list */ public static function updateList() { self::access('admin'); Model_List::updateBean($_REQUEST); RedView::end('message', 'List updated.'); }
public function gridAction() { $data = json_decode($_REQUEST['_gt_json']); if ($data->action == 'load') { echo $this->toJson(); exit(0); } elseif ($data->action == 'save') { // print_r($data); die; $this->beanType = RedView::args(1); $model = "Model_{$this->beanType}"; foreach ($data->insertedRecords as $record) { $model::createBean($record); } foreach ($data->updatedRecords as $record) { $model::updateBean($record); } foreach ($data->deletedRecords as $record) { $model::deleteBean($record); } exit(0); } }
<?php set_include_path(get_include_path() . PATH_SEPARATOR . dirname(__FILE__) . PATH_SEPARATOR . dirname(__FILE__) . '/..'); require_once '../lib/redbean/RedBean/redbean.inc.php'; require_once '../lib/redmodel/redmodel.php'; require_once '../lib/redview/redview.php'; R::setup("mysql:host=localhost;dbname=redskeleton", "root", "root"); $optimizer = new RedBean_Plugin_Optimizer(R::$toolbox); R::$redbean->addEventListener("update", $optimizer); RedView::setup();
public function onConstraintFail($eventName, $sender, $message = null) { die($message); RedView::end('error', $message); }
/** User registers */ public static function register() { $bean = Model_User::createBean($_REQUEST); $_SESSION['user'] = $bean->export(); RedView::end('message', 'Your account has been created.'); }