public static function add($post_id) { $post = Input::post(array('name', 'email', 'text')); $errors = array(); if (empty($post['name'])) { $errors[] = 'Please enter ayour name'; } if (filter_var($post['email'], FILTER_VALIDATE_EMAIL) === false) { $errors[] = 'Please enter a valid email address'; } if (empty($post['text'])) { $errors[] = 'Please enter your comments'; } if (count($errors)) { Notifications::set('error', $errors); return false; } $post['date'] = time(); $post['status'] = 'pending'; $post['post'] = $post_id; $keys = array(); $values = array(); $args = array(); foreach ($post as $key => $value) { $keys[] = '`' . $key . '`'; $values[] = '?'; $args[] = $value; } $sql = "insert into comments (" . implode(', ', $keys) . ") values (" . implode(', ', $values) . ")"; Db::query($sql, $args); Notifications::set('success', 'Your comment has been sent'); return true; }
public static function add($post_id) { $post = Input::post(array('name', 'email', 'text')); $errors = array(); if (empty($post['name'])) { $errors[] = 'Please enter your name'; } if (filter_var($post['email'], FILTER_VALIDATE_EMAIL) === false) { $errors[] = 'Please enter a valid email address'; } if (empty($post['text'])) { $errors[] = 'Please enter your comments'; } if (count($errors)) { Notifications::set('error', $errors); return false; } $post['date'] = time(); $post['status'] = Config::get('metadata.auto_published_comments', 0) ? 'published' : 'pending'; $post['post'] = $post_id; // encode any html $post['text'] = Html::encode($post['text']); Db::insert('comments', $post); Notifications::set('success', 'Your comment has been sent'); return true; }
public static function update() { $post = Input::post(array('sitename', 'description', 'theme', 'twitter', 'home_page', 'posts_page')); $errors = array(); if (empty($post['sitename'])) { $errors[] = 'You need a site sitename'; } if (empty($post['description'])) { $errors[] = 'You need a site description'; } if (empty($post['theme'])) { $errors[] = 'You need a theme'; } if (count($errors)) { Notifications::set('error', $errors); return false; } $post['sitename'] = htmlentities($post['sitename']); $post['description'] = htmlentities($post['description']); foreach ($post as $key => $value) { Db::update('meta', array('value' => $value), array('key' => $key)); } Notifications::set('success', 'Your metadata has been updated'); return true; }
public static function update() { $post = Input::post(array('sitename', 'description', 'theme', 'twitter', 'home_page', 'posts_page', 'auto_published_comments', 'posts_per_page')); $errors = array(); if (empty($post['sitename'])) { $errors[] = 'You need a site sitename'; } if (empty($post['description'])) { $errors[] = 'You need a site description'; } if (empty($post['theme'])) { $errors[] = 'You need a theme'; } // auto publish comments $post['auto_published_comments'] = $post['auto_published_comments'] ? 1 : 0; // format posts per page, must be a whole number above 1 defaults to 10 if a invalid number is entered $post['posts_per_page'] = ($posts_per_page = intval($post['posts_per_page'])) > 0 ? $posts_per_page : 10; if (count($errors)) { Notifications::set('error', $errors); return false; } foreach ($post as $key => $value) { Db::update('meta', array('value' => $value), array('key' => $key)); } Notifications::set('success', 'Your metadata has been updated'); return true; }
public function reset($hash) { // find user if (($user = Users::find(array('hash' => $hash))) === false) { Notifications::set('error', 'User not found'); return Response::redirect($this->admin_url . '/users'); } /*if(Input::method() == 'POST') { if(Users::reset_password($user->id)) { return Response::redirect($this->admin_url); } }*/ Template::render('users/reset', array('user' => $user)); }
public static function add() { $post = Input::post(array('username', 'password', 'email', 'real_name', 'bio', 'status', 'role')); $errors = array(); if (empty($post['username'])) { $errors[] = 'Please enter a username'; } else { if (static::find(array('username' => $post['username']))) { $errors[] = 'Username is already being used'; } } if (empty($post['password'])) { $errors[] = 'Please enter a password'; } if (filter_var($post['email'], FILTER_VALIDATE_EMAIL) === false) { $errors[] = 'Please enter a valid email address'; } if (empty($post['real_name'])) { $errors[] = 'Please enter a display name'; } if (count($errors)) { Notifications::set('error', $errors); return false; } // encrypt password $post['password'] = crypt($post['password']); // format email $post['email'] = strtolower(trim($post['email'])); // add record Db::insert('users', $post); Notifications::set('success', 'A new user has been added'); return true; }
public static function add() { // verify Csrf token if (Csrf::verify(Input::post('token')) === false) { Notifications::set('error', 'Invalid token'); return false; } $post = Input::post(array('slug', 'name', 'title', 'content', 'redirect', 'status')); $errors = array(); if (empty($post['name'])) { $errors[] = Lang::line('pages.missing_name', 'Please enter a name'); } if (empty($post['title'])) { $errors[] = Lang::line('pages.missing_title', 'Please enter a title'); } // check for duplicate slug $sql = "select id from pages where slug = ?"; if (Db::row($sql, array($post['slug']))) { $errors[] = Lang::line('pages.duplicate_slug', 'A pages with the same slug already exists, please change your page slug.'); } if (count($errors)) { Notifications::set('error', $errors); return false; } if (empty($post['slug'])) { $post['slug'] = $post['name']; } $post['slug'] = Str::slug($post['slug']); Db::insert('pages', $post); Notifications::set('success', Lang::line('pages.page_success_created', 'Your new page has been added')); return true; }
public static function add() { $post = Input::post(array('title', 'slug', 'description', 'html', 'css', 'js', 'status', 'field', 'comments')); $errors = array(); if (empty($post['title'])) { $errors[] = 'Please enter a title'; } if (empty($post['description'])) { $errors[] = 'Please enter a description'; } if (empty($post['html'])) { $errors[] = 'Please enter your html'; } if (count($errors)) { Notifications::set('error', $errors); return false; } if (empty($post['slug'])) { $post['slug'] = preg_replace('/\\W+/', '-', trim(strtolower($post['title']))); } $custom = array(); if (is_array($post['field'])) { foreach ($post['field'] as $keylabel => $value) { list($key, $label) = explode(':', $keylabel); $custom[$key] = array('label' => $label, 'value' => $value); } } // remove from update unset($post['field']); $post['custom_fields'] = json_encode($custom); // set creation date $post['created'] = time(); // set author $user = Users::authed(); $post['author'] = $user->id; Db::insert('posts', $post); Notifications::set('success', 'Your new post has been added'); return true; }
public static function add() { $post = Input::post(array('slug', 'name', 'title', 'content', 'status')); $errors = array(); if (empty($post['name'])) { $errors[] = 'Please enter a name'; } if (empty($post['title'])) { $errors[] = 'Please enter a title'; } if (count($errors)) { Notifications::set('error', $errors); return false; } if (empty($post['slug'])) { $post['slug'] = preg_replace('/\\W+/', '-', trim(strtolower($post['name']))); } Db::insert('pages', $post); Notifications::set('success', 'Your new page has been added'); return true; }
public static function add() { // verify Csrf token if (Csrf::verify(Input::post('token')) === false) { Notifications::set('error', 'Invalid token'); return false; } $post = Input::post(array('title', 'slug', 'created', 'description', 'html', 'css', 'js', 'status', 'field', 'comments')); $errors = array(); $post['created'] = strtotime($post['created']); if ($post['created'] === false) { $errors[] = Lang::line('posts.invalid_date', 'Please enter a valid date'); } if (empty($post['title'])) { $errors[] = Lang::line('posts.missing_title', 'Please enter a title'); } if (empty($post['description'])) { $errors[] = Lang::line('posts.missing_description', 'Please enter a description'); } if (empty($post['html'])) { $errors[] = Lang::line('posts.missing_html', 'Please enter your html'); } // use title as fallback if (empty($post['slug'])) { $post['slug'] = $post['title']; } // format slug $post['slug'] = Str::slug($post['slug']); // check for duplicate slug $sql = "select id from posts where slug = ?"; if (Db::row($sql, array($post['slug']))) { $errors[] = Lang::line('posts.duplicate_slug', 'A post with the same slug already exists, please change your post slug.'); } if (count($errors)) { Notifications::set('error', $errors); return false; } $custom = array(); if (is_array($post['field'])) { foreach ($post['field'] as $keylabel => $value) { list($key, $label) = explode(':', $keylabel); $custom[$key] = array('label' => $label, 'value' => $value); } } // remove from update unset($post['field']); $post['custom_fields'] = json_encode($custom); // set author $user = Users::authed(); $post['author'] = $user->id; Db::insert('posts', $post); Notifications::set('success', Lang::line('posts.post_success_created', 'Your new post has been added')); return true; }
public static function add() { // verify Csrf token if (Csrf::verify(Input::post('token')) === false) { Notifications::set('error', 'Invalid token'); return false; } $post = Input::post(array('username', 'password', 'email', 'real_name', 'bio', 'status', 'role')); $errors = array(); if (empty($post['username'])) { $errors[] = Lang::line('users.missing_username', 'Please enter a username'); } else { if (static::find(array('username' => $post['username']))) { $errors[] = Lang::line('users.username_exists', 'Username is already being used'); } } if (empty($post['password'])) { $errors[] = Lang::line('users.missing_password', 'Please enter a password'); } if (filter_var($post['email'], FILTER_VALIDATE_EMAIL) === false) { $errors[] = Lang::line('users.invalid_email', 'Please enter a valid email address'); } if (empty($post['real_name'])) { $errors[] = Lang::line('users.missing_name', 'Please enter a display name'); } if (count($errors)) { Notifications::set('error', $errors); return false; } // encrypt password $post['password'] = Hash::make($post['password']); // format email $post['email'] = strtolower(trim($post['email'])); // strip tags on real_name (http://osvdb.org/show/osvdb/79659) $post['real_name'] = strip_tags($post['real_name']); // add record Db::insert('users', $post); Notifications::set('success', Lang::line('users.user_success_created', 'A new user has been added')); return true; }