Пример #1
0
 /**
  * List tags
  *
  * @uses  Request::is_datatables
  * @uses  ORM::dataTables
  * @uses  Text::plain
  * @uses  HTML::icon
  * @uses  Route::url
  * @uses  Route::get
  * @uses  Assets::popup
  */
 public function action_list()
 {
     Assets::popup();
     $is_datatables = Request::is_datatables();
     if ($is_datatables) {
         $tags = ORM::factory('tag');
         $this->_datatables = $tags->dataTables(array('name', 'id', 'type'));
         foreach ($this->_datatables->result() as $tag) {
             $this->_datatables->add_row(array(Text::plain($tag->name), HTML::anchor($tag->url, $tag->url), Text::plain($tag->type), HTML::icon($tag->edit_url, 'fa-edit', array('class' => 'btn btn-sm btn-default action-edit', 'title' => __('Edit Tag'))) . ' ' . HTML::icon($tag->delete_url, 'fa-trash-o', array('class' => 'btn btn-sm btn-default action-delete', 'title' => __('Delete Tag'), 'data-toggle' => 'popup', 'data-table' => '#admin-list-tags'))));
         }
     }
     $this->title = __('Tags');
     $url = Route::url('admin/tag', array('action' => 'list'), TRUE);
     $view = View::factory('admin/tag/list')->bind('datatables', $this->_datatables)->set('is_datatables', $is_datatables)->set('url', $url);
     $this->response->body($view);
 }
Пример #2
0
 /**
  * List Category Groups
  *
  * @uses  Assets::popup
  * @uses  Request::is_datatables
  * @uses  Text::plain
  * @uses  HTML::icon
  * @uses  Route::get
  * @uses  Route::uri
  * @uses  Route::url
  */
 public function action_list()
 {
     Assets::popup();
     $is_datatables = Request::is_datatables();
     $terms = ORM::factory('term')->where('lft', '=', 1);
     if ($is_datatables) {
         $this->_datatables = $terms->dataTables(array('name', 'description'));
         foreach ($this->_datatables->result() as $term) {
             $this->_datatables->add_row(array(Text::plain($term->name) . '<div class="description">' . Text::plain($term->description) . '</div>', HTML::icon(Route::get('admin/term')->uri(array('action' => 'list', 'id' => $term->id)), 'fa-th-list', array('class' => 'action-list', 'title' => __('List Categories'))), HTML::icon(Route::get('admin/term')->uri(array('action' => 'add', 'id' => $term->id)), 'fa-plus', array('class' => 'action-add', 'title' => __('Add Category'))), HTML::icon(Route::get('admin/taxonomy')->uri(array('action' => 'edit', 'id' => $term->id)), 'fa-edit', array('class' => 'action-edit', 'title' => __('Edit Group'))), HTML::icon(Route::get('admin/taxonomy')->uri(array('action' => 'delete', 'id' => $term->id)), 'fa-trash-o', array('class' => 'action-delete', 'title' => __('Delete Group'), 'data-toggle' => 'popup', 'data-table' => '#admin-list-vocabs'))));
         }
     }
     $this->title = __('Category Groups');
     $add_url = Route::get('admin/taxonomy')->uri(array('action' => 'add'));
     $url = Route::url('admin/taxonomy', array('action' => 'list'), TRUE);
     $view = View::factory('admin/taxonomy/list')->bind('datatables', $this->_datatables)->set('is_datatables', $is_datatables)->set('add_url', $add_url)->set('url', $url);
     $this->response->body($view);
 }
Пример #3
0
 /**
  * Displays a list of all users
  *
  * @uses  Request::is_datatables
  * @uses  ORM::dataTables
  * @uses  Text::plain
  * @uses  Text::auto_link
  * @uses  User::roles
  * @uses  HTML::anchor
  * @uses  HTML::icon
  * @uses  Route::get
  * @uses  Route::url
  * @uses  Date::formatted_time
  * @uses  Assets::popup
  */
 public function action_list()
 {
     $is_datatables = Request::is_datatables();
     if ($is_datatables) {
         $users = ORM::factory('user');
         // @todo fix dummy id column for roles to match the column order
         $this->_datatables = $users->dataTables(array('name', 'mail', 'created', 'login', 'id', 'status'));
         foreach ($this->_datatables->result() as $user) {
             $this->_datatables->add_row(array(HTML::anchor($user->url, Text::plain($user->nick)), Text::auto_link($user->mail), Date::formatted_time($user->created, 'M d, Y'), $user->login > 0 ? Date::formatted_time($user->login, 'M d, Y') : __('Never'), User::roles($user), $user->status == 1 ? '<span class="status-active"><i class="fa fa-check-circle"></i></span>' : '<span class="status-blocked"><i class="fa fa-ban"></i></span>', HTML::icon(Route::get('admin/user')->uri(array('action' => 'edit', 'id' => $user->id)), 'fa-edit', array('class' => 'action-edit', 'title' => __('Edit User'))) . '&nbsp;' . HTML::icon(Route::get('admin/permission')->uri(array('action' => 'user', 'id' => $user->id)), 'fa-key', array('class' => '', 'title' => __('Edit Permission'))) . '&nbsp;' . HTML::icon($user->delete_url, 'fa-trash-o', array('class' => 'action-delete', 'title' => __('Delete User'), 'data-toggle' => 'popup', 'data-table' => '#admin-list-users'))));
         }
     }
     Assets::popup();
     $this->title = __('Users');
     $url = Route::url('admin/user', array('action' => 'list'), TRUE);
     $view = View::factory('admin/user/list')->bind('datatables', $this->_datatables)->set('is_datatables', $is_datatables)->set('url', $url);
     $this->response->body($view);
 }
