80 lines
1.9 KiB
PHP
80 lines
1.9 KiB
PHP
<?php
|
|
/**
|
|
* Admin Actions
|
|
*
|
|
* @package MASHSB
|
|
* @subpackage Admin/Actions
|
|
* @copyright Copyright (c) 2014, René Hermenau
|
|
* @license http://opensource.org/licenses/gpl-2.0.php GNU Public License
|
|
* @since 1.0
|
|
*/
|
|
|
|
// Exit if accessed directly
|
|
if ( ! defined( 'ABSPATH' ) ) exit;
|
|
|
|
/**
|
|
* Processes all MASHSB actions sent via POST and GET by looking for the 'mashsb-action'
|
|
* request and running do_action() to call the function
|
|
*
|
|
* @since 1.0
|
|
* @return void
|
|
*/
|
|
function mashsb_process_actions() {
|
|
if ( !empty( $_POST['mashsb-action'] ) ) {
|
|
do_action( 'mashsb_' . $_POST['mashsb-action'], $_POST );
|
|
}
|
|
|
|
if ( !empty( $_GET['mashsb-action'] ) ) {
|
|
do_action( 'mashsb_' . $_GET['mashsb-action'], $_GET );
|
|
}
|
|
}
|
|
add_action( 'admin_init', 'mashsb_process_actions' );
|
|
|
|
/**
|
|
* Arrange order of social network array when it is draged and droped
|
|
*
|
|
* @global array $mashsb_options
|
|
*/
|
|
function mashsb_save_order(){
|
|
|
|
$current_list = get_option('mashsb_networks');
|
|
$new_order = (array)$_POST['mashsb_list'];
|
|
$new_list = array();
|
|
|
|
/* First write the sort order */
|
|
foreach ($new_order as $n){
|
|
if (isset($current_list[$n])){
|
|
$new_list[$n] = $current_list[$n];
|
|
|
|
}
|
|
}
|
|
/* Update sort order of networks */
|
|
update_option('mashsb_networks', $new_list);
|
|
die();
|
|
}
|
|
add_action ('wp_ajax_mashsb_update_order', 'mashsb_save_order');
|
|
|
|
/**
|
|
* Purge the MashShare Cache
|
|
*
|
|
* @global array $post
|
|
* @return bool false
|
|
*/
|
|
function mashsb_purge_cache(){
|
|
global $post;
|
|
|
|
|
|
// Stop WP from update data on autosave
|
|
if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE){
|
|
return;
|
|
}
|
|
|
|
if (!isset($post)){
|
|
return;
|
|
}
|
|
|
|
|
|
update_post_meta($post->ID, 'mashsb_timestamp', '');
|
|
}
|
|
add_action('save_post', 'mashsb_purge_cache' );
|