File "bookmark.php"
Full path: /home/kosmetik/public_html/wp-includes/wp-admin/includes/bookmark.php
File
size: 6.46 B
MIME-type: text/x-php
Charset: utf-8
Download Open Edit Advanced Editor Back
<?php
function add_link()
{
return edit_link();
}
function edit_link($link_id = 0)
{
if (!current_user_can('manage_links')) {
wp_die('<h1>' . __('You need a higher level of permission.') . '</h1>' . '<p>' . __('Sorry, you are not allowed to edit the links for this site.') . '</p>', 403);
}
$_POST['link_url'] = esc_html($_POST['link_url']);
$_POST['link_url'] = esc_url($_POST['link_url']);
$_POST['link_name'] = esc_html($_POST['link_name']);
$_POST['link_image'] = esc_html($_POST['link_image']);
$_POST['link_rss'] = esc_url($_POST['link_rss']);
if (!isset($_POST['link_visible']) || 'N' !== $_POST['link_visible']) {
$_POST['link_visible'] = 'Y';
}
if (!empty($link_id)) {
$_POST['link_id'] = $link_id;
return wp_update_link($_POST);
} else {
return wp_insert_link($_POST);
}
}
function get_default_link_to_edit()
{
$link = new stdClass();
if (isset($_GET['linkurl'])) {
$link->link_url = esc_url(wp_unslash($_GET['linkurl']));
} else {
$link->link_url = '';
}
if (isset($_GET['name'])) {
$link->link_name = esc_attr(wp_unslash($_GET['name']));
} else {
$link->link_name = '';
}
$link->link_visible = 'Y';
return $link;
}
function wp_delete_link($link_id)
{
global $wpdb;
do_action('delete_link', $link_id);
wp_delete_object_term_relationships($link_id, 'link_category');
$wpdb->delete($wpdb->links, array('link_id' => $link_id));
do_action('deleted_link', $link_id);
clean_bookmark_cache($link_id);
return true;
}
function wp_get_link_cats($link_id = 0)
{
$cats = wp_get_object_terms($link_id, 'link_category', array('fields' => 'ids'));
return array_unique($cats);
}
function get_link_to_edit($link)
{
return get_bookmark($link, OBJECT, 'edit');
}
function wp_insert_link($linkdata, $wp_error = false)
{
global $wpdb;
$defaults = array('link_id' => 0, 'link_name' => '', 'link_url' => '', 'link_rating' => 0);
$parsed_args = wp_parse_args($linkdata, $defaults);
$parsed_args = wp_unslash(sanitize_bookmark($parsed_args, 'db'));
$link_id = $parsed_args['link_id'];
$link_name = $parsed_args['link_name'];
$link_url = $parsed_args['link_url'];
$update = false;
if (!empty($link_id)) {
$update = true;
}
if ('' === trim($link_name)) {
if ('' !== trim($link_url)) {
$link_name = $link_url;
} else {
return 0;
}
}
if ('' === trim($link_url)) {
return 0;
}
$link_rating = !empty($parsed_args['link_rating']) ? $parsed_args['link_rating'] : 0;
$link_image = !empty($parsed_args['link_image']) ? $parsed_args['link_image'] : '';
$link_target = !empty($parsed_args['link_target']) ? $parsed_args['link_target'] : '';
$link_visible = !empty($parsed_args['link_visible']) ? $parsed_args['link_visible'] : 'Y';
$link_owner = !empty($parsed_args['link_owner']) ? $parsed_args['link_owner'] : get_current_user_id();
$link_notes = !empty($parsed_args['link_notes']) ? $parsed_args['link_notes'] : '';
$link_description = !empty($parsed_args['link_description']) ? $parsed_args['link_description'] : '';
$link_rss = !empty($parsed_args['link_rss']) ? $parsed_args['link_rss'] : '';
$link_rel = !empty($parsed_args['link_rel']) ? $parsed_args['link_rel'] : '';
$link_category = !empty($parsed_args['link_category']) ? $parsed_args['link_category'] : array();
if (!is_array($link_category) || 0 === count($link_category)) {
$link_category = array(get_option('default_link_category'));
}
if ($update) {
if (false === $wpdb->update($wpdb->links, compact('link_url', 'link_name', 'link_image', 'link_target', 'link_description', 'link_visible', 'link_owner', 'link_rating', 'link_rel', 'link_notes', 'link_rss'), compact('link_id'))) {
if ($wp_error) {
return new WP_Error('db_update_error', __('Could not update link in the database.'), $wpdb->last_error);
} else {
return 0;
}
}
} else {
if (false === $wpdb->insert($wpdb->links, compact('link_url', 'link_name', 'link_image', 'link_target', 'link_description', 'link_visible', 'link_owner', 'link_rating', 'link_rel', 'link_notes', 'link_rss'))) {
if ($wp_error) {
return new WP_Error('db_insert_error', __('Could not insert link into the database.'), $wpdb->last_error);
} else {
return 0;
}
}
$link_id = (int) $wpdb->insert_id;
}
wp_set_link_cats($link_id, $link_category);
if ($update) {
do_action('edit_link', $link_id);
} else {
do_action('add_link', $link_id);
}
clean_bookmark_cache($link_id);
return $link_id;
}
function wp_set_link_cats($link_id = 0, $link_categories = array())
{
if (!is_array($link_categories) || 0 === count($link_categories)) {
$link_categories = array(get_option('default_link_category'));
}
$link_categories = array_map('intval', $link_categories);
$link_categories = array_unique($link_categories);
wp_set_object_terms($link_id, $link_categories, 'link_category');
clean_bookmark_cache($link_id);
}
function wp_update_link($linkdata)
{
$link_id = (int) $linkdata['link_id'];
$link = get_bookmark($link_id, ARRAY_A);
$link = wp_slash($link);
if (isset($linkdata['link_category']) && is_array($linkdata['link_category']) && count($linkdata['link_category']) > 0) {
$link_cats = $linkdata['link_category'];
} else {
$link_cats = $link['link_category'];
}
$linkdata = array_merge($link, $linkdata);
$linkdata['link_category'] = $link_cats;
return wp_insert_link($linkdata);
}
function wp_link_manager_disabled_message()
{
global $pagenow;
if (!in_array($pagenow, array('link-manager.php', 'link-add.php', 'link.php'), true)) {
return;
}
add_filter('pre_option_link_manager_enabled', '__return_true', 100);
$really_can_manage_links = current_user_can('manage_links');
remove_filter('pre_option_link_manager_enabled', '__return_true', 100);
if ($really_can_manage_links && current_user_can('install_plugins')) {
$link = network_admin_url('plugin-install.php?tab=search&s=Link+Manager');
wp_die(sprintf(__('If you are looking to use the link manager, please install the <a href="%s">Link Manager</a> plugin.'), $link));
}
wp_die(__('Sorry, you are not allowed to edit the links for this site.'));
}