Пример #4
0
 /**
  * List menus
  *
  * @uses  ORM::reset
  * @uses  ORM::dataTables
  * @uses  Route::get
  * @uses  Route::uri
  * @uses  Route::url
  * @uses  Assets::popup
  * @uses  Request::is_datatables
  * @uses  Text::plain
  * @uses  HTML::icon
  */
 public function action_list()
 {
     Assets::popup();
     $is_datatables = Request::is_datatables();
     $menus = ORM::factory('menu')->where('lft', '=', 1);
     if ($is_datatables) {
         $this->_datatables = $menus->dataTables(array('title', 'descp'));
         foreach ($this->_datatables->result() as $menu) {
             $this->_datatables->add_row(array(Text::plain($menu->title) . '<div class="description">' . Text::plain($menu->descp) . '</div>', HTML::icon($menu->list_items_url, 'fa-th-list', array('class' => 'action-list', 'title' => __('List Links'))), HTML::icon($menu->add_item_url, 'fa-plus', array('class' => 'action-add', 'title' => __('Add Link'))), HTML::icon($menu->edit_url, 'fa-edit', array('class' => 'action-edit', 'title' => __('Edit Menu'))), HTML::icon($menu->delete_url, 'fa-trash-o', array('class' => 'action-delete', 'title' => __('Delete Menu'), 'data-toggle' => 'popup', 'data-table' => '#admin-list-menus'))));
         }
     }
     $this->title = __('Menus');
     $add_url = Route::get('admin/menu')->uri(array('action' => 'add'));
     $url = Route::url('admin/menu', array('action' => 'list'), TRUE);
     $view = View::factory('admin/menu/list')->bind('datatables', $this->_datatables)->set('is_datatables', $is_datatables)->set('add_url', $add_url)->set('url', $url);
     $this->response->body($view);
 }
Пример #5
0
 /**
  * Display a list of incoming messages
  *
  * @uses  Assets::popup
  * @uses  Route::url
  * @uses  Route::get
  * @uses  Route::uri
  * @uses  Request::is_datatables
  * @uses  Form::checkbox
  * @uses  HTML::anchor
  * @uses  Date::formatted_time
  * @uses  HTML::icon
  * @uses  Text::limit_chars
  */
 public function action_inbox()
 {
     Assets::popup();
     $url = Route::url('user/message', array('action' => 'inbox'), TRUE);
     $redirect = Route::get('user/message')->uri(array('action' => 'inbox'));
     $form_action = Route::get('user/message')->uri(array('action' => 'bulk', 'id' => PM::INBOX));
     $destination = '?destination=' . $redirect;
     $is_datatables = Request::is_datatables();
     /** @var $messages Model_Message */
     $messages = ORM::factory('Message')->loadInbox();
     if ($is_datatables) {
         $this->_datatables = $messages->dataTables(array('id', 'subject', 'sender', 'sent'));
         foreach ($this->_datatables->result() as $message) {
             $this->_datatables->add_row(array(Form::checkbox('messages[' . $message->id . ']', $message->id, isset($_POST['messages'][$message->id])), HTML::anchor($message->user->url, $message->user->nick, array('class' => 'message-' . $message->status)), HTML::anchor($message->url, Text::limit_chars($message->subject, 20), array('class' => 'message-' . $message->status)) . ' ' . HTML::anchor($message->url, Text::limit_chars(strip_tags($message->body), 80)), Date::formatted_time($message->sent, 'M d, Y'), HTML::icon($message->delete_url . $destination, 'fa-trash-o', array('title' => __('Delete Message'), 'data-toggle' => 'popup', 'data-table' => '#user-message-inbox'))));
         }
     }
     $this->title = __('Inbox');
     $view = View::factory('message/inbox')->bind('datatables', $this->_datatables)->set('is_datatables', $is_datatables)->set('action', $form_action)->set('url', $url);
     $this->response->body($view);
 }
