function generateShortcodeFromLibrary($shortcodeName, $customClasses = array()) { $motopressCELibrary = getMotopressCELibrary(); $shortcodeObject = $motopressCELibrary->getObject($shortcodeName); $gridObjects = $motopressCELibrary->getGridObjects(); $shortcode = '[' . $shortcodeName; foreach ($shortcodeObject->getParameters() as $parameterName => $parameter) { if (isset($parameter['default']) && $parameter['default'] !== '') { $shortcode .= ' ' . $parameterName . '="' . $parameter['default'] . '"'; } } $shortcodeStyles = $shortcodeObject->getStyles(); $styleClassesArr = isset($shortcodeStyles['default']) && !empty($shortcodeStyles['default']) ? array_merge($customClasses, $shortcodeStyles['default']) : $customClasses; if (!empty($styleClassesArr)) { $shortcode .= ' mp_style_classes="'; $shortcode .= implode(' ', $styleClassesArr); $shortcode .= '"'; } // Add column width parameter // if (in_array($shortcodeName, array($gridObjects['span']['shortcode'], $gridObjects['span']['inner']))) { // $shortcode .= ' ' . $gridObjects['span']['attr'] . '="' . $gridObjects['row']['col'] . '"'; // } $shortcode .= ']<div class="motopress-filler-content"></div>[/' . $shortcodeName . ']'; return $shortcode; }
function motopressCERenderShortcode() { require_once dirname(__FILE__) . '/../verifyNonce.php'; require_once dirname(__FILE__) . '/../settings.php'; require_once dirname(__FILE__) . '/../access.php'; require_once dirname(__FILE__) . '/../functions.php'; require_once dirname(__FILE__) . '/../getLanguageDict.php'; require_once dirname(__FILE__) . '/Shortcode.php'; global $motopressCELang; $errorMessage = strtr($motopressCELang->CERenderError, array('%name%' => $motopressCELang->CEShortcode)); if (isset($_POST['closeType']) && !empty($_POST['closeType']) && isset($_POST['shortcode']) && !empty($_POST['shortcode'])) { global $motopressCESettings; $errors = array(); $closeType = $_POST['closeType']; $shortcode = $_POST['shortcode']; $parameters = null; if (isset($_POST['parameters']) && !empty($_POST['parameters'])) { $parameters = json_decode(stripslashes($_POST['parameters'])); if (!$parameters) { $errors[] = $errorMessage; } } $styles = null; if (isset($_POST['styles']) && !empty($_POST['styles'])) { $styles = json_decode(stripslashes($_POST['styles'])); if (!$styles) { $errors[] = $errorMessage; } } if (empty($errors)) { $motopressCELibrary = getMotopressCELibrary(); do_action('motopress_render_shortcode', $shortcode); //for motopress-cherryframework plugin $s = new MPCEShortcode(); $content = null; if (isset($_POST['content']) && !empty($_POST['content'])) { $content = stripslashes($_POST['content']); $content = MPCEShortcode::unautopMotopressShortcodes($content); if (isset($_POST['wrapRender']) && $_POST['wrapRender'] === 'true') { // $content = motopressCECleanupShortcode($content); $content = motopressCEParseObjectsRecursive($content); } } $str = $s->toShortcode($closeType, $shortcode, $parameters, $styles, $content); echo apply_filters('the_content', '<div class="motopress-ce-shortcode-wrapper">' . $str . '</div>'); // echo do_shortcode($str); } if (!empty($errors)) { if ($motopressCESettings['debug']) { print_r($errors); } else { motopressCESetError($errorMessage); } } } else { motopressCESetError($errorMessage); } exit; }
function motopressCEGetLibraryAjaxCallback() { require_once dirname(__FILE__) . '/../verifyNonce.php'; require_once dirname(__FILE__) . '/../settings.php'; require_once dirname(__FILE__) . '/../access.php'; require_once dirname(__FILE__) . '/../functions.php'; require_once dirname(__FILE__) . '/Library.php'; $motopressCELibrary = getMotopressCELibrary(); wp_send_json($motopressCELibrary->getData()); exit; }
function motopressCERenderContent() { require_once dirname(__FILE__) . '/../verifyNonce.php'; require_once dirname(__FILE__) . '/../settings.php'; require_once dirname(__FILE__) . '/../access.php'; require_once dirname(__FILE__) . '/../Requirements.php'; require_once dirname(__FILE__) . '/../functions.php'; require_once dirname(__FILE__) . '/../getLanguageDict.php'; require_once dirname(__FILE__) . '/postMetaFix.php'; require_once dirname(__FILE__) . '/ThemeFix.php'; $content = trim($_POST['data']); $post_id = (int) $_POST['post_id']; global $motopressCESettings; global $motopressCELang; $errors = array(); $motopressCELibrary = getMotopressCELibrary(); $content = stripslashes($content); // $content = motopressCECleanupShortcode($content); if (!empty($content)) { $content = motopressCEWrapOuterCode($content); } $output = motopressCEParseObjectsRecursive($content); $tmp_post_id = motopressCECreateTemporaryPost($post_id, $output); if ($tmp_post_id !== 0) { $themeFix = new MPCEThemeFix(MPCEThemeFix::DEACTIVATE); $src = get_permalink($tmp_post_id); //@todo: fix protocol for http://codex.wordpress.org/Administration_Over_SSL //fix different site (WordPress Address) and home (Site Address) url for iframe security $siteUrl = get_site_url(); $homeUrl = get_home_url(); $siteUrlArr = parse_url($siteUrl); $homeUrlArr = parse_url($homeUrl); if ($homeUrlArr['scheme'] !== $siteUrlArr['scheme'] || $homeUrlArr['host'] !== $siteUrlArr['host']) { $src = str_replace($homeUrl, $siteUrl, $src); } $result = array('post_id' => $tmp_post_id, 'src' => $src, 'headway_themes' => $themeFix->isHeadwayTheme()); wp_send_json($result); } else { $errors[] = $motopressCELang->CECreateTemporaryPostError; } if (!empty($errors)) { if ($motopressCESettings['debug']) { print_r($errors); } else { motopressCESetError($motopressCELang->CECreateTemporaryPostError); } } exit; }
function motopressCERenderTemplate() { require_once dirname(__FILE__) . '/../verifyNonce.php'; require_once dirname(__FILE__) . '/../settings.php'; require_once dirname(__FILE__) . '/../access.php'; require_once dirname(__FILE__) . '/../functions.php'; require_once dirname(__FILE__) . '/../getLanguageDict.php'; global $motopressCELang; $errorMessage = strtr($motopressCELang->CERenderError, array('%name%' => $motopressCELang->CETemplate)); if (isset($_POST['templateId']) && !empty($_POST['templateId'])) { global $motopressCESettings; $errors = array(); $templateId = $_POST['templateId']; $motopressCELibrary = getMotopressCELibrary(); $template =& $motopressCELibrary->getTemplate($templateId); if ($template) { $content = $template->getContent(); $content = stripslashes($content); $content = motopressCECleanupShortcode($content); $content = preg_replace('/\\][\\s]*/', ']', $content); $content = motopressCEWrapOuterCode($content); $content = motopressCEParseObjectsRecursive($content); echo apply_filters('the_content', $content); } else { $errors[] = $errorMessage; } if (!empty($errors)) { if ($motopressCESettings['debug']) { print_r($errors); } else { motopressCESetError($errorMessage); } } } else { motopressCESetError($errorMessage); } exit; }
function motopressCEWPInit() { if (!is_admin()) { if (!isset($motopressCERequirements)) { global $motopressCERequirements; $motopressCERequirements = new MPCERequirements(); } if (!isset($motopressCELang)) { global $motopressCELang; $motopressCELang = motopressCEGetLanguageDict(); } $motopressCELibrary = getMotopressCELibrary(); } }