コード例 #1
0
ファイル: contentEditor.php プロジェクト: vova95/motoWidget
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;
}
コード例 #2
0
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;
}
コード例 #3
0
ファイル: getLibrary.php プロジェクト: vova95/motoWidget
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;
}
コード例 #4
0
ファイル: renderContent.php プロジェクト: vova95/motoWidget
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;
}
コード例 #5
0
ファイル: renderTemplate.php プロジェクト: vova95/motoWidget
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;
}
コード例 #6
0
function motopressCEWPInit()
{
    if (!is_admin()) {
        if (!isset($motopressCERequirements)) {
            global $motopressCERequirements;
            $motopressCERequirements = new MPCERequirements();
        }
        if (!isset($motopressCELang)) {
            global $motopressCELang;
            $motopressCELang = motopressCEGetLanguageDict();
        }
        $motopressCELibrary = getMotopressCELibrary();
    }
}