/** * Display all blogs results table * * @param array Params */ function blogs_all_results_block($params = array()) { // Make sure we are not missing any param: $params = array_merge(array('results_param_prefix' => 'blog_', 'results_title' => T_('List of Collections configured on this system') . get_manual_link('site-collection-list'), 'results_no_text' => T_('No blog has been created yet!'), 'results_no_perm_text' => T_('Sorry, you have no permission to edit/view any blog\'s properties.')), $params); if (!is_logged_in()) { // Only logged in users can access to this function return; } global $current_User; if (is_ajax_content()) { $order_action = param('order_action', 'string'); if ($order_action == 'update') { // Update an order to new value $new_value = (int) param('new_value', 'string', 0); $order_data = param('order_data', 'string'); $order_obj_ID = (int) str_replace('order-blog-', '', $order_data); if ($order_obj_ID > 0) { // Update blog order $BlogCache =& get_BlogCache(); if ($updated_Blog =& $BlogCache->get_by_ID($order_obj_ID, false)) { if ($current_User->check_perm('blog_properties', 'edit', false, $updated_Blog->ID)) { // Check permission to edit this Blog $updated_Blog->set('order', $new_value); $updated_Blog->dbupdate(); $BlogCache->clear(); } } } } } $SQL = new SQL(); $SQL->SELECT('T_blogs.*, user_login'); $SQL->FROM('T_blogs INNER JOIN T_users ON blog_owner_user_ID = user_ID'); if (!$current_User->check_perm('blogs', 'view')) { // We do not have perm to view all blogs... we need to restrict to those we're a member of: $SQL->FROM_add('LEFT JOIN T_coll_user_perms ON (blog_advanced_perms <> 0' . ' AND blog_ID = bloguser_blog_ID' . ' AND bloguser_user_ID = ' . $current_User->ID . ' )' . ' LEFT JOIN T_coll_group_perms ON (blog_advanced_perms <> 0' . ' AND blog_ID = bloggroup_blog_ID' . ' AND bloggroup_group_ID = ' . $current_User->grp_ID . ' )'); $SQL->WHERE('blog_owner_user_ID = ' . $current_User->ID . ' OR bloguser_ismember <> 0' . ' OR bloggroup_ismember <> 0'); $no_results = $params['results_no_perm_text']; } else { $no_results = $params['results_no_text']; } // Create result set: $blogs_Results = new Results($SQL->get(), $params['results_param_prefix'], '---------A'); $blogs_Results->Cache =& get_BlogCache(); $blogs_Results->title = $params['results_title']; $blogs_Results->no_results_text = $no_results; if ($current_User->check_perm('blogs', 'create')) { global $admin_url; $blogs_Results->global_icon(T_('New Collection') . '...', 'new', url_add_param($admin_url, 'ctrl=collections&action=new'), T_('New Collection') . '...', 3, 4, array('class' => 'action_icon btn-primary')); } // Initialize Results object blogs_results($blogs_Results); if (is_ajax_content()) { // init results param by template name if (!isset($params['skin_type']) || !isset($params['skin_name'])) { debug_die('Invalid ajax results request!'); } $blogs_Results->init_params_by_skin($params['skin_type'], $params['skin_name']); } $blogs_Results->display(NULL, 'session'); if (!is_ajax_content()) { // Create this hidden div to get a function name for AJAX request echo '<div id="' . $params['results_param_prefix'] . 'ajax_callback" style="display:none">' . __FUNCTION__ . '</div>'; } }
/** * Display blogs results table * * @param array Params */ function blogs_results_block($params = array()) { // Make sure we are not missing any param: $params = array_merge(array('edited_User' => NULL, 'results_param_prefix' => 'actv_blog_', 'results_title' => T_('Blogs owned by the user'), 'results_no_text' => T_('User does not own any blogs')), $params); if (!is_logged_in()) { // Only logged in users can access to this function return; } global $current_User; if (!$current_User->check_perm('users', 'edit') || !$current_User->check_perm('blogs', 'view')) { // Check minimum permission: return; } $edited_User = $params['edited_User']; if (!$edited_User) { // No defined User, probably the function is calling from AJAX request $user_ID = param('user_ID', 'integer', 0); if (empty($user_ID)) { // Bad request, Exit here return; } $UserCache =& get_UserCache(); if (($edited_User =& $UserCache->get_by_ID($user_ID, false)) === false) { // Bad request, Exit here return; } } global $DB; param('user_tab', 'string', '', true); param('user_ID', 'integer', 0, true); $SQL = new SQL(); $SQL->SELECT('*'); $SQL->FROM('T_blogs'); $SQL->WHERE('blog_owner_user_ID = ' . $DB->quote($edited_User->ID)); // Create result set: $blogs_Results = new Results($SQL->get(), $params['results_param_prefix']); $blogs_Results->Cache =& get_BlogCache(); $blogs_Results->title = $params['results_title']; $blogs_Results->no_results_text = $params['results_no_text']; // Get a count of the blogs which current user can delete $deleted_blogs_count = count($edited_User->get_deleted_blogs()); if ($blogs_Results->total_rows > 0 && $deleted_blogs_count > 0) { // Display action icon to delete all records if at least one record exists & user can delete at least one blog $blogs_Results->global_icon(sprintf(T_('Delete all blogs owned by %s'), $edited_User->login), 'delete', '?ctrl=user&user_tab=activity&action=delete_all_blogs&user_ID=' . $edited_User->ID . '&' . url_crumb('user'), ' ' . T_('Delete all'), 3, 4); } // Initialize Results object blogs_results($blogs_Results, array('display_owner' => false)); if (is_ajax_content()) { // init results param by template name if (!isset($params['skin_type']) || !isset($params['skin_name'])) { debug_die('Invalid ajax results request!'); } $blogs_Results->init_params_by_skin($params['skin_type'], $params['skin_name']); } $display_params = array('before' => '<div class="results" style="margin-top:25px" id="owned_blogs_result">'); $blogs_Results->display($display_params); if (!is_ajax_content()) { // Create this hidden div to get a function name for AJAX request echo '<div id="' . $params['results_param_prefix'] . 'ajax_callback" style="display:none">' . __FUNCTION__ . '</div>'; } }
/** * @var User */ global $current_User; /** * @var GeneralSettings */ global $Settings; global $dispatcher; $SQL = new SQL(); $SQL->SELECT('T_blogs.*, user_login'); $SQL->FROM('T_blogs INNER JOIN T_users ON blog_owner_user_ID = user_ID'); if (!$current_User->check_perm('blogs', 'view')) { // We do not have perm to view all blogs... we need to restrict to those we're a member of: $SQL->FROM_add('LEFT JOIN T_coll_user_perms ON (blog_advanced_perms <> 0' . ' AND blog_ID = bloguser_blog_ID' . ' AND bloguser_user_ID = ' . $current_User->ID . ' )' . ' LEFT JOIN T_coll_group_perms ON (blog_advanced_perms <> 0' . ' AND blog_ID = bloggroup_blog_ID' . ' AND bloggroup_group_ID = ' . $current_User->grp_ID . ' )'); $SQL->WHERE('blog_owner_user_ID = ' . $current_User->ID . ' OR bloguser_ismember <> 0' . ' OR bloggroup_ismember <> 0'); $no_results = T_('Sorry, you have no permission to edit/view any blog\'s properties.'); } else { $no_results = T_('No blog has been created yet!'); } // Create result set: $Results = new Results($SQL->get(), 'blog_'); $Results->Cache =& get_BlogCache(); $Results->title = T_('Blog list'); $Results->no_results_text = $no_results; if ($current_User->check_perm('blogs', 'create')) { $Results->global_icon(T_('New blog...'), 'new', url_add_param($dispatcher, 'ctrl=collections&action=new'), T_('New blog...'), 3, 4); } // Initialize Results object blogs_results($Results); $Results->display(NULL, 'session');