Exemple #1
0
/**
 * Parses bbcode but only if it is being shown... NOT in the editor
 *
 * @param unknown_type $parser
 * @param unknown_type $text
 * @param unknown_type $id
 * @return unknown
 */
function ame_process_bbcode(&$parser, &$param1, $param2 = '')
{
    if (class_exists('vB_BbCodeParser_Wysiwyg') and is_a($parser, 'vB_BbCodeParser_Wysiwyg')) {
        return $text;
    } else {
        global $vbulletin;
        ($hook = vBulletinHook::fetch_hook('automediaembed_parse_bbcode_start')) ? eval($hook) : false;
        $ameinfo = fetch_full_ameinfo();
        $text = preg_replace($ameinfo['find'], $ameinfo['replace'], $param2 ? $param2 : $param1, 1);
        ($hook = vBulletinHook::fetch_hook('automediaembed_parse_bbcode_end')) ? eval($hook) : false;
        return $text;
    }
}
/**
 * Writes the contents of $ameinfo to a file to avoid a DB query and array build.
 *
 * @return boolean
 */
function ame_write_cache()
{
    global $vbulletin;
    $path = $vbulletin->options['automediaembed_cache_path'];
    if (!$vbulletin->options['automediaembed_cache'] or !$path) {
        return false;
    }
    if (!strrpos($path, "/")) {
        if (!strrpos($path, "\\")) {
            $path .= '/';
        }
    }
    if (!is_dir($path)) {
        return false;
    }
    require_once DIR . '/includes/ame_bbcode.php';
    $findonly = fetch_full_ameinfo(true, true);
    $output = "<?php\n";
    $output .= ame_write_array_entry($findonly, '$ameinfo');
    $output .= "\n?>";
    ame_write_to_file($path, "findonly", $output);
    $ameinfo = fetch_full_ameinfo(false, true);
    $output = "<?php\n";
    $output .= ame_write_array_entry($ameinfo, '$ameinfo');
    $output .= "\n?>";
    ame_write_to_file($path, "ameinfo", $output);
}