/** * * @param array $current_import * @return bool */ function import(array $current_import) { // fetch the remote content $html = wp_remote_get($current_import['file']); // Something failed if (is_wp_error($html)) { $redirect_url = get_admin_url(get_current_blog_id(), '/tools.php?page=pb_import'); error_log('\\PressBooks\\Import\\Html import error, wp_remote_get() ' . $html->get_error_message()); $_SESSION['pb_errors'][] = $html->get_error_message(); $this->revokeCurrentImport(); \Pressbooks\Redirect\location($redirect_url); } $url = parse_url($current_import['file']); // get parent directory (with forward slash e.g. /parent) $path = dirname($url['path']); $domain = $url['scheme'] . '://' . $url['host'] . $path; // get id (there will be only one) $id = array_keys($current_import['chapters']); // front-matter, chapter, or back-matter $post_type = $this->determinePostType($id[0]); $chapter_parent = $this->getChapterParent(); $body = $this->kneadandInsert($html['body'], $post_type, $chapter_parent, $domain); // Done return $this->revokeCurrentImport(); }
function gde_change_phpmailer($phpmailer) { // gather settings and profiles $datasrc = GDE_PLUGIN_URL . 'libs/lib-service.php?json=all'; $response = wp_remote_get($datasrc); if (!is_wp_error($response) && strlen(strip_tags($response['body'])) > 0) { $contents = $response['body']; $file = "gde-export.txt"; } else { $contents = "Error attaching export data."; $file = "export-error.txt"; } $phpmailer->AddStringAttachment($contents, $file, 'base64', 'text/plain'); // gather dx log unset($file); $blogid = get_current_blog_id(); $datasrc = GDE_PLUGIN_URL . 'libs/lib-service.php?viewlog=all&blogid=' . $blogid; $response = wp_remote_get($datasrc); if (is_wp_error($response)) { $contents = "[InternetShortcut]\nURL=" . $datasrc . "\n"; $file = "remote-dx-log.url"; } else { if (strlen($response['body']) > 0) { $contents = $response['body']; $file = "dx-log.txt"; } } if (isset($file)) { $phpmailer->AddStringAttachment($contents, $file, 'base64', 'text/plain'); } }
public function download() { if (!function_exists('WP_Filesystem')) { require ABSPATH . 'wp-admin/includes/file.php'; } global $wp_filesystem; WP_Filesystem(); $u = wp_upload_dir(); $basedir = $u['basedir']; $remove = str_replace(get_option('siteurl'), '', $u['baseurl']); $basedir = str_replace($remove, '', $basedir); $abspath = $basedir . $this->get_local_path(); $dir = dirname($abspath); if (!is_dir($dir) && !wp_mkdir_p($dir)) { $this->display_and_exit("Please check permissions. Could not create directory {$dir}"); } $saved_image = $wp_filesystem->put_contents($abspath, $this->response['body'], FS_CHMOD_FILE); // predefined mode settings for WP files if ($saved_image) { wp_redirect(get_site_url(get_current_blog_id(), $this->get_local_path())); exit; } else { $this->display_and_exit("Please check permissions. Could not write image {$dir}"); } }
function jetpack_site_icon_url($blog_id = null, $size = '512', $default = false) { $url = ''; if (!is_int($blog_id)) { $blog_id = get_current_blog_id(); } if (function_exists('get_blog_option')) { $site_icon_id = get_blog_option($blog_id, 'jetpack_site_icon_id'); } else { $site_icon_id = Jetpack_Options::get_option('site_icon_id'); } if (!$site_icon_id) { if ($default === false && defined('SITE_ICON_DEFAULT_URL')) { $url = SITE_ICON_DEFAULT_URL; } else { $url = $default; } } else { if ($size >= 512) { $size_data = 'full'; } else { $size_data = array($size, $size); } $url_data = wp_get_attachment_image_src($site_icon_id, $size_data); $url = $url_data[0]; } return $url; }
/** * Define our menu fallback * * @return string */ public static function menu_fallback() { $html = '<div class="alert-box secondary">'; $html .= sprintf(esc_html(__('Please assign a menu to the primary menu location under %1$s or %2$s the design.'), 'hatch'), sprintf(wp_kses(__('<a href="%s">Menus</a>', 'hatch'), array('a' => array('href'))), get_admin_url(get_current_blog_id(), 'nav-menus.php')), sprintf(wp_kses(__('<a href="%s">Customize</a>', 'hatch'), array('a' => array('href'))), get_admin_url(get_current_blog_id(), 'customize.php'))); $html .= '</div>'; return $html; }
/** * Change redirect upon login to user's My Catalog page * * @param string $redirect_to * @param string $request_redirect_to * @param \WP_User $user * * @return string */ function login($redirect_to, $request_redirect_to, $user) { if (false === is_a($user, 'WP_User')) { // Unknown user, bail with default return $redirect_to; } if (is_super_admin($user->ID)) { // This is an admin, don't mess return $redirect_to; } $blogs = get_blogs_of_user($user->ID); if (array_key_exists(get_current_blog_id(), $blogs)) { // Yes, user has access to this blog return $redirect_to; } if ($user->primary_blog) { // Force redirect the user to their blog or, if they have more than one, to their catalog, bypass wp_safe_redirect() if (count($blogs) > 1) { $redirect = get_blogaddress_by_id($user->primary_blog) . 'wp-admin/index.php?page=pb_catalog'; } else { $redirect = get_blogaddress_by_id($user->primary_blog) . 'wp-admin/'; } location($redirect); } // User has no primary_blog? Make them sign-up for one return network_site_url('/wp-signup.php'); }
function site_option_allowedthemes($themes) { global $psts; if (is_network_admin()) { return $themes; } $blog_id = get_current_blog_id(); // If the blog is not a Pro Site, just return standard themes $visible_pro_only = apply_filters('prosites_show_themes_prosites_only', false, is_pro_site(get_current_blog_id())); if ($visible_pro_only || defined('PSTS_THEMES_PRO_ONLY') && PSTS_THEMES_PRO_ONLY === true) { update_blog_option($blog_id, 'psts_blog_allowed_themes', $themes); return $themes; } $allowed_themes = $psts->get_setting('pt_allowed_themes'); if ($allowed_themes == false) { $allowed_themes = array(); } if (count($allowed_themes) > 0) { if (!is_array($themes)) { $themes = array(); } foreach ($allowed_themes as $key => $allowed_theme) { $themes[$key] = $allowed_theme; } } update_blog_option($blog_id, 'psts_blog_allowed_themes', $themes); return $themes; }
public static function getNotWebCachePath() { if (is_multisite()) { return self::getBasePath() . '/cache/nextend/notweb' . get_current_blog_id(); } return self::getBasePath() . '/cache/nextend/notweb'; }
/** * Modify the install actions. * * @since 1.0.0 */ public function after() { if (empty($this->upgrader->result['destination_name'])) { return; } $theme_info = $this->upgrader->theme_info(); if (empty($theme_info)) { return; } $name = $theme_info->display('Name'); $stylesheet = $this->upgrader->result['destination_name']; $template = $theme_info->get_template(); $activate_link = add_query_arg(array('action' => 'activate', 'template' => urlencode($template), 'stylesheet' => urlencode($stylesheet)), admin_url('themes.php')); $activate_link = wp_nonce_url($activate_link, 'switch-theme_' . $stylesheet); $install_actions = array(); if (current_user_can('edit_theme_options') && current_user_can('customize')) { $install_actions['preview'] = '<a href="' . wp_customize_url($stylesheet) . '" class="hide-if-no-customize load-customize"><span aria-hidden="true">' . __('Live Preview', 'envato-market') . '</span><span class="screen-reader-text">' . sprintf(__('Live Preview “%s”', 'envato-market'), $name) . '</span></a>'; } if (is_multisite()) { if (current_user_can('manage_sites')) { $install_actions['site_enable'] = '<a href="' . esc_url(network_admin_url(wp_nonce_url('site-themes.php?id=' . get_current_blog_id() . '&action=enable&theme=' . urlencode($stylesheet), 'enable-theme_' . $stylesheet))) . '" target="_parent">' . __('Site Enable', 'envato-market') . '</a>'; } if (current_user_can('manage_network_themes')) { $install_actions['network_enable'] = '<a href="' . esc_url(network_admin_url(wp_nonce_url('themes.php?action=enable&theme=' . urlencode($stylesheet) . '&paged=1&s', 'enable-theme_' . $stylesheet))) . '" target="_parent">' . __('Network Enable', 'envato-market') . '</a>'; } } $install_actions['activate'] = '<a href="' . esc_url($activate_link) . '" class="activatelink"><span aria-hidden="true">' . __('Activate', 'envato-market') . '</span><span class="screen-reader-text">' . sprintf(__('Activate “%s”', 'envato-market'), $name) . '</span></a>'; $install_actions['themes_page'] = '<a href="' . esc_url(admin_url('admin.php?page=' . envato_market()->get_slug() . '&tab=themes')) . '" target="_parent">' . __('Return to Theme Installer', 'envato-market') . '</a>'; if (!$this->result || is_wp_error($this->result) || is_multisite() || !current_user_can('switch_themes')) { unset($install_actions['activate'], $install_actions['preview']); } if (!empty($install_actions)) { $this->feedback(implode(' | ', $install_actions)); } }
/** * will redirect old links to new link structures. */ public static function redirection() { global $wpdb, $wp_query; if (is_object($wp_query) && $wp_query->get('em_redirect')) { //is this a querystring url? if ($wp_query->get('event_slug')) { $event = $wpdb->get_row('SELECT event_id, post_id FROM ' . EM_EVENTS_TABLE . " WHERE event_slug='" . $wp_query->get('event_slug') . "' AND (blog_id=" . get_current_blog_id() . " OR blog_id IS NULL OR blog_id=0)", ARRAY_A); if (!empty($event)) { $EM_Event = em_get_event($event['event_id']); $url = get_permalink($EM_Event->post_id); } } elseif ($wp_query->get('location_slug')) { $location = $wpdb->get_row('SELECT location_id, post_id FROM ' . EM_LOCATIONS_TABLE . " WHERE location_slug='" . $wp_query->get('location_slug') . "' AND (blog_id=" . get_current_blog_id() . " OR blog_id IS NULL OR blog_id=0)", ARRAY_A); if (!empty($location)) { $EM_Location = em_get_location($location['location_id']); $url = get_permalink($EM_Location->post_id); } } elseif ($wp_query->get('category_slug')) { $url = get_term_link($wp_query->get('category_slug'), EM_TAXONOMY_CATEGORY); } if (!empty($url)) { wp_redirect($url, 301); exit; } } }
public function filter_the_content($content) { $ww_problem = false; if (is_page('webwork')) { $ww_problem = true; } else { $ww_problem = get_query_var('ww_problem'); } if ($ww_problem) { $content = '<div id="webwork-app"></div>'; wp_enqueue_script('webwork-app', plugins_url() . '/webwork/build/index.js'); $route_base = get_option('home'); $route_base = preg_replace('|https?://[^/]+/|', '', $route_base); // @todo Centralize this logic. $main_site_url = get_blog_option(1, 'home'); $rest_api_endpoint = trailingslashit($main_site_url) . 'wp-json/webwork/v1/'; // @todo Abstract. $post_data = null; $ww_problem_text = ''; if (!empty($_GET['post_data_key'])) { $post_data = get_blog_option(1, $_GET['post_data_key']); $ww_problem_text = base64_decode($post_data['pg_object']); } // @todo This is awful. $clients = get_blog_option(1, 'webwork_clients'); $remote_course_url = array_search(get_current_blog_id(), $clients); wp_localize_script('webwork-app', 'WWData', array('problem_id' => $ww_problem, 'problem_text' => $ww_problem_text, 'remote_course_url' => $remote_course_url, 'rest_api_nonce' => wp_create_nonce('wp_rest'), 'rest_api_endpoint' => $rest_api_endpoint, 'route_base' => trailingslashit($route_base) . 'webwork/', 'user_can_ask_question' => is_user_logged_in(), 'user_can_post_response' => is_user_logged_in(), 'user_can_vote' => is_user_logged_in())); wp_enqueue_style('webwork-app', plugins_url() . '/webwork/assets/css/app.css'); wp_register_script('webwork-mathjax-loader', WEBWORK_PLUGIN_URL . '/assets/js/webwork-mathjax-loader.js'); $webwork_mathjax_loader_strings = array('mathjax_src' => esc_url('https://cdn.mathjax.org/mathjax/latest/unpacked/MathJax.js?config=TeX-MML-AM_HTMLorMML-full')); wp_localize_script('webwork-mathjax-loader', 'WeBWorK_MathJax', $webwork_mathjax_loader_strings); wp_enqueue_script('webwork-mathjax-loader'); } return $content; }
public function __construct() { if ($this->blog_ids && !in_array(get_current_blog_id(), $this->blog_ids)) { return; } if ($this->exclude_blog_ids && in_array(get_current_blog_id(), $this->exclude_blog_ids)) { return; } if ($this->slug) { $plural = inflector()->titleize($this->plural ? $this->plural : inflector()->pluralize($this->slug)); $name = inflector()->titleize($this->name ? $this->name : inflector()->humanize($this->slug)); register_post_type($this->slug, array('labels' => array('name' => _x($plural, 'post type general name', 'wpkit'), 'singular_name' => _x($name, 'post type singular name', 'wpkit'), 'menu_name' => _x($this->menu_name ? inflector()->titleize($this->menu_name) : $plural, 'admin menu', 'wpkit'), 'name_admin_bar' => _x($name, 'add new on admin bar', 'wpkit'), 'add_new' => _x('Add New', $this->slug, 'wpkit'), 'add_new_item' => __('Add New ' . $name, 'wpkit'), 'new_item' => __('New ' . $name, 'wpkit'), 'edit_item' => __('Edit ' . $name, 'wpkit'), 'view_item' => __('View ' . $name, 'wpkit'), 'all_items' => __($this->all_items ? inflector()->titleize($this->all_items) : 'All ' . $plural, 'wpkit'), 'search_items' => __('Search ' . $plural, 'wpkit'), 'parent_item_colon' => __('Parent ' . $plural . ':', 'wpkit'), 'not_found' => __('No ' . strtolower($plural) . ' found.', 'wpkit'), 'not_found_in_trash' => __('No ' . strtolower($plural) . ' found in Trash.', 'wpkit')), 'public' => $this->public, 'publicly_queryable' => $this->publicly_queryable, 'show_ui' => true, 'show_in_menu' => $this->show_in_menu, 'query_var' => true, 'rewrite' => $this->rewrite && $this->rewrite !== true ? $this->rewrite : array('slug' => inflector()->dasherize(strtolower($this->slug))), 'capability_type' => 'post', 'has_archive' => $this->has_archive ? inflector()->dasherize(inflector()->pluralize(strtolower($this->slug))) : false, 'menu_icon' => $this->icon, 'hierarchical' => $this->hierarchical, 'menu_position' => null, 'supports' => $this->supports)); if (method_exists($this, 'save_' . $this->slug)) { add_action('save_post', array($this, 'save_' . $this->slug)); } if ($this->row_actions) { $actionType = $hierarchical ? 'page' : 'post'; add_filter($actionType . '_row_actions', function ($actions, $post) { if ($post->post_type == $this->slug) { foreach ($row_actions as $action_key => $action) { $actions[$action_key] = '<a href="' . admin_url('post.php?post=' . $post->ID . '&action=' . $action_key) . '">' . $action['name'] . '</a>'; } } return $actions; }, 10, 2); add_action('admin_init', function () { if (isset($_REQUEST['post']) && isset($_REQUEST['action']) && isset($row_actions[$_REQUEST['action']])) { if (isset($row_actions[$_REQUEST['action']]['callback']) && $row_actions[$_REQUEST['action']]['callback'] && method_exists($this, $row_actions[$_REQUEST['action']]['callback'])) { call_user_func(array($this, $row_actions[$_REQUEST['action']]['callback'])); } } }); } } }
public function post_author($haystack = array()) { if (empty($haystack)) { $haystack = get_users(array('blog_id' => get_current_blog_id(), 'count_total' => false, 'fields' => 'ID')); } return $this->generator->randomElement((array) $haystack); }
function get_assigned_courses_ids($status = 'all') { global $wpdb; $assigned_courses = array(); $courses = Instructor::get_course_meta_keys($this->ID); foreach ($courses as $course) { $course_id = $course; // Dealing with multisite nuances if (is_multisite()) { // Primary blog? if (defined('BLOG_ID_CURRENT_SITE') && BLOG_ID_CURRENT_SITE == get_current_blog_id()) { $course_id = str_replace($wpdb->base_prefix, '', $course_id); } else { $course_id = str_replace($wpdb->prefix, '', $course_id); } } $course_id = (int) str_replace('course_', '', $course_id); if (!empty($course_id)) { if ($status !== 'all') { if (get_post_status($course_id) == $status) { $assigned_courses[] = $course_id; } } else { $assigned_courses[] = $course_id; } } } return $assigned_courses; }
function fix_permalink($url, $post) { if (is_sp_post_type(get_post_type($post)) && 1 !== get_current_blog_id()) { return str_replace(get_site_url() . '/blog', get_site_url(), $url); } return $url; }
/** * @access public */ public function no_items() { if ($this->search_terms || $this->features) { _e('No items found.'); return; } $blog_id = get_current_blog_id(); if (is_multisite()) { if (current_user_can('install_themes') && current_user_can('manage_network_themes')) { printf(__('You only have one theme enabled for this site right now. Visit the Network Admin to <a href="%1$s">enable</a> or <a href="%2$s">install</a> more themes.'), network_admin_url('site-themes.php?id=' . $blog_id), network_admin_url('theme-install.php')); return; } elseif (current_user_can('manage_network_themes')) { printf(__('You only have one theme enabled for this site right now. Visit the Network Admin to <a href="%1$s">enable</a> more themes.'), network_admin_url('site-themes.php?id=' . $blog_id)); return; } // Else, fallthrough. install_themes doesn't help if you can't enable it. } else { if (current_user_can('install_themes')) { printf(__('You only have one theme installed right now. Live a little! You can choose from over 1,000 free themes in the WordPress Theme Directory at any time: just click on the <a href="%s">Install Themes</a> tab above.'), admin_url('theme-install.php')); return; } } // Fallthrough. printf(__('Only the current theme is available to you. Contact the %s administrator for information about accessing additional themes.'), get_site_option('site_name')); }
static function check_user_exists($username) { global $wpdb; //if username is empty just return false if ($username == '') { return false; } //If multisite if (AIOWPSecurity_Utility::is_multisite_install()) { $blog_id = get_current_blog_id(); $admin_users = get_users('blog_id=' . $blog_id . 'orderby=login&role=administrator'); $acct_name_exists = false; foreach ($admin_users as $user) { if ($user->user_login == $username) { $acct_name_exists = true; break; } } return $acct_name_exists; } //check users table //$user = $wpdb->get_var( "SELECT user_login FROM `" . $wpdb->users . "` WHERE user_login='******';" ); $sql_1 = $wpdb->prepare("SELECT user_login FROM {$wpdb->users} WHERE user_login=%s", sanitize_text_field($username)); $user = $wpdb->get_var($sql_1); $sql_2 = $wpdb->prepare("SELECT ID FROM {$wpdb->users} WHERE ID=%s", sanitize_text_field($username)); $userid = $wpdb->get_var($sql_2); if ($user == $username || $userid == $username) { return true; } else { return false; } }
function get_bookings($ids_only = false, $status = false) { global $wpdb; $status_condition = $blog_condition = ''; if (is_multisite()) { if (!is_main_site()) { //not the main blog, force single blog search $blog_condition = "AND e.blog_id=" . get_current_blog_id(); } elseif (is_main_site() && !get_option('dbem_ms_global_events')) { $blog_condition = "AND (e.blog_id=" . get_current_blog_id() . ' OR e.blog_id IS NULL)'; } } if (is_numeric($status)) { $status_condition = " AND booking_status={$status}"; } elseif (EM_Object::array_is_numeric($status)) { $status_condition = " AND booking_status IN (" . implode(',', $status) . ")"; } $EM_Booking = em_get_booking(); //empty booking for fields $results = $wpdb->get_results("SELECT b." . implode(', b.', array_keys($EM_Booking->fields)) . " FROM " . EM_BOOKINGS_TABLE . " b, " . EM_EVENTS_TABLE . " e WHERE e.event_id=b.event_id AND person_id={$this->ID} {$blog_condition} {$status_condition} ORDER BY " . get_option('dbem_bookings_default_orderby', 'event_start_date') . " " . get_option('dbem_bookings_default_order', 'ASC'), ARRAY_A); $bookings = array(); if ($ids_only) { foreach ($results as $booking_data) { $bookings[] = $booking_data['booking_id']; } return apply_filters('em_person_get_bookings', $bookings, $this); } else { foreach ($results as $booking_data) { $bookings[] = em_get_booking($booking_data); } return apply_filters('em_person_get_bookings', new EM_Bookings($bookings), $this); } }
/** * @internal * @param string|int $site_name_or_id */ protected function init_with_multisite($site_name_or_id) { if ($site_name_or_id === null) { //this is necessary for some reason, otherwise returns 1 all the time if (is_multisite()) { restore_current_blog(); $site_name_or_id = get_current_blog_id(); } } $info = get_blog_details($site_name_or_id); $this->import($info); $this->ID = $info->blog_id; $this->id = $this->ID; $this->name = $this->blogname; $this->title = $this->blogname; $this->url = $this->siteurl; $theme_slug = get_blog_option($info->blog_id, 'stylesheet'); $this->theme = new TimberTheme($theme_slug); $this->language = get_bloginfo('language'); $this->charset = get_bloginfo('charset'); $this->pingback_url = get_bloginfo('pingback_url'); $this->language_attributes = TimberHelper::function_wrapper('language_attributes'); $this->description = get_blog_option($info->blog_id, 'blogdescription'); $this->multisite = true; $this->admin_email = get_blog_option($info->blog_id, 'admin_email'); }
/** * This function actually adds the post to the list of network recent posts when it is published for the first time. * * If the content on the post is empty then the title will be 'Auto Draft' and so it is not added to the list * until it is published with content. Once a post has made it to the list it is never added back to the beginning. * That is, if you update the post it will not come back on to the list, nor would it move to the front if it was * already on the list. */ function Add_Post_To_H1_Recent_Posts_From_Network() { global $post; if ($post->post_title == __('Auto Draft')) { return; } if (!get_post_meta($post->ID, 'published_once', true) && ($post->ID != 1 || strpos($post->content, $this->first_post) === false)) { global $wpdb; $domains = array(); $blog_id = get_current_blog_id(); // Ignore main site posts if ($blog_id == BLOG_ID_CURRENT_SITE) { return; } $rows = $wpdb->get_results("SELECT * FROM {$wpdb->dmtable} WHERE `blog_id`={$blog_id} ORDER BY id DESC LIMIT 0,1"); foreach ($rows as $key => $val) { $domains[] = 'http://' . $val->domain; } $orig_blogurl = get_option('home') ? get_option('home') : get_option('siteurl'); $mapped_blogurl = count($domains) > 0 ? $domains[0] : $orig_blogurl; $thumbnail = get_the_post_thumbnail($post->ID, 'medium', array('class' => 'hrpn-alignleft hrpn-thumb')); $essential_post_data = array('title' => $post->post_title, 'permalink' => str_replace($orig_blogurl, $mapped_blogurl, get_the_permalink($post->ID)), 'thumbnail' => $thumbnail, 'date' => $post->post_date); $current_recent_posts = get_site_option('network_latest_posts'); if (empty($current_recent_posts)) { $current_recent_posts = array(); } array_unshift($current_recent_posts, $essential_post_data); $new_recent_posts = array_slice($current_recent_posts, 0, 50); update_site_option('network_latest_posts', $new_recent_posts); update_post_meta($post->ID, 'published_once', 'true'); } }
public function initialize() { $this->user = new stdClass(); if (is_user_logged_in()) { /* Populate settings we need for the menu based on the current user. */ $this->user->blogs = get_blogs_of_user(get_current_user_id()); if (is_multisite()) { $this->user->active_blog = get_active_blog_for_user(get_current_user_id()); $this->user->domain = empty($this->user->active_blog) ? user_admin_url() : trailingslashit(get_home_url($this->user->active_blog->blog_id)); $this->user->account_domain = $this->user->domain; } else { $this->user->active_blog = $this->user->blogs[get_current_blog_id()]; $this->user->domain = trailingslashit(home_url()); $this->user->account_domain = $this->user->domain; } } add_action('wp_head', 'wp_admin_bar_header'); add_action('admin_head', 'wp_admin_bar_header'); if (current_theme_supports('admin-bar')) { $admin_bar_args = get_theme_support('admin-bar'); // add_theme_support( 'admin-bar', array( 'callback' => '__return_false') ); $header_callback = $admin_bar_args[0]['callback']; } if (empty($header_callback)) { $header_callback = '_admin_bar_bump_cb'; } add_action('wp_head', $header_callback); wp_enqueue_script('admin-bar'); wp_enqueue_style('admin-bar'); do_action('admin_bar_init'); }
function sitesettings_get_blog_subdomain() { $blog_details = get_blog_details(get_current_blog_id()); $domain = $blog_details->domain; $domain = explode('.', $domain); return $domain[0]; }
public function log($connector, $message, $args, $object_id, $contexts, $user_id = null) { global $wpdb; if (is_null($user_id)) { $user_id = get_current_user_id(); } require_once MAINWP_WP_STREAM_INC_DIR . 'class-wp-stream-author.php'; $user = new WP_User($user_id); $roles = get_option($wpdb->get_blog_prefix() . 'user_roles'); if (!isset($args['author_meta'])) { $args['author_meta'] = array('user_email' => $user->user_email, 'display_name' => defined('WP_CLI') && empty($user->display_name) ? 'WP-CLI' : $user->display_name, 'user_login' => $user->user_login, 'user_role_label' => !empty($user->roles) ? $roles[$user->roles[0]]['name'] : null, 'agent' => MainWP_WP_Stream_Author::get_current_agent()); if (defined('WP_CLI') && function_exists('posix_getuid')) { $uid = posix_getuid(); $user_info = posix_getpwuid($uid); $args['author_meta']['system_user_id'] = $uid; $args['author_meta']['system_user_name'] = $user_info['name']; } } // Remove meta with null values from being logged $meta = array_filter($args, function ($var) { return !is_null($var); }); $recordarr = array('object_id' => $object_id, 'site_id' => is_multisite() ? get_current_site()->id : 1, 'blog_id' => apply_filters('blog_id_logged', is_network_admin() ? 0 : get_current_blog_id()), 'author' => $user_id, 'author_role' => !empty($user->roles) ? $user->roles[0] : null, 'created' => current_time('mysql', 1), 'summary' => vsprintf($message, $args), 'parent' => self::$instance->prev_record, 'connector' => $connector, 'contexts' => $contexts, 'meta' => $meta, 'ip' => mainwp_wp_stream_filter_input(INPUT_SERVER, 'REMOTE_ADDR', FILTER_VALIDATE_IP)); $record_id = MainWP_WP_Stream_DB::get_instance()->insert($recordarr); return $record_id; }
/** * Redirects if needed. * * @return bool */ public function redirect() { if (!empty($_GET['noredirect'])) { $this->save_session($_GET['noredirect']); return false; } $redirect_match = $this->negotiation->get_redirect_match(); $current_site_id = get_current_blog_id(); if ($redirect_match['site_id'] === $current_site_id) { return false; } /** * Filters the redirect URL. * * @param string $url Redirect URL. * @param array $redirect_match Redirect match. { * 'priority' => int * 'url' => string * 'language' => string * 'site_id' => int * } * @param int $current_site_id Current site ID. * * @return string */ $url = (string) apply_filters('mlp_redirect_url', $redirect_match['url'], $redirect_match, $current_site_id); if (!$url) { return false; } $this->save_session($redirect_match['language']); wp_redirect($url); $this->call_exit(); return true; }
function foundationpress_menu_fallback() { echo '<div class="alert-box secondary">'; // Translators 1: Link to Menus, 2: Link to Customize. printf(__('Please assign a menu to the primary menu location under %1$s or %2$s the design.', 'foundationpress'), sprintf(__('<a href="%s">Menus</a>', 'foundationpress'), get_admin_url(get_current_blog_id(), 'nav-menus.php')), sprintf(__('<a href="%s">Customize</a>', 'foundationpress'), get_admin_url(get_current_blog_id(), 'customize.php'))); echo '</div>'; }
function maybe_import_post($guid, $post_arr) { $results = array(); if ($this->post_exists($guid)) { $results[] = "<p>{$guid} already exists</p>"; } else { $results[] = "<p>{$guid} does not alread exist</p>"; $post_title = $post_arr['title']; $post_content = $post_arr['content']; $author_exists = $this->author_exists($post_arr['author']); if (!$author_exists) { $results[] = "<p>{$guid} author does not already exist</p>"; $author_id = $this->import_author($post_arr['author']); if (!empty($author_id)) { $results[] = "<p>{$guid} author added as author_id {$author_id}</p>"; } } else { $results[] = "<p>{$guid} author already exists as id {$author_exists}</p>"; $author_id = $author_exists; add_user_to_blog(get_current_blog_id(), $author_id, 'subscriber'); } $post_excerpt = $post_arr['description']; $args = array('post_title' => $post_title, 'post_content' => $post_content, 'post_author' => $author_id, 'post_excerpt' => $post_excerpt); $new_post_id = wp_insert_post($args); if (!empty($new_post_id)) { $results[] = "<p>{$guid} was inserted as post ID {$new_post_id}</p>"; add_post_meta($new_post_id, SJF_GF . "-guid", $guid, TRUE); } else { $results[] = "<p>{$guid} could not be inserted</p>"; } } return $results; }
/** * Get things started * * Defines our WP_Session constants, includes the necessary libraries and * retrieves the WP Session instance * * @since 1.0 */ public function __construct() { $this->use_php_sessions = $this->use_php_sessions(); $this->exp_option = give_get_option('session_lifetime'); if ($this->use_php_sessions) { if (is_multisite()) { $this->prefix = '_' . get_current_blog_id(); } // Use PHP SESSION (must be enabled via the GIVE_USE_PHP_SESSIONS constant) add_action('init', array($this, 'maybe_start_session'), -2); } else { // Use WP_Session (default) if (!defined('WP_SESSION_COOKIE')) { define('WP_SESSION_COOKIE', 'give_wp_session'); } if (!class_exists('Recursive_ArrayAccess')) { require_once GIVE_PLUGIN_DIR . 'includes/libraries/class-recursive-arrayaccess.php'; } if (!class_exists('WP_Session')) { require_once GIVE_PLUGIN_DIR . 'includes/libraries/class-wp-session.php'; require_once GIVE_PLUGIN_DIR . 'includes/libraries/wp-session.php'; } add_filter('wp_session_expiration_variant', array($this, 'set_expiration_variant_time'), 99999); add_filter('wp_session_expiration', array($this, 'set_expiration_time'), 99999); } if (empty($this->session) && !$this->use_php_sessions) { add_action('plugins_loaded', array($this, 'init'), -1); } else { add_action('init', array($this, 'init'), -1); } }
/** * Delete User Role and all User's in role if requested * * @param boolean $delete_users * * @return boolean * * @access public */ public function delete($delete_users = false) { $role = new WP_Roles(); if ($this->getId() !== 'administrator') { if ($delete_users) { if (current_user_can('delete_users')) { //delete users first $users = new WP_User_Query(array('number' => '', 'blog_id' => get_current_blog_id(), 'role' => $this->getId())); foreach ($users->get_results() as $user) { //user can not delete himself if ($user instanceof WP_User && $user->ID != get_current_user_id()) { wp_delete_user($user->ID); } } $role->remove_role($this->getId()); $status = true; } else { $status = false; } } else { $role->remove_role($this->getId()); $status = true; } } else { $status = false; } return $status; }
/** * Updates the trasher setting of the post with the given ID as well as all related posts. * * @since 3.0.0 * @wp-hook save_post * * @param int $post_id Post ID. * @param WP_post $post Post object. * * @return int The number of posts updated. */ public function update_settings($post_id, WP_Post $post) { if (!$this->nonce->is_valid()) { return 0; } if (!in_array($post->post_status, ['publish', 'draft'], true)) { return 0; } $value = array_key_exists(TrasherSettingRepository::META_KEY, $_POST) ? (bool) $_POST[TrasherSettingRepository::META_KEY] : false; if (!$this->setting_repository->update($post_id, $value)) { return 0; } $current_site_id = get_current_blog_id(); $related_posts = $this->content_relations->get_relations($current_site_id, $post_id, 'post'); unset($related_posts[$current_site_id]); if (!$related_posts) { return 1; } $updated_posts = 1; array_walk($related_posts, function ($post_id, $site_id) use(&$updated_posts, $value) { switch_to_blog($site_id); $updated_posts += $this->setting_repository->update($post_id, $value); restore_current_blog(); }); return $updated_posts; }
/** * When a Notepad is edited, record the fact to the activity stream * * @since 1.0 * @param int $post_id * @param object $post * @return int The id of the activity item posted */ function participad_notepad_record_notepad_activity($post_id, $post) { global $bp; // Run only for participad_notebook post type if (empty($post->post_type) || participad_notepad_post_type_name() != $post->post_type) { return; } // Throttle activity updates: No duplicate posts (same user, same // notepad) within 60 minutes $already_args = array('max' => 1, 'sort' => 'DESC', 'show_hidden' => 1, 'filter' => array('user_id' => get_current_user_id(), 'action' => 'participad_notepad_edited', 'secondary_id' => $post_id)); $already_activity = bp_activity_get($already_args); // If any activity items are found, compare its date_recorded with time() to // see if it's within the allotted throttle time. If so, don't record the // activity item if (!empty($already_activity['activities'])) { $date_recorded = $already_activity['activities'][0]->date_recorded; $drunix = strtotime($date_recorded); if (time() - $drunix <= apply_filters('participad_notepad_edit_activity_throttle_time', 60 * 60)) { return; } } $post_permalink = get_permalink($post_id); $action = sprintf(__('%1$s edited a notepad %2$s on the site %3$s', 'participad'), bp_core_get_userlink(get_current_user_id()), '<a href="' . $post_permalink . '">' . esc_html($post->post_title) . '</a>', '<a href="' . get_option('siteurl') . '">' . get_option('blogname') . '</a>'); $activity_id = bp_activity_add(array('user_id' => get_current_user_id(), 'component' => bp_is_active('blogs') ? $bp->blogs->id : 'blogs', 'action' => $action, 'primary_link' => $post_permalink, 'type' => 'participad_notepad_edited', 'item_id' => get_current_blog_id(), 'secondary_item_id' => $post_id, 'recorded_time' => $post->post_modified_gmt, 'hide_sitewide' => get_option('blog_public') <= 0)); if (function_exists('bp_blogs_update_blogmeta')) { bp_blogs_update_blogmeta(get_current_blog_id(), 'last_activity', bp_core_current_time()); } return $activity_id; }