本文整理汇总了PHP中hook类的典型用法代码示例。如果您正苦于以下问题:PHP hook类的具体用法?PHP hook怎么用?PHP hook使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了hook类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的PHP代码示例。
示例1: browse
public function browse()
{
// Get URI vars
$groupID = (int) uri::segment(5);
// Get group
if (!$groupID || !($group = $this->banners_groups_model->getGroup($groupID))) {
view::setError(__('no_group', 'banners'));
router::redirect('cp/content/banners/groups');
}
// Process query string
$params = $this->parseQuerystring();
// Get banners
if (!($banners = $this->banners_model->getBanners($groupID, $params))) {
view::setInfo(__('no_banners', 'banners'));
}
// Create table grid
$grid = array('uri' => 'cp/content/banners/browse/' . $groupID, 'keyword' => 'banners', 'header' => array('name' => array('html' => __('name', 'system'), 'class' => 'name', 'sortable' => true), 'total_views' => array('html' => __('banner_views', 'banners'), 'class' => 'views', 'sortable' => true), 'total_clicks' => array('html' => __('banner_clicks', 'banners'), 'class' => 'clicks', 'sortable' => true), 'status' => array('html' => __('active', 'system'), 'class' => 'status'), 'actions' => array('html' => __('actions', 'system'), 'class' => 'actions')), 'content' => array());
// Create grid content
foreach ($banners as $banner) {
$grid['content'][] = array('name' => array('html' => html_helper::anchor('cp/content/banners/edit/' . $groupID . '/' . $banner['banner_id'], text_helper::truncate(text_helper::entities($banner['name']), 64))), 'total_views' => array('html' => $banner['total_views']), 'total_clicks' => array('html' => $banner['total_clicks']), 'status' => array('html' => $banner['active'] ? '<span class="label success small">' . __('yes', 'system') . '</span>' : '<span class="label important small">' . __('no', 'system') . '</span>'), 'actions' => array('html' => array('edit' => html_helper::anchor('cp/content/banners/edit/' . $groupID . '/' . $banner['banner_id'], __('edit', 'system'), array('class' => 'edit')), 'delete' => html_helper::anchor('cp/content/banners/delete/' . $groupID . '/' . $banner['banner_id'], __('delete', 'system'), array('data-html' => __('banner_delete?', 'banners'), 'data-role' => 'confirm', 'class' => 'delete')))));
}
// Filter hooks
hook::filter('cp/content/banners/browse/grid', $grid);
// Assign vars
view::assign(array('grid' => $grid));
// Set title
view::setTitle(__('banners_manage', 'system_navigation'));
// Set trail
view::setTrail('cp/content/banners/groups/edit/' . $groupID, __('group_edit', 'banners') . ' - ' . text_helper::entities($group['name']));
view::setTrail('cp/content/banners/browse/' . $groupID, __('banners', 'banners'));
// Assign actions
view::setAction('cp/content/banners/edit/' . $groupID, __('banner_new', 'banners'), array('class' => 'icon-text icon-banners-new'));
// Load view
view::load('cp/content/banners/browse');
}
开发者ID:soremi,项目名称:tutornavi,代码行数:35,代码来源:banners.php
示例2: index
public function index()
{
// Get gateways
if (!($gateways = $this->gateways_model->scanGateways())) {
view::setError(__('no_gateways', 'billing_gateways'));
router::redirect('cp/billing/transactions');
}
// Create table grid
$grid = array('uri' => 'cp/billing/gateways/browse', 'keyword' => 'billing_gateways', 'header' => array('name' => array('html' => __('name', 'system'), 'class' => 'name'), 'status' => array('html' => __('status', 'system'), 'class' => 'status'), 'actions' => array('html' => __('actions', 'system'), 'class' => 'actions')), 'content' => array());
// Create grid content
foreach ($gateways as $gateway) {
if (isset($gateway['gateway_id']) && $gateway['gateway_id']) {
if ($gateway['settings']) {
$actions['settings'] = html_helper::anchor('cp/billing/gateways/settings/' . $gateway['keyword'], __('settings', 'system'), array('class' => 'settings'));
}
$actions['uninstall'] = html_helper::anchor('cp/billing/gateways/uninstall/' . $gateway['keyword'], __('uninstall', 'system'), array('data-html' => __('gateway_uninstall?', 'billing_gateways'), 'data-role' => 'confirm', 'class' => 'uninstall'));
} else {
$actions['install'] = html_helper::anchor('cp/billing/gateways/install/' . $gateway['keyword'], __('install', 'system'), array('class' => 'install'));
}
$grid['content'][] = array('name' => array('html' => text_helper::entities($gateway['name'])), 'status' => array('html' => $gateway['active'] ? '<span class="label success small">' . __('active', 'system') . '</span>' : '<span class="label important small">' . __('inactive', 'system') . '</span>'), 'actions' => array('html' => $actions));
}
// Filter hooks
hook::filter('cp/billing/gateways/browse/grid', $grid);
// Assign vars
view::assign(array('grid' => $grid));
// Set title
view::setTitle(__('billing_gateways_manage', 'system_navigation'));
// Load view
view::load('cp/billing/gateways/browse');
}
开发者ID:soremi,项目名称:tutornavi,代码行数:30,代码来源:gateways.php
示例3: deleteType
public function deleteType($typeID, $type)
{
loader::library('dbforge');
$this->dbforge->dropTable(':prefix:users_data_' . $type['keyword']);
// Delete user type
if ($retval = $this->db->delete('users_types', array('type_id' => $typeID), 1)) {
// Update order IDs
$this->db->query("UPDATE `:prefix:users_types` SET `order_id`=`order_id`-1 WHERE `order_id`>?", array($type['order_id']));
// Select fields IDs
$fieldIDs = array();
foreach ($this->db->query("SELECT `field_id`, `category_id`, `keyword` FROM `:prefix:core_fields` WHERE `category_id`=?", array($typeID))->result() as $field) {
$fieldIDs[] = $field['field_id'];
}
// Do we have any field IDs?
if ($fieldIDs) {
// Delete field items
$this->db->query("DELETE FROM `:prefix:core_fields_items` WHERE `field_id` IN (" . implode(',', $fieldIDs) . ")");
}
// Delete fields
$this->db->delete('core_fields', array('category_id' => $typeID));
// Action hook
hook::action('users/types/delete', $typeID, $type);
}
$this->cache->cleanup();
return $retval;
}
开发者ID:soremi,项目名称:tutornavi,代码行数:26,代码来源:types.php
示例4: deleteEntry
public function deleteEntry($newsID, $news)
{
// Delete entry
$retval = $this->fields_model->deleteValues('news', $newsID);
if ($retval) {
// Delete comments
if ($news['total_comments']) {
loader::model('comments/comments');
$this->comments_model->deleteComments('news', $newsID, $news['total_comments']);
}
// Delete likes
if ($news['total_likes']) {
loader::model('comments/likes');
$this->likes_model->deleteLikes('news', $newsID, $news['total_likes']);
}
// Delete votes
if ($news['total_votes']) {
loader::model('comments/votes');
$this->votes_model->deleteVotes('news', $newsID, $news['total_votes']);
}
// Action hook
hook::action('news/delete', $newsID, $news);
}
return $retval;
}
开发者ID:soremi,项目名称:tutornavi,代码行数:25,代码来源:news.php
示例5: index
public function index()
{
// Get storage services
if (!($services = $this->storage_model->scanServices())) {
view::setError(__('no_services', 'system_storage'));
router::redirect('cp/system/config/system');
}
// Create table grid
$grid = array('uri' => 'cp/system/storage', 'keyword' => 'storages', 'header' => array('name' => array('html' => __('name', 'system'), 'class' => 'name'), 'description' => array('html' => __('description', 'system'), 'class' => 'description'), 'status' => array('html' => __('default', 'system'), 'class' => 'status'), 'actions' => array('html' => __('actions', 'system'), 'class' => 'actions')), 'content' => array());
// Create grid content
foreach ($services as $service) {
$actions = $status = array();
if (isset($service['service_id']) && $service['service_id']) {
$status['html'] = $service['default'] ? '<span class="label success small">' . __('yes', 'system') . '</span>' : html_helper::anchor('cp/system/storage/setdefault/' . $service['keyword'], __('no', 'system'), array('class' => 'label important small'));
$actions['html']['settings'] = html_helper::anchor('cp/system/storage/settings/' . $service['keyword'], __('settings', 'system'), array('class' => 'settings'));
$actions['html']['uninstall'] = html_helper::anchor('cp/system/storage/uninstall/' . $service['keyword'], __('uninstall', 'system'), array('data-html' => __('service_uninstall?', 'system_storage'), 'data-role' => 'confirm', 'class' => 'uninstall'));
} else {
$status['html'] = '<span class="label important small">' . __('no', 'system') . '</span>';
$actions['html']['install'] = html_helper::anchor('cp/system/storage/install/' . $service['keyword'], __('install', 'system'), array('class' => 'install'));
}
$grid['content'][] = array('name' => array('html' => text_helper::entities($service['name'])), 'description' => array('html' => text_helper::entities($service['description'])), 'status' => $status, 'actions' => $actions);
}
// Filter hooks
hook::filter('cp/system/storage/browse/grid', $grid);
// Assign vars
view::assign(array('grid' => $grid));
// Set title
view::setTitle(__('system_storages_manage', 'system_navigation'));
// Load view
view::load('cp/system/storage/browse');
}
开发者ID:soremi,项目名称:tutornavi,代码行数:31,代码来源:storage.php
示例6: browse
public function browse()
{
// Parameters
$params = array('join_columns' => array(), 'join_items' => array());
// Process filters
$params = $this->parseCounters($params);
// Process query string
$qstring = $this->parseQuerystring($params['total']);
// Actions
$actions = array(0 => __('select', 'system'), 'approve' => __('approve', 'system'), 'decline' => __('decline', 'system'), 'delete' => __('delete', 'system'));
// Check form action
if (input::post('do_action')) {
// Delete selected blogs
if (input::post('action') && isset($actions[input::post('action')]) && input::post('blog_id') && is_array(input::post('blog_id'))) {
foreach (input::post('blog_id') as $blogID) {
$blogID = (int) $blogID;
if ($blogID && $blogID > 0) {
$this->action(input::post('action'), $blogID);
}
}
}
// Success
view::setInfo(__('action_applied', 'system'));
router::redirect('cp/plugins/blogs?' . $qstring['url'] . 'page=' . $qstring['page']);
}
// Get blogs
$blogs = array();
if ($params['total']) {
$blogs = $this->blogs_model->getBlogs('in_list', $params['join_columns'], $params['join_items'], $qstring['order'], $qstring['limit']);
}
// Create table grid
$grid = array('uri' => 'cp/plugins/blogs', 'keyword' => 'blogs', 'header' => array('check' => array('html' => 'blog_id', 'class' => 'check'), 'data_title' => array('html' => __('name', 'system'), 'class' => 'name', 'sortable' => true), 'user' => array('html' => __('user', 'system'), 'class' => 'user'), 'post_date' => array('html' => __('post_date', 'system'), 'class' => 'date', 'sortable' => true), 'status' => array('html' => __('status', 'system'), 'class' => 'status'), 'actions' => array('html' => __('actions', 'system'), 'class' => 'actions')), 'content' => array());
// Create grid content
foreach ($blogs as $blog) {
if ($blog['active'] == 1) {
$status = html_helper::anchor('cp/plugins/blogs/decline/' . $blog['blog_id'] . '?' . $qstring['url'] . 'page=' . $qstring['page'], __('active', 'system'), array('class' => 'label small success'));
} else {
$status = html_helper::anchor('cp/plugins/blogs/approve/' . $blog['blog_id'] . '?' . $qstring['url'] . 'page=' . $qstring['page'], $blog['active'] ? __('pending', 'system') : __('inactive', 'system'), array('class' => 'label small ' . ($blog['active'] ? 'info' : 'important')));
}
$grid['content'][] = array('check' => array('html' => $blog['blog_id']), 'data_title' => array('html' => html_helper::anchor('cp/plugins/blogs/edit/' . $blog['blog_id'], text_helper::truncate($blog['data_title'], 64))), 'user' => array('html' => users_helper::anchor($blog['user'])), 'post_date' => array('html' => date_helper::formatDate($blog['post_date'])), 'status' => array('html' => $status), 'actions' => array('html' => array('edit' => html_helper::anchor('cp/plugins/blogs/edit/' . $blog['blog_id'], __('edit', 'system'), array('class' => 'edit')), 'delete' => html_helper::anchor('cp/plugins/blogs/delete/' . $blog['blog_id'] . '?' . $qstring['url'] . 'page=' . $qstring['page'], __('delete', 'system'), array('data-html' => __('blog_delete?', 'blogs'), 'data-role' => 'confirm', 'class' => 'delete')))));
}
// Set pagination
$config = array('base_url' => config::siteURL('cp/plugins/blogs?' . $qstring['url']), 'total_items' => $params['total'], 'items_per_page' => $this->blogsPerPage, 'current_page' => $qstring['page'], 'uri_segment' => 'page');
$pagination = loader::library('pagination', $config, null);
// Filter hooks
hook::filter('cp/plugins/blogs/browse/grid', $grid);
hook::filter('cp/plugins/blogs/browse/actions', $actions);
// Assign vars
view::assign(array('grid' => $grid, 'actions' => $actions, 'pagination' => $pagination));
// Set title
view::setTitle(__('blogs_manage', 'system_navigation'));
// Set trail
if ($qstring['search_id']) {
view::setTrail('cp/plugins/blogs?' . $qstring['url'] . 'page=' . $qstring['page'], __('search_results', 'system'));
}
// Assign actions
view::setAction('#', __('search', 'system'), array('class' => 'icon-text icon-system-search', 'onclick' => '$(\'#blogs-search\').toggle();return false;'));
// Load view
view::load('cp/plugins/blogs/browse');
}
开发者ID:soremi,项目名称:tutornavi,代码行数:60,代码来源:blogs.php
示例7: deleteUser
public function deleteUser($userID, $user)
{
// Delete messages
$retval = $this->db->query("DELETE FROM `:prefix:timeline_messages` WHERE `user_id`=? OR `poster_id`=?", array($userID, $userID));
// Action hook
hook::action('timeline/messages/delete_user', $userID, $user);
return $retval;
}
开发者ID:soremi,项目名称:tutornavi,代码行数:8,代码来源:messages.php
示例8: browse
public function browse()
{
// Parameters
$params = array('join_columns' => array(), 'join_items' => array());
// Process filters
$params = $this->parseCounters($params);
// Process query string
$qstring = $this->parseQuerystring($params['total']);
// Actions
$actions = array(0 => __('select', 'system'), 'delete' => __('delete', 'system'));
// Check form action
if (input::post('do_action')) {
// Delete selected news
if (input::post('action') == 'delete') {
if (input::post('news_id') && is_array(input::post('news_id'))) {
foreach (input::post('news_id') as $newsID) {
$newsID = (int) $newsID;
if ($newsID && $newsID > 0) {
$this->delete($newsID);
}
}
}
}
// Success
view::setInfo(__('action_applied', 'system'));
router::redirect('cp/content/news?' . $qstring['url'] . 'page=' . $qstring['page']);
}
// Get news
$news = array();
if ($params['total']) {
$news = $this->news_model->getEntries('in_list', $params['join_columns'], $params['join_items'], $qstring['order'], $qstring['limit']);
}
// Create table grid
$grid = array('uri' => 'cp/content/news', 'keyword' => 'news', 'header' => array('check' => array('html' => 'news_id', 'class' => 'check'), 'data_title_' . session::item('language') => array('html' => __('name', 'system'), 'class' => 'name', 'sortable' => true), 'post_date' => array('html' => __('post_date', 'system'), 'class' => 'date', 'sortable' => true), 'status' => array('html' => __('status', 'system'), 'class' => 'status'), 'actions' => array('html' => __('actions', 'system'), 'class' => 'actions')), 'content' => array());
// Create grid content
foreach ($news as $entry) {
$grid['content'][] = array('check' => array('html' => $entry['news_id']), 'data_title_' . session::item('language') => array('html' => html_helper::anchor('cp/content/news/edit/' . $entry['news_id'], text_helper::truncate($entry['data_title'], 64))), 'post_date' => array('html' => date_helper::formatDate($entry['post_date'])), 'status' => array('html' => $entry['active'] ? '<span class="label success small">' . __('yes', 'system') . '</span>' : '<span class="label important small">' . __('no', 'system') . '</span>'), 'actions' => array('html' => array('edit' => html_helper::anchor('cp/content/news/edit/' . $entry['news_id'], __('edit', 'system'), array('class' => 'edit')), 'delete' => html_helper::anchor('cp/content/news/delete/' . $entry['news_id'] . '?' . $qstring['url'] . 'page=' . $qstring['page'], __('delete', 'system'), array('data-html' => __('entry_delete?', 'news'), 'data-role' => 'confirm', 'class' => 'delete')))));
}
// Set pagination
$config = array('base_url' => config::siteURL('cp/content/news?' . $qstring['url']), 'total_items' => $params['total'], 'items_per_page' => $this->newsPerPage, 'current_page' => $qstring['page'], 'uri_segment' => 'page');
$pagination = loader::library('pagination', $config, null);
// Filter hooks
hook::filter('cp/content/news/browse/grid', $grid);
hook::filter('cp/content/news/browse/actions', $actions);
// Assign vars
view::assign(array('grid' => $grid, 'actions' => $actions, 'pagination' => $pagination));
// Set title
view::setTitle(__('news_manage', 'system_navigation'));
// Set trail
if ($qstring['search_id']) {
view::setTrail('cp/content/news?' . $qstring['url'] . 'page=' . $qstring['page'], __('search_results', 'system'));
}
// Assign actions
view::setAction('cp/content/news/edit/', __('entry_new', 'news'), array('class' => 'icon-text icon-news-new'));
view::setAction('#', __('search', 'system'), array('class' => 'icon-text icon-system-search', 'onclick' => '$(\'#news-search\').toggle();return false;'));
// Load view
view::load('cp/content/news/browse');
}
开发者ID:soremi,项目名称:tutornavi,代码行数:58,代码来源:news.php
示例9: browse
public function browse()
{
// Parameters
$params = array('join_columns' => array());
// Process filters
$params = $this->parseCounters($params);
// Process query string
$qstring = $this->parseQuerystring($params['total']);
// Actions
$actions = array(0 => __('select', 'system'), 'delete' => __('delete', 'system'));
// Check form action
if (input::post('do_action')) {
// Delete selected messages
if (input::post('action') == 'delete') {
if (input::post('message_id') && is_array(input::post('message_id'))) {
foreach (input::post('message_id') as $messageID) {
$messageID = (int) $messageID;
if ($messageID && $messageID > 0) {
$this->delete($messageID);
}
}
}
}
// Success
view::setInfo(__('action_applied', 'system'));
router::redirect('cp/plugins/messages?' . $qstring['url'] . 'page=' . $qstring['page']);
}
// Get messages
$messages = array();
if ($params['total']) {
$messages = $this->messages_model->getMessages($params['join_columns'], $qstring['order'], $qstring['limit']);
}
// Create table grid
$grid = array('uri' => 'cp/plugins/messages', 'keyword' => 'messages', 'header' => array('check' => array('html' => 'message_id', 'class' => 'check'), 'message' => array('html' => __('message', 'messages'), 'class' => 'name'), 'user' => array('html' => __('user', 'system'), 'class' => 'user'), 'post_date' => array('html' => __('post_date', 'system'), 'class' => 'date', 'sortable' => true), 'actions' => array('html' => __('actions', 'system'), 'class' => 'actions')), 'content' => array());
// Create grid content
foreach ($messages as $message) {
$grid['content'][] = array('check' => array('html' => $message['message_id']), 'message' => array('html' => html_helper::anchor('cp/plugins/messages/edit/' . $message['message_id'], text_helper::truncate($message['message'], 64))), 'user' => array('html' => users_helper::anchor($message['user'])), 'post_date' => array('html' => date_helper::formatDate($message['post_date'])), 'actions' => array('html' => array('edit' => html_helper::anchor('cp/plugins/messages/edit/' . $message['message_id'], __('edit', 'system'), array('class' => 'edit')), 'delete' => html_helper::anchor('cp/plugins/messages/delete/' . $message['message_id'] . '?' . $qstring['url'] . 'page=' . $qstring['page'], __('delete', 'system'), array('data-html' => __('message_delete?', 'messages'), 'data-role' => 'confirm', 'class' => 'delete')))));
}
// Set pagination
$config = array('base_url' => config::siteURL('cp/plugins/messages?' . $qstring['url']), 'total_items' => $params['total'], 'items_per_page' => $this->messagesPerPage, 'current_page' => $qstring['page'], 'uri_segment' => 'page');
$pagination = loader::library('pagination', $config, null);
// Filter hooks
hook::filter('cp/plugins/messages/browse/grid', $grid);
hook::filter('cp/plugins/messages/browse/actions', $actions);
// Assign vars
view::assign(array('grid' => $grid, 'actions' => $actions, 'pagination' => $pagination));
// Set title
view::setTitle(__('messages_manage', 'system_navigation'));
// Set trail
if ($qstring['search_id']) {
view::setTrail('cp/plugins/messages?' . $qstring['url'] . 'page=' . $qstring['page'], __('search_results', 'system'));
}
// Assign actions
view::setAction('#', __('search', 'system'), array('class' => 'icon-text icon-system-search', 'onclick' => '$(\'#messages-search\').toggle();return false;'));
// Load view
view::load('cp/plugins/messages/browse');
}
开发者ID:soremi,项目名称:tutornavi,代码行数:57,代码来源:messages.php
示例10: deleteBanner
public function deleteBanner($groupID, $bannerID, $banner)
{
$retval = $this->db->delete('banners_data', array('banner_id' => $bannerID), 1);
if ($retval) {
// Action hook
hook::action('banners/delete', $bannerID, $banner);
}
return $retval;
}
开发者ID:soremi,项目名称:tutornavi,代码行数:9,代码来源:banners.php
示例11: toggleItemStatus
public function toggleItemStatus($plugin, $type, $keyword, $status)
{
$retval = $this->db->update('core_lists', array('active' => $status), array('plugin' => $plugin, 'type' => $type, 'keyword' => $keyword), 1);
if ($retval) {
// Action hook
hook::action('system/templates/navigation/status', $plugin, $type, $keyword, $status);
}
$this->cache->cleanup();
return $retval;
}
开发者ID:soremi,项目名称:tutornavi,代码行数:10,代码来源:lists.php
示例12: deleteUser
public function deleteUser($userID, $user)
{
// Delete reports
$retval = $this->db->query("DELETE FROM `:prefix:reports` WHERE `user_id`=? OR `poster_id`=?", array($userID, $userID));
if ($retval) {
// Action hook
hook::action('reports/delete_user', $userID, $user);
}
return $retval;
}
开发者ID:soremi,项目名称:tutornavi,代码行数:10,代码来源:reports.php
示例13: process
public function process($userID, $productID, $params)
{
// Get credits package
$package = $this->getPackage($productID);
// Update total credits
$retval = $this->addCredits($userID, $package['credits']);
// Action hook
hook::action('billing/credits/process', $productID, $userID, $package['credits']);
return $retval;
}
开发者ID:soremi,项目名称:tutornavi,代码行数:10,代码来源:credits.php
示例14: saveMetaTags
public function saveMetaTags($plugin, $keyword, $data)
{
$retval = $this->db->update('core_meta_tags', $data, array('plugin' => $plugin, 'keyword' => $keyword), 1);
if ($retval) {
// Action hook
hook::action('system/seo/update', $plugin, $keyword, $data);
}
$this->cache->cleanup();
return $retval;
}
开发者ID:soremi,项目名称:tutornavi,代码行数:10,代码来源:metatags.php
示例15: sendFeedback
public function sendFeedback($email, $subject, $message)
{
loader::library('email');
$this->email->reply($email);
$retval = $this->email->sendEmail(config::item('feedback_email', 'feedback'), $subject, $message);
if ($retval) {
// Action hook
hook::action('feedback/send/post', $email, $subject, $message);
}
return $retval;
}
开发者ID:soremi,项目名称:tutornavi,代码行数:11,代码来源:feedback.php
示例16: deleteGroup
public function deleteGroup($groupID, $group)
{
// Delete banner group
$retval = $this->db->delete('banners_groups', array('group_id' => $groupID), 1);
if ($retval) {
// Delete banners
$this->db->delete('banners_data', array('group_id' => $groupID));
// Action hook
hook::action('banners/groups/delete', $groupID, $group);
}
return $retval;
}
开发者ID:soremi,项目名称:tutornavi,代码行数:12,代码来源:groups.php
示例17: deleteUser
public function deleteUser($userID, $user)
{
// Get users
$users = $this->db->query("SELECT * FROM `:prefix:users_blocked` WHERE `blocked_id`=?", array($userID))->result();
foreach ($users as $user) {
$this->db->query("UPDATE `:prefix:users` SET `total_blocked`=`total_blocked`-1 WHERE `user_id`=? LIMIT 1", array($user['user_id']));
}
// Delete blocked users
$retval = $this->db->query("DELETE FROM `:prefix:users_blocked` WHERE `user_id`=? OR `blocked_id`=?", array($userID, $userID));
// Action hook
hook::action('users/blocked/delete_user', $userID, $user);
return $retval;
}
开发者ID:soremi,项目名称:tutornavi,代码行数:13,代码来源:blocked.php
示例18: index
public function index()
{
// Get plugins
if (!($plugins = $this->plugins_model->scanPlugins())) {
view::setError(__('no_plugins', 'system_plugins'));
router::redirect('cp/system/config/system');
}
// Create table grid
$grid = array('uri' => 'cp/system/plugins', 'keyword' => 'plugins', 'header' => array('name' => array('html' => __('name', 'system'), 'class' => 'name'), 'description' => array('html' => __('description', 'system'), 'class' => 'text'), 'version' => array('html' => __('plugin_version', 'system_plugins'), 'class' => 'version'), 'author' => array('html' => __('plugin_author', 'system_plugins'), 'class' => 'author'), 'actions' => array('html' => __('actions', 'system'), 'class' => 'actions')), 'content' => array());
// Create grid content
foreach ($plugins as $plugin) {
$version = $plugin['version'] != '' ? $plugin['version'] : '1.0.0';
if (isset($plugin['plugin_id']) && $plugin['plugin_id'] && version_compare($plugin['version_new'], $plugin['version']) == 1) {
$version .= ' ' . html_helper::anchor('cp/system/plugins/view/' . $plugin['keyword'], '+', array('class' => 'label success small', 'title' => __('plugin_new_version', 'system_plugins', array('%version' => text_helper::entities($plugin['version_new'])))));
}
$author = '';
if ($plugin['author'] || $plugin['website']) {
if ($plugin['author'] && $plugin['website']) {
$author = html_helper::anchor($plugin['website'], $plugin['author'], array('target' => '_blank'));
} elseif ($plugin['website']) {
$author = html_helper::anchor($plugin['website'], text_helper::entities(str_ireplace(array('http://www.', 'http://'), '', $plugin['website'])), array('target' => '_blank'));
} elseif ($plugin['author']) {
$author = $plugin['author'];
}
}
$actions = array();
if (isset($plugin['plugin_id']) && $plugin['plugin_id']) {
if ($plugin['settings']) {
$actions['html']['settings'] = html_helper::anchor('cp/system/plugins/settings/' . $plugin['keyword'], __('settings', 'system'), array('class' => 'settings'));
} else {
$actions['html']['view'] = html_helper::anchor('cp/system/plugins/view/' . $plugin['keyword'], __('details', 'system'), array('class' => 'details'));
}
if (!isset($plugin['system']) || !$plugin['system']) {
$actions['html']['uninstall'] = html_helper::anchor('cp/system/plugins/uninstall/' . $plugin['keyword'], __('uninstall', 'system'), array('data-html' => __('plugin_uninstall?', 'system_plugins'), 'data-role' => 'confirm', 'class' => 'uninstall'));
}
} else {
$actions['html']['install'] = html_helper::anchor('cp/system/plugins/install/' . $plugin['keyword'], __('install', 'system'), array('class' => 'install'));
}
$grid['content'][] = array('name' => array('html' => html_helper::anchor('cp/system/plugins/view/' . $plugin['keyword'], $plugin['name'])), 'description' => array('html' => text_helper::truncate($plugin['description'], 64)), 'version' => array('html' => $version), 'author' => array('html' => $author), 'actions' => $actions);
}
// Filter hooks
hook::filter('cp/system/plugins/browse/grid', $grid);
// Assign vars
view::assign(array('grid' => $grid));
// Set title
view::setTitle(__('system_plugins_manage', 'system_navigation'));
// Load view
view::load('cp/system/plugins/browse');
}
开发者ID:soremi,项目名称:tutornavi,代码行数:49,代码来源:plugins.php
示例19: cleanup
public function cleanup()
{
$timestamp = date_helper::now() - 60 * 60 * 24 * config::item('notices_cleanup_delay', 'timeline');
// Get old unseen notices
$notices = $this->db->query("SELECT * FROM `:prefix:timeline_notices` WHERE `new`=1 AND `post_date`<?", array($timestamp))->result();
foreach ($notices as $notice) {
$this->db->query("UPDATE `:prefix:users` SET `total_notices_new`=`total_notices_new`-1 WHERE `user_id`=? LIMIT 1", array($notice['user_id']));
}
// Delete notices
$retval = $this->db->query("DELETE FROM `:prefix:timeline_notices` WHERE `post_date`<?", array($timestamp));
// Action hook
hook::action('timeline/notices/cleanup');
$this->cron_model->addLog('[Timeline] Cleaned up old timeline notifications.');
return $retval;
}
开发者ID:soremi,项目名称:tutornavi,代码行数:15,代码来源:notices.php
示例20: saveSetting
public function saveSetting($plugin, $keyword, $value, $orderID = false)
{
$data = array('val' => $value);
if ($orderID !== false) {
$data['order_id'] = $orderID;
}
$retval = $this->db->update('core_config', $data, array('plugin' => $plugin, 'keyword' => $keyword), 1);
if ($retval) {
// Action hook
hook::action('system/settings/update', $plugin, $keyword, $value, $orderID);
}
session::delete('', 'config');
$this->cache->cleanup();
return $retval;
}
开发者ID:soremi,项目名称:tutornavi,代码行数:15,代码来源:config.php
注:本文中的hook类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论