Пример #6
0
 /**
  * Blog list
  *
  * @uses  Route::url
  * @uses  Route::get
  * @uses  Route::uri
  * @uses  Request::is_datatables
  * @uses  Form::checkbox
  * @uses  HTML::anchor
  * @uses  HTML::label
  * @uses  HTML::icon
  * @uses  Post::bulk_actions
  * @uses  Assets::popup
  */
 public function action_list()
 {
     Assets::popup();
     $this->title = __('Blog List');
     $url = Route::url('admin/blog', array('action' => 'list'), TRUE);
     $redirect = Route::get('admin/blog')->uri(array('action' => 'list'));
     $action = Route::get('admin/blog')->uri(array('action' => 'bulk'));
     $destination = '?destination=' . $redirect;
     $is_datatables = Request::is_datatables();
     $blogs = ORM::factory('blog');
     if ($is_datatables) {
         $this->_datatables = $blogs->dataTables(array('id', 'title', 'author', 'status', 'updated'));
         foreach ($this->_datatables->result() as $blog) {
             $this->_datatables->add_row(array(Form::checkbox('blogs[' . $blog->id . ']', $blog->id, isset($_POST['blogs'][$blog->id])), HTML::anchor($blog->url, $blog->title), HTML::anchor($blog->user->url, $blog->user->nick), HTML::label(__($blog->status), $blog->status), Date::formatted_time($blog->updated, 'M d, Y'), HTML::icon($blog->edit_url . $destination, 'fa-edit', array('class' => 'btn btn-sm btn-default action-edit', 'title' => __('Edit Blog'))) . '&nbsp;' . HTML::icon($blog->delete_url . $destination, 'fa-trash-o', array('class' => 'btn btn-sm btn-default action-delete', 'title' => __('Delete Blog'), 'data-toggle' => 'popup', 'data-table' => '#admin-list-blogs'))));
         }
     }
     $view = View::factory('admin/blog/list')->bind('datatables', $this->_datatables)->set('is_datatables', $is_datatables)->set('action', $action)->set('actions', Post::bulk_actions(TRUE, 'blog'))->set('url', $url);
     $this->response->body($view);
 }
Пример #7
0
 /**
  * View user account information
  *
  * @throws  HTTP_Exception_403
  *
  * @uses    Auth::get_user
  * @uses    ACL::check
  * @uses    Text::ucfirst
  * @uses    Assets::popup
  */
 public function action_view()
 {
     $id = (int) $this->request->param('id', 0);
     $user = ORM::factory('user', $id);
     $account = FALSE;
     $is_owner = FALSE;
     $request = FALSE;
     $isFriend = FALSE;
     $friends = array();
     $enable_buddy = (bool) Config::load('auth.enable_buddy', FALSE);
     // Add Schema.org support
     $this->schemaType = 'ProfilePage';
     if (!$user->loaded()) {
         Log::error('Attempt to access non-existent user.');
         // No user is currently logged in
         $this->request->redirect(Route::get('user')->uri(array('action' => 'login')), 401);
     }
     if ($this->_auth->logged_in() and $user->id > 1) {
         $account = Auth::instance()->get_user();
     }
     if ($account and $account->id == $user->id) {
         Assets::popup();
         $this->title = __('My Account');
     } elseif ($account and (ACL::check('access profiles') and $user->status or ACL::check('administer users'))) {
         $this->title = __('Profile %title', array('%title' => Text::ucfirst($user->nick)));
     } elseif (ACL::check('access profiles') and $user->status and $user->id > User::GUEST_ID) {
         $this->title = __('Profile %title', array('%title' => Text::ucfirst($user->nick)));
     } else {
         throw HTTP_Exception::factory(403, 'Attempt to access without required privileges.');
     }
     if ($account and $user->id === $account->id and $enable_buddy) {
         $is_owner = TRUE;
     }
     if ($account && $user && $enable_buddy) {
         $request = Model::factory('buddy')->isRequest($account->id, $user->id);
         $isFriend = Model::factory('buddy')->isFriend($account->id, $user->id);
         $friends = Model::factory('buddy')->friends($user->id, 5);
     }
     $view = View::factory('user/profile')->set('user', $user)->set('is_owner', $is_owner)->set('request', $request)->set('isfriend', $isFriend)->set('friends', $friends)->set('enable_buddy', $enable_buddy);
     $this->response->body($view);
 }
Пример #8
0
 /**
  * Spam Comments
  *
  * @uses  Assets::popup
  */
 public function action_spam()
 {
     Assets::popup();
     $this->_prepare_list(ORM::factory('comment')->where('status', '=', 'spam'));
     $this->title = __('Spam Comments');
     $view = View::factory('admin/comment/list')->bind('datatables', $this->_datatables)->set('is_datatables', Request::is_datatables())->set('bulk_actions', Comment::bulk_actions(TRUE))->set('action', $this->_form_action)->set('url', Route::url('admin/comment', array('action' => 'pending'), TRUE));
     $this->response->body($view);
 }