| 1 |
<?php |
| 2 |
|
| 3 |
function acym_addScript(bool $raw, string $script, array $params = []): string |
| 4 |
{ |
| 5 |
static $scriptNumber = 0; |
| 6 |
$scriptNumber++; |
| 7 |
$handle = 'acym_script'.$scriptNumber; |
| 8 |
|
| 9 |
if (!isset($params['dependencies'])) { |
| 10 |
$params['dependencies'] = ['jquery']; |
| 11 |
} |
| 12 |
|
| 13 |
if ($raw) { |
| 14 |
if (!empty($params['dependencies']['script_name'])) { |
| 15 |
wp_add_inline_script($params['dependencies']['script_name'], $script); |
| 16 |
} else { |
| 17 |
echo '<script type="text/javascript">'.$script.'</script>'; |
| 18 |
} |
| 19 |
} elseif (!empty($params['defer']) || !empty($params['async']) || !empty($params['needTagScript'])) { |
| 20 |
echo '<script type="text/javascript" src="'.$script.'"'.(!empty($params['async']) ? ' async' : '').(!empty($params['defer']) ? ' defer' : '').'></script>'; |
| 21 |
} else { |
| 22 |
wp_enqueue_script($handle, $script, $params['dependencies']); |
| 23 |
} |
| 24 |
|
| 25 |
return $handle; |
| 26 |
} |
| 27 |
|
| 28 |
function acym_addStyle(bool $raw, string $style) |
| 29 |
{ |
| 30 |
if ($raw) { |
| 31 |
echo '<style>'.$style.'</style>'; |
| 32 |
} else { |
| 33 |
echo '<link rel="stylesheet" href="'.$style.'" type="text/css">'; |
| 34 |
} |
| 35 |
} |
| 36 |
|
| 37 |
function acym_loadCmsScripts() |
| 38 |
{ |
| 39 |
$toggleController = acym_isAdmin() ? 'toggle' : 'fronttoggle'; |
| 40 |
acym_addScript( |
| 41 |
true, |
| 42 |
' |
| 43 |
var ACYM_AJAX_URL = "'.admin_url('admin-ajax.php').'?action='.ACYM_COMPONENT.'_router&'.acym_noTemplate().'&'.acym_getFormToken().'&nocache='.time().'"; |
| 44 |
var ACYM_TOGGLE_URL = ACYM_AJAX_URL + "&page='.ACYM_COMPONENT.'_toggle&ctrl='.$toggleController.'"; |
| 45 |
var ACYM_IS_ADMIN = '.(acym_isAdmin() ? 'true' : 'false').'; |
| 46 |
if("undefined" === typeof icl_ajxloaderimg_src) var icl_ajxloaderimg_src = "";' |
| 47 |
); |
| 48 |
|
| 49 |
wp_enqueue_media(); |
| 50 |
|
| 51 |
wp_enqueue_script('jquery'); |
| 52 |
wp_enqueue_script('jquery-ui-draggable'); |
| 53 |
wp_enqueue_script('jquery-ui-droppable'); |
| 54 |
wp_enqueue_script('jquery-ui-sortable'); |
| 55 |
wp_enqueue_script('jquery-effects-slide'); |
| 56 |
} |
| 57 |
|
| 58 |
function acym_redirect($url, $msg = '', $msgType = 'message', $safe = false) |
| 59 |
{ |
| 60 |
if (acym_isAdmin() && substr($url, 0, 4) != 'http' && substr($url, 0, 4) != 'www.') { |
| 61 |
$url = acym_addPageParam($url); |
| 62 |
} |
| 63 |
@ob_get_clean(); |
| 64 |
if (empty($url)) $url = acym_rootURI(); |
| 65 |
if (headers_sent()) { |
| 66 |
acym_addScript(true, 'window.location.href = "'.addslashes($url).'";'); |
| 67 |
} else { |
| 68 |
if ($safe) { |
| 69 |
wp_safe_redirect($url); |
| 70 |
} else { |
| 71 |
wp_redirect($url); |
| 72 |
} |
| 73 |
} |
| 74 |
exit; |
| 75 |
} |
| 76 |
|