Ejemplo n.º 1
0
 public static function init($config = [])
 {
     static::$config = array_merge(static::$config, $config);
     // Added possibility to use outside of Wordpress
     if (defined('ABSPATH')) {
         // Install CSS + JS
         wp_enqueue_script('aeria.social', AERIA_URL . 'resources/js/aeria.social.js', ['jquery']);
         wp_enqueue_style('aeria.social', AERIA_URL . 'resources/css/aeria.social.css');
         if (isset(static::$config['apiurl'])) {
             wp_localize_script('aeria.social', 'AERIA_SOCIAL', ['URL' => static::$config['apiurl']]);
         }
         // Install AJAX handler
         AeriaAJAX::register('aeriasocial.get', function () {
             if (!isset($_REQUEST['uri'])) {
                 echo json_encode(['error' => 'Please provide a URI']);
                 exit(1);
             }
             echo json_encode(AeriaSocial::getCount($_REQUEST['uri']));
             exit;
         });
     }
 }
Ejemplo n.º 2
0
    if ($action = get_query_var('ajax')) {
        ini_set('zlib.output_compression', 'On');
        if (!defined('DOING_AJAX')) {
            define('DOING_AJAX', true);
        }
        send_nosniff_header();
        $action = $action;
        $args = $_REQUEST;
        $user_logged = is_user_logged_in();
        $privateHook = 'AERIA_AJAX_HANDLER_private_' . $action;
        $publicHook = 'AERIA_AJAX_HANDLER_public_' . $action;
        unset($args['ajax']);
        ob_end_clean();
        if ($user_logged && AeriaAJAX::existsPrivate($action)) {
            do_action($privateHook, $args);
        } elseif (AeriaAJAX::exists($action)) {
            do_action($publicHook, $args);
        }
        exit;
    }
});
class AeriaAJAX
{
    public static $registry = array();
    public static function exists($function_name)
    {
        return isset(static::$registry['AERIA_AJAX_HANDLER_public_' . $function_name]);
    }
    public static function existsPrivate($function_name)
    {
        return isset(static::$registry['AERIA_AJAX_HANDLER_private_' . $function_name]);