Esempio n. 1
0
function plugin_aname_tag($args = array(), $convert = TRUE)
{
    global $pkwk_dtd;
    global $vars;
    static $_id = array();
    if (empty($args) || $args[0] == '') {
        return plugin_aname_usage($convert);
    }
    $id = array_shift($args);
    $body = '';
    if (!empty($args)) {
        $body = array_pop($args);
    }
    $f_noid = in_array('noid', $args);
    // Option: Without id attribute
    $f_super = in_array('super', $args);
    // Option: CSS class
    $f_full = in_array('full', $args);
    // Option: With full(absolute) URI
    if ($body == '') {
        if ($f_noid) {
            return plugin_aname_usage($convert, 'Meaningless(No link-title with \'noid\')');
        }
        //miko	if ($f_super) return plugin_aname_usage($convert, 'Meaningless(No link-title with \'super\')');
        //miko	if ($f_full)  return plugin_aname_usage($convert, 'Meaningless(No link-title with \'full\')');
    }
    if (PLUGIN_ANAME_ID_MUST_UNIQUE && isset($_id[$id]) && !$f_noid) {
        return plugin_aname_usage($convert, 'ID already used: ' . $id);
    } else {
        if (strlen($id) > PLUGIN_ANAME_ID_MAX) {
            return plugin_aname_usage($convert, 'ID too long');
        }
        if (!preg_match(PLUGIN_ANAME_ID_REGEX, $id)) {
            return plugin_aname_usage($convert, 'Invalid ID string: ' . htmlspecialchars($id));
        }
        $_id[$id] = TRUE;
        // Set
    }
    if ($convert) {
        $body = htmlspecialchars($body);
    }
    $id = htmlspecialchars($id);
    // Insurance
    $class = $f_super ? 'anchor_super' : 'anchor';
    //miko
    // Mobile Phone is not xhtml. umm...
    if ($f_noid) {
        $attr_id = '';
    } elseif (isset($pkwk_dtd) && $pkwk_dtd < PKWK_DTD_XHTML_1_1) {
        // Compatible of XHTML1/HTML4
        $attr_id = ' id="' . $id . '" name="' . $id . '"';
    } elseif (defined('UA_MOBILE') && UA_MOBILE != 0) {
        // Mobile-phone is Force XHTML1
        $attr_id = ' id="' . $id . '" name="' . $id . '"';
    } else {
        $attr_id = ' id="' . $id . '"';
    }
    //miko
    $url = $f_full ? get_page_uri($vars['page']) : '';
    if ($body != '') {
        $href = ' href="' . $url . '#' . $id . '"';
        $title = ' title="' . $id . '"';
    } else {
        $href = $title = '';
    }
    return '<a class="' . $class . '"' . $attr_id . $href . $title . '>' . $body . '</a>';
}
Esempio n. 2
0
function plugin_aname_tag($args = array(), $convert = TRUE)
{
    global $vars;
    static $_id = array();
    if (empty($args) || $args[0] == '') {
        return plugin_aname_usage($convert);
    }
    $id = array_shift($args);
    $body = '';
    if (!empty($args)) {
        $body = array_pop($args);
    }
    $f_noid = in_array('noid', $args);
    // Option: Without id attribute
    $f_super = in_array('super', $args);
    // Option: CSS class
    $f_full = in_array('full', $args);
    // Option: With full(absolute) URI
    if ($body == '') {
        if ($f_noid) {
            return plugin_aname_usage($convert, 'Meaningless(No link-title with \'noid\')');
        }
        if ($f_super) {
            return plugin_aname_usage($convert, 'Meaningless(No link-title with \'super\')');
        }
        if ($f_full) {
            return plugin_aname_usage($convert, 'Meaningless(No link-title with \'full\')');
        }
    }
    if (PLUGIN_ANAME_ID_MUST_UNIQUE && isset($_id[$id]) && !$f_noid) {
        return plugin_aname_usage($convert, 'ID already used: ' . $id);
    } else {
        if (strlen($id) > PLUGIN_ANAME_ID_MAX) {
            return plugin_aname_usage($convert, 'ID too long');
        }
        if (!preg_match(PLUGIN_ANAME_ID_REGEX, $id)) {
            return plugin_aname_usage($convert, 'Invalid ID string: ' . htmlspecialchars($id));
        }
        $_id[$id] = TRUE;
        // Set
    }
    if ($convert) {
        $body = htmlspecialchars($body);
    }
    $id = htmlspecialchars($id);
    // Insurance
    $class = $f_super ? 'anchor_super' : 'anchor';
    $attr_id = $f_noid ? '' : ' id="' . $id . '"';
    $url = $f_full ? get_script_uri() . '?' . rawurlencode($vars['page']) : '';
    if ($body != '') {
        $href = ' href="' . $url . '#' . $id . '"';
        $title = ' title="' . $id . '"';
    } else {
        $href = $title = '';
    }
    return '<a class="' . $class . '"' . $attr_id . $href . $title . '>' . $body . '</a>';
}
Esempio n. 3
0
function plugin_aname_tag($args = array(), $convert = TRUE)
{
    global $vars;
    static $_id = array();
    $qm = get_qm();
    if (empty($args) || $args[0] == '') {
        return plugin_aname_usage($convert);
    }
    $id = array_shift($args);
    $body = '';
    if (!empty($args)) {
        $body = array_pop($args);
    }
    $f_noid = in_array('noid', $args);
    // Option: Without id attribute
    $f_super = in_array('super', $args);
    // Option: CSS class
    $f_full = in_array('full', $args);
    // Option: With full(absolute) URI
    if ($body == '') {
        if ($f_noid) {
            return plugin_aname_usage($convert, $qm->m['plg_aname']['err_notitle_noid']);
        }
        if ($f_super) {
            return plugin_aname_usage($convert, $qm->m['plg_aname']['err_notitle_super']);
        }
        if ($f_full) {
            return plugin_aname_usage($convert, $qm->m['plg_aname']['err_notitle_full']);
        }
    }
    if (PLUGIN_ANAME_ID_MUST_UNIQUE && isset($_id[$id]) && !$f_noid) {
        return plugin_aname_usage($convert, $qm->replace('plg_aname.err_not_unique', h($id)));
    } else {
        if (strlen($id) > PLUGIN_ANAME_ID_MAX) {
            return plugin_aname_usage($convert, $qm->m['plg_aname']['err_longid']);
        }
        if (!preg_match(PLUGIN_ANAME_ID_REGEX, $id)) {
            return plugin_aname_usage($convert, $qm->replace('plg_aname.err_invalidid', h($id)));
        }
        $_id[$id] = TRUE;
        // Set
    }
    if ($convert) {
        $body = htmlspecialchars($body);
    }
    $id = htmlspecialchars($id);
    // Insurance
    $class = $f_super ? 'anchor_super' : 'anchor';
    $attr_id = $f_noid ? '' : ' id="' . $id . '" name="' . $id . '"';
    $url = $f_full ? get_script_uri() . '?' . rawurlencode($vars['page']) : '';
    if ($body != '') {
        $href = ' href="' . $url . '#' . $id . '"';
        $title = ' title="' . $id . '"';
    } else {
        $href = $title = '';
    }
    return '<a class="' . $class . '"' . $attr_id . $href . $title . '>' . $body . '</a>';
}