private final function nettoyerBase() { return (bool) ORM::forTable(self::NOM_TABLE)->whereRaw('(NOW() - `date_activite`) >= ?', array(Config::DUREE_SESSION))->deleteMany(); }
$requestBody = $app->request()->getBody(); $requestParams = json_decode($requestBody); $programExercise = ORM::for_table('program_exercises')->create(); $programExercise->program_id = $programId; $programExercise->exercise_id = $requestParams->exercise_id; $programExercise->order_number = $requestParams->order_number; $programExercise->save(); echo json_encode(["program_exercise_id" => $programExercise->id()]); }); /** * Update a program exercise */ $app->put('/programs/:program_id/exercises/:program_exercise_id', function ($programId, $programExerciseId) use($app) { $requestBody = $app->request()->getBody(); $requestParams = json_decode($requestBody); $programExercise = ORM::for_table('program_exercises')->find_one($programExerciseId); $programExercise->program_id = $programId; $programExercise->exercise_id = $requestParams->exercise_id; $programExercise->order_number = $requestParams->order_number; $programExercise->save(); $programExercise = ORM::for_table('program_exercises')->find_one($programExerciseId)->as_array(); echo json_encode($programExercise); }); /** * Delete a program exercise id. */ $app->delete('/programs/:program_id/exercises/:program_exercise_id', function ($programId, $programExerciseId) use($app) { $programExercise = ORM::forTable('program_exercises')->findOne($programExerciseId); $programExercise->delete(); $app->response()->setStatus(200); });
public static function obtenirTout(Condition $conditions = NULL, $offset = 0, $limite = NULL) { $listeRecords = ORM::forTable(self::nomTable()); // Prise en compte d'éventuelles conditions if ($conditions !== NULL) { $listeRecords->whereRaw($conditions->generer(), $conditions->listeValeurs()); } // Pris en compte de l'éventuel limite if ($limite !== NULL) { $listeRecords->limit($limite); } // Prise en compte de l'éventuel offset $listeRecords->offset($offset); // Récupération des résultats $listeRecords = $listeRecords->findMany(); $listeElements = array(); // On récupère le nom de la classe instanciée pour pouvoir en retourner les objets $nomClasse = get_called_class(); foreach ($listeRecords as $record) { $objet = new $nomClasse(); // Hydration de l'objet $objet->setRecord($record); // Ajout dans la liste des résultats $listeElements[] = $objet; } return $listeElements; }
function i_get() { require 'idiorm/idiorm.php'; require 'application/config/idiorm.php'; $data = new stdClass(); $data->songs = ORM::forTable('songs')->whereRaw('(`time` > ? AND `time` < ?)', array(0, 32))->orderByAsc('artist')->findResultSet(); return $data; }
public function call() { $app = $this->app; if (isset($_SESSION['uid'])) { $env = $app->environment(); $env['user'] = ORM::forTable('users')->findOne($_SESSION['uid']); $this->next->call(); } else { $app->redirect(SITE_URL . '/login'); } }
public function call() { $app = $this->app; $env = $app->environment(); if (isset($_SESSION['uid'])) { $user = ORM::forTable('users')->findOne($_SESSION['uid']); $endpoint = array('id' => $_SESSION['username'], 'nick' => $user->nick, 'presence' => 'online', 'show' => 'available', 'status' => $user->status, 'url' => '#', 'pic_url' => Gravatar::url($user->login), 'role' => 'user'); $env['endpoint'] = $endpoint; } $this->next->call(); }
}); /** * PUT request for workout */ $app->put('/workouts/:workout_id', function ($workoutId) use($app) { $requestBody = $app->request()->getBody(); $requestParams = json_decode($requestBody); $workout = ORM::forTable('workout')->findOne($workoutId); $workout->user_id = 0; $workout->program_id = $requestParams->program_id; $workout->date = $requestParams->date; $workout->user_weight = $requestParams->user_weight; $workout->user_rhr = $requestParams->user_rhr; $workout->start_time = $requestParams->start_time; $workout->end_time = $requestParams->end_time; $workout->comments = $requestParams->comments; if (!$workout->save()) { $app->response()->setStatus(500); } else { echo json_encode(["workout_id" => $workoutId]); } }); /** * DELETE request for workout */ $app->delete('/workouts/:workout_id', function ($workoutId) use($app) { $program = ORM::forTable('workout')->findOne($workoutId); if (!$program->delete()) { $app->response()->setStatus(500); } });
if ($workoutExercise->save()) { $app->response->body(json_encode(["workout_exercise_id" => $workoutExercise->workout_exercise_id])); } else { $app->response()->setStatus(500); } }); /** * PUT request for workout exercise */ $app->put('/workouts/:workout_id/exercises/:workout_exercise_id', function ($workoutId, $workoutExerciseId) use($app) { $requestBody = $app->request()->getBody(); $requestParams = json_decode($requestBody); $workoutExercise = ORM::forTable('workout_exercises')->findOne($workoutExerciseId); $workoutExercise->workout_id = $workoutId; $workoutExercise->exercise_id = $requestParams->exercise_id; $workoutExercise->instructions = $requestParams->instructions; $workoutExercise->comment = $requestParams->comment; $workoutExercise->order_number = $requestParams->order_number; if (!$workoutExercise->save()) { $app->response()->setStatus(500); } }); /** * DELETE request for workout exercise */ $app->delete('/workouts/:workout_id/exercises/:workout_exercise_id', function ($workoutId, $workoutExerciseId) use($app) { $workoutExercise = ORM::forTable('workout_exercises')->findOne($workoutExerciseId); if (!$workoutExercise->delete()) { $app->response()->setStatus(500); } });
public function testClearingInvalidCache() { $this->setExpectedException('Exception'); Orm::configure('caching', true); Orm::configure('caching_driver', 'invalid'); try { ORM::forTable('widget')->where('name', 'Fred')->where('age', 17)->findOne(); } catch (Exception $e) { Orm::clearCache(); } }
<?php adminOnly(); if ($_POST) { $id = (int) $_POST['id']; $description = trim($_POST['description']); $image = isset($_POST['image']) ? filter_var(trim($_POST['image']), FILTER_VALIDATE_URL) : ''; if (!($perle = ORM::forTable('perles_posts')->findOne($id))) { $_SESSION['message'] = 'Pērle netika atrasta.'; } elseif (!getimagesize($image)) { $_SESSION['message'] = 'Tas nav attēls.'; } else { /** * Gotta delete the image from assets folder * if it exists there (basically has been uploaded) */ deleteUploadedImage(basename($perle->image)); $perle->description = $description; $perle->image = protocolRelativeUrl($image); $perle->save(); $_SESSION['message'] = 'Pērle saglabata.'; } if (isset($_POST['ref']) && !empty($_POST['ref'])) { redirect(urldecode($_POST['ref'])); } } redirect($config['url']);
/** * Check passed auth token * * @param string $authToken * @return boolean */ protected function verify($authToken) { $user = \ORM::forTable('users')->where('apikey', $authToken)->findOne(); if (false !== $user) { $this->app->user = $user->asArray(); return true; } return false; }
die; } } else { /** * Redirect to newest pearl to show the identifier in url (for sharing purpouses) */ header('Location: ' . $config['url'] . '/' . strtotime($perle->created)); die; } /** * Next and prev * * False if not found */ $prev = ORM::forTable('perles_posts')->where('active', 1)->whereRaw('`id` = (SELECT max(`id`) FROM `perles_posts` WHERE `id` < ? AND `active` = 1)', array($perle->id))->findOne(); $next = ORM::forTable('perles_posts')->where('active', 1)->whereRaw('`id` = (SELECT min(`id`) FROM `perles_posts` WHERE `id` > ? AND `active` = 1)', array($perle->id))->findOne(); // ------------------------------------------------------------------ // require 'layout/header.php'; ?> <?php if ($perle) { ?> <ul id="pager" class="pager"> <?php if ($next) { ?> <li class="previous"><a href="<?php echo $config['url']; ?> /<?php
public function validaNotesContactID($note) { if (isset($note['body']) && empty($note['body'])) { $this->addError('notes', 'contact_id', 'contact_id cannot be empty'); } $results = \ORM::forTable('notes')->where('contact_id', $note['contact_id'])->count(); if (!$results) { $this->addError('notes', 'contact_id', 'contact_id dont exists'); } return $this->hasErrors(); }
* POST request for programs */ $app->post('/programs', function () use($app) { $requestBody = $app->request()->getBody(); $requestParams = json_decode($requestBody); $program = ORM::forTable('programs')->create(); // TODO: replace with real user id $program->user_id = 0; $program->name = $requestParams->name; $program->save(); echo json_encode(["program_id" => $program->id()]); }); /** * PUT request for programs * TODO Access control */ $app->put('/programs/:id', function ($id) use($app) { $requestBody = $app->request()->getBody(); $requestParams = json_decode($requestBody); $program = ORM::forTable('programs')->findOne($id); $program->name = $requestParams->name; return $program->save(); }); /** * DELETE request for programs * TODO Access control */ $app->delete('/programs/:id', function ($id) use($app) { $program = ORM::forTable('programs')->findOne($id); return $program->delete(); });
return; } else { throw new Exception("Unable to save note"); } } else { throw new ValidationException("Invalid data", 0, $errors); } } } $app->notFound(); })->via('PUT', 'PATCH'); // Delete single note $app->delete('/contacts/:id/notes/:note_id', function ($id, $note_id) use($app, $log) { $contact = \ORM::forTable('contacts')->select('id')->findOne($id); if ($contact) { $note = \ORM::forTable('notes')->findOne($note_id); if ($note) { $note->delete(); $app->halt(204); } } $app->notFound(); }); }); }); // Public human readable home page $app->get('/', function () use($app, $log) { echo "<h1>Hello, this can be the public App Interface</h1>"; }); // JSON friendly errors // NOTE: debug must be false
<?php require __DIR__ . '/lib.php'; require __DIR__ . '/vendor/autoload.php'; $map = ['answer', 'question', 'user']; $n = count($map) - 1; $url = 'http://3.xctest.sinaapp.com/upload'; while (1) { $i = rand(0, $n); $type = $map[$i]; $entry = ORM::forTable($type)->where('is_upload', 0)->findOne(); $data = ['type' => $type, 'data' => $entry->toArray()]; $ch = curl_init($url); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, $data); $content = curl_exec($ch); $response = json_decode($content, true); if (json_last_error()) { app_log('error: json decode error %s', json_last_error()); throw new Exception("json decode error", 1); } if (empty($response)) { app_log('error: response empty'); throw new Exception("response empty", 1); } if ($response['code'] !== 0) { app_log('error: response code %s message %s', $response['code'], $response['message']); throw new Exception("response code " . $response['code'], 1); } $entry->is_upload = 1; $entry->save();
<?php $type = _post('type'); $data = _post('data'); app_log('recieve type %s with %s', $type, json_encode($data)); $entry = ORM::forTable($type)->findOne($data['id']); if ($entry) { $code = 1; $message = 'has entry'; } else { $entry = ORM::forTable('entry')->create(); $code = 0; $message = 'ok'; } $entry->set($data); $entry->save(); echo json_encode(array('code' => $code, 'message' => $message)); app_log('recieve type %s with %s', $type, json_encode($data));
})->name('doSignup'); /** *------------------------------------------- * User Login *------------------------------------------- */ $app->get('/login', function () use($app) { $app->render("login.html"); })->name('login'); $app->post('/login', function () use($app) { $req = $app->request(); $login = $req->post('login'); $password = $req->post('password'); $user = ORM::forTable('users')->where('username', $login)->findOne(); if (!$user) { $user = ORM::forTable('users')->where('email', $login)->findOne(); } $error = null; if ($user && password_verify($password, $user->password)) { $_SESSION['uid'] = $user->id; $_SESSION['username'] = $user->username; $_SESSION['siteid'] = $user->siteid; $_SESSION['user_role'] = $user->role; $app->redirect(SITE_URL . '/console.php/'); } else { $app->flash('error', '账户或密码错误'); $app->redirect(SITE_URL . '/login'); } })->name('doLogin'); /** *-------------------------------------------
<?php /** * Get all pearls */ $perles = ORM::forTable('perles_posts')->where('active', 1)->orderByDesc('created')->findMany(); $counter = count($perles); // ------------------------------------------------------------------ // $config['title-affix'] = $perles ? "Siena" : "Tukšs maiss"; require 'layout/header.php'; ?> <?php if ($perles) { ?> <div id="pearl-wall"> <div id="overlay" style="display: none;"><img src="<?php echo $config['url']; ?> /assets/images/loading.gif" alt="Loading images"></div> <?php foreach ($perles as $perle) { ?> <div class="wall-item"> <p><b>Pērle nr. <?php echo $counter; ?> </b> <small class="text-muted"><?php echo date('d.m.Y', strtotime($perle->created)); ?> </small></p>
# instantiates a new Slim Application $app = new \Slim\Slim(['view' => new \Slim\Views\Blade(), 'templates.path' => '../templates']); #setup templates compiled cache $view = $app->view(); $view->parserOptions = ['debug' => true, 'cache' => "../html_cache"]; # defines a route for the GET method $app->get("/todos", function () use($app) { $todos = ORM::forTable('todos')->select(array('todos.id', 'todos.task', 'lookup.value'))->join('lookup', ['todos.status', '=', 'lookup.code'])->findMany(); $app->render('todos.index', compact('todos', 'app')); //var_dump(ORM::get_query_log(), $todos); })->name('todos.index'); # defines a route for the GET method /*$app->get("/todos/:id", function($id) use ($app){ $todo = ORM::forTable('todos')->findOne($id); $app->render('todos.show', compact('todo')); });*/ # defines a route for the GET method $app->get("/todos/:id/update/status/:status", function ($id, $status) use($app) { # We get the status code firts the status code they passed $status = ORM::forTable('lookup')->where(['type' => 'todo.status', 'value' => $status])->findOne(); # Then we get the corresponding todo item for the id $todo = ORM::forTable('todos')->findOne($id); # We update its code value //$todo->status = $status->code; $todo->set('status', $status->code); # We save it into the database $todo->save(); //var_dump(ORM::get_query_log()); $app->redirect('/todos'); })->conditions(['status' => '(new|working|done|archived)'])->name('todo.update'); # Actually runs the application $app->run();
<?php $p = _get('p') ?: 1; $limit = 100; $offset = ($p - 1) * 100; $orm = ORM::forTable('answer')->join('question', array('answer.q_id', '=', 'question.id'))->join('user', array('answer.user', '=', 'user.name'))->select('*')->select('answer.id', 'aid')->offset($offset)->limit($limit); if ($upvote = _get('upvote')) { $orm->whereGt('answer.vote', $upvote); } if ($kw = _get('kw')) { $orm->whereRaw('(question.title like ? or user.nick_name like ?)', array("%{$kw}%", "%{$kw}%")); } $answers = $orm->findMany(); $style = _get('style', 'normal'); $title = '知乎箱底'; include dirname(__DIR__) . '/view/admin.phtml';
public function validateContact($contact = array(), $action = 'create') { $errors = array(); if (!empty($contact['notes'])) { $notes = $contact['notes']; unset($contact['notes']); } $contact = filter_var_array($contact, array('id' => FILTER_SANITIZE_NUMBER_INT, 'firstname' => FILTER_SANITIZE_STRING, 'lastname' => FILTER_SANITIZE_STRING, 'email' => FILTER_SANITIZE_EMAIL, 'phone' => FILTER_SANITIZE_STRING), false); switch ($action) { case 'update': if (empty($contact['id'])) { $errors['contact'][] = array('field' => 'id', 'message' => 'ID cannot be empty on update'); break; } if (isset($contact['firstname']) && empty($contact['firstname'])) { $errors['contact'][] = array('field' => 'firstname', 'message' => 'First name cannot be empty'); } if (isset($contact['email'])) { if (empty($contact['email'])) { $errors['contact'][] = array('field' => 'email', 'message' => 'Email address cannot be empty'); break; } if (false === filter_var($contact['email'], FILTER_VALIDATE_EMAIL)) { $errors['contact'][] = array('field' => 'email', 'message' => 'Email address is invalid'); break; } // Test for unique email $results = \ORM::forTable('contacts')->where('email', $contact['email'])->findOne(); if (false !== $results && $results->id !== $contact['id']) { $errors['contact'][] = array('field' => 'email', 'message' => 'Email address already exists'); } } break; case 'create': default: if (empty($contact['firstname'])) { $errors['contact'][] = array('field' => 'firstname', 'message' => 'First name cannot be empty'); } if (empty($contact['email'])) { $errors['contact'][] = array('field' => 'email', 'message' => 'Email address cannot be empty'); } elseif (false === filter_var($contact['email'], FILTER_VALIDATE_EMAIL)) { $errors['contact'][] = array('field' => 'email', 'message' => 'Email address is invalid'); } else { // Test for unique email $results = \ORM::forTable('contacts')->where('email', $contact['email'])->count(); if ($results > 0) { $errors['contact'][] = array('field' => 'email', 'message' => 'Email address already exists'); } } break; } if (!empty($notes) && is_array($notes)) { $noteCount = count($notes); for ($i = 0; $i < $noteCount; $i++) { $noteErrors = $this->validateNote($notes[$i], $action); if (!empty($noteErrors)) { $errors['notes'][] = $noteErrors; unset($noteErrors); } } } return $errors; }
function getMainCat5ById($id, $id2, $id3, $id4) { $query = ORM::forTable("sms_subsubcat")->where("PROJID", $id)->where("cat2Id", $id2)->where("cat3Id", $id3)->where("cat4Id", $id4)->whereNotEqual("cat5Id", 0)->orderByAsc("PROJID")->findMany(); return $query; }
<div class="navbar-header"> <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar"> <span class="sr-only">Toggle navigation</span> <span class="icon-bar"></span> <span class="icon-bar"></span> <span class="icon-bar"></span> </button> <a class="navbar-brand" href="<?php echo $config['url']; ?> ">Exs Pērles</a> </div> <div id="navbar" class="navbar-collapse collapse"> <?php $count = ORM::forTable('perles_posts')->where('active', 0)->count(); ?> <ul class="nav navbar-nav navbar-right"> <li<?php if ($view === 'home') { echo ' class="active"'; } ?> ><a href="<?php echo $config['url']; ?> ">Sākums</a></li> <li<?php if ($view === 'wall') { echo ' class="active"'; }
if (!empty($_POST)) { // Create a new contact object $contact = ORM::forTable('contact')->create(); // SHOULD BE MORE ERROR CHECKING HERE! // Set the properties of the object $contact->name = $_POST['name']; $contact->email = $_POST['email']; // Save the object to the database $contact->save(); // Redirect to self. header('Location: ' . basename(__FILE__)); exit; } // Get a list of all contacts from the database $count = ORM::forTable('contact')->count(); $contact_list = ORM::forTable('contact')->findMany(); ?> <html> <head> <title>Idiorm Demo</title> </head> <body> <h1>Idiorm Demo</h1> <h2>Contact List (<?php echo $count; ?> contacts)</h2>
/** * Table query * * @param string $table table name * @return Query */ private function T($table) { return \ORM::forTable($this->prefix($table)); }
$workoutExerciseSet->load = $requestParams->load; if ($workoutExerciseSet->save()) { $app->response->body(json_encode(["workout_exercise_set_id" => $workoutExerciseSet->workout_exercise_set_id])); } else { $app->response()->setStatus(500); } }); /** * PUT request for workout exercise */ $app->put('/workoutexercise/:workout_exercise_id/sets/:workout_exercise_set_id', function ($workoutExerciseId, $workoutExerciseSetId) use($app) { $requestBody = $app->request()->getBody(); $requestParams = json_decode($requestBody); $workoutExerciseSet = ORM::forTable('workout_exercise_sets')->findOne($workoutExerciseSetId); $workoutExerciseSet->set_number = $requestParams->set_number; $workoutExerciseSet->repetitions = $requestParams->repetitions; $workoutExerciseSet->load_type_id = $requestParams->load_type_id; $workoutExerciseSet->load = $requestParams->load; if (!$workoutExerciseSet->save()) { $app->response()->setStatus(500); } }); /** * DELETE request for workout exercise */ $app->delete('/workoutexercise/:workout_exercise_id/sets/:workout_exercise_set_id', function ($workoutExerciseId, $workoutExerciseSetId) use($app) { $workoutExercise = ORM::forTable('workout_exercise_sets')->findOne($workoutExerciseSetId); if (!$workoutExercise->delete()) { $app->response()->setStatus(500); } });
<?php /** * Get auth data */ $password = ORM::forTable('perles_password')->findOne(); $tokens = ORM::forTable('perles_tokens'); /** * Persistent login */ if (isset($_COOKIE['persistent']) && !isset($_SESSION['login'])) { /** * Get the token from cookies */ $_token = $_COOKIE['persistent']; /** * Loop through all tokens from database and check them * If true, stop. */ $_login = false; foreach ($tokens->findMany() as $token) { if (password_verify($_token, $token->hash)) { $_login = true; break; } } if ($_login) { /** * Login and redirect to homepage */ $_SESSION['login'] = true;
if ($isUniqueName) { $exercise = ORM::forTable('exercises')->create(); $exercise->name = $requestParams->name; $exercise->description = $requestParams->description; $exercise->save(); echo json_encode(["exercise_id" => $exercise->id()]); } }); /** * PUT request for exercises */ $app->put('/exercises/:id', function ($id) use($app) { $requestBody = $app->request()->getBody(); $requestParams = json_decode($requestBody); $uniqueCheck = ORM::forTable('exercises')->where('name', $requestParams->name)->findOne(); $isUniqueName = empty($uniqueCheck) || $uniqueCheck['exercise_id'] == $id; if ($isUniqueName) { $exercise = ORM::forTable('exercises')->findOne($id); $exercise->name = $requestParams->name; $exercise->description = $requestParams->description; $exercise->save(); echo json_encode(["name" => $requestParams->name, "description" => $requestParams->description]); } }); /** * DELETE request for exercises */ $app->delete('/exercises/:id', function ($id) use($app) { $exercise = ORM::forTable('exercises')->findOne($id); return $exercise->delete(); });
if ($upload) { $ext = explode('.', $f['name']); $ext = end($ext); $dir = getcwd() . '/assets/images/'; $filePath = $dir . strtotime($date) . '.' . $ext; umask(0); move_uploaded_file($image, $filePath); // Just to keep stuff consistent, I'm replacing image with the relative url to the image. $image = $config['url'] . '/assets/images/' . basename($filePath); } else { $_SESSION['message'] = 'Attela augšupielādes kļūda. Attelam jābūt mazakam par ' . $maxsize . 'mb.'; } /** * Save the image in the database */ $perle = ORM::forTable('perles_posts')->create(); $perle->image = protocolRelativeUrl($image); $perle->description = htmlspecialchars($description); $perle->active = $setToActive && isAdmin() ? 1 : 0; $perle->ip = $_SERVER['REMOTE_ADDR']; $perle->setExpr('created', 'NOW()'); $perle->save(); $_SESSION['message'] = $setToActive && isAdmin() ? 'Attēls pievienots.' : 'Attēls pievienots apskatīšanai.'; } else { $_SESSION['message'] = 'Tas nav attēls.'; } } redirect($config['url'] . '/' . $view); } $config['title-affix'] = "Iesūti savu bildi"; require 'layout/header.php';