????JFIF??x?x????'
| Server IP : 79.136.114.73 / Your IP : 216.73.216.55 Web Server : Apache/2.4.7 (Ubuntu) PHP/5.5.9-1ubuntu4.29 OpenSSL/1.0.1f System : Linux b8009 3.13.0-170-generic #220-Ubuntu SMP Thu May 9 12:40:49 UTC 2019 x86_64 User : www-data ( 33) PHP Version : 5.5.9-1ubuntu4.29 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority, MySQL : ON | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /var/www/www.astacus.se/wp-content/plugins/cornerstone/includes/integrations/ |
Upload File : |
<?php
class Cornerstone_Integration_ACF {
protected $do_shortcode = false;
public static function should_load() {
return class_exists( 'acf' ) && function_exists( 'acf_shortcode' );
}
public function __construct() {
add_filter( 'cs_element_update_build_shortcode_content', array( $this, 'expand_fields' ) );
add_filter( 'cornerstone_decode_shortcode_attribute', array( $this, 'expand_fields' ) );
add_shortcode( 'cs_acf', array( $this, 'shortcode_handler' ) );
}
public function expand_fields( $content ) {
if ( current_filter() === 'cornerstone_decode_shortcode_attribute' ) {
$this->do_shortcode = true;
}
$expanded = preg_replace_callback( '/{{[aA][cC][fF]:([A-Za-z0-9_-]*?)}}/', array( $this, 'expand_callback' ), $content );
$this->do_shortcode = false;
return $expanded;
}
public function expand_callback( $matches ) {
$result = '[cs_acf field="' . $matches[1] . '"]';
if ( $this->do_shortcode ) {
$result = do_shortcode( $result );
}
return $result;
}
public function shortcode_handler( $atts ) {
return acf_shortcode( $atts );
}
}