Esempio n. 1
0
function posttag($tagnamestr)
{
    global $_SGLOBAL, $lang;
    $tagarr = array('existsname' => array(), 'nonename' => array(), 'closename' => array(), 'existsid' => array());
    if (empty($tagnamestr)) {
        return $tagarr;
    }
    $tagnamearr = array();
    $valuearr = explode(' ', str_replace(',', ' ', shtmlspecialchars($tagnamestr)));
    foreach ($valuearr as $value) {
        if (count($tagnamearr) > 10) {
            break;
        }
        $value = posttagcheck($value);
        if ($value) {
            $tagnamearr[md5($value)] = $value;
        }
    }
    if (empty($tagnamearr)) {
        return $tagarr;
    }
    $query = $_SGLOBAL['db']->query('SELECT * FROM ' . tname('tags') . ' WHERE tagname IN (' . simplode($tagnamearr) . ')');
    while ($value = $_SGLOBAL['db']->fetch_array($query)) {
        $tagarr['existsid'][] = $value['tagid'];
        $tagarr['existsname'][] = $value['tagname'];
        if ($value['close']) {
            $tagarr['closename'][] = $value['tagname'];
        }
    }
    if (!empty($tagarr['existsname'])) {
        foreach ($tagnamearr as $value) {
            if (!in_array($value, $tagarr['existsname'])) {
                $tagarr['nonename'][] = $value;
            }
        }
    } else {
        $tagarr['nonename'] = $tagnamearr;
    }
    if (!empty($tagarr['closename'])) {
        showmessage($lang['not_allowed_to_belong_to_the_following_tag'] . ':<p>' . implode(',', $tagarr['closename']) . '</p>');
    }
    return $tagarr;
}
Esempio n. 2
0
            }
            $_SGLOBAL['db']->query('UPDATE ' . tname('spacetags') . ' SET tagid=\'' . $totagid . '\' WHERE tagid IN (\'' . $tagidstr . '\')');
            //tags
            $_SGLOBAL['db']->query('UPDATE ' . tname('tags') . ' SET spacenewsnum=spacenewsnum+' . $spacenum['spacenewsnum'] . ' WHERE tagid=\'' . $totagid . '\'');
            $_SGLOBAL['db']->query('DELETE FROM ' . tname('tags') . ' WHERE tagid IN (\'' . $tagidstr . '\')');
        }
    } elseif ($_POST['operation'] == 'delete') {
        $tagidstr = implode('\',\'', $_POST['item']);
        $_SGLOBAL['db']->query('DELETE FROM ' . tname('spacetags') . ' WHERE tagid IN (\'' . $tagidstr . '\')');
        $_SGLOBAL['db']->query('DELETE FROM ' . tname('tags') . ' WHERE tagid IN (\'' . $tagidstr . '\')');
    }
    showmessage('tag_batch_op_success', $newurl);
} elseif (submitcheck('valuesubmit')) {
    //ONE UPDATE OR ADD
    include_once S_ROOT . './function/item.func.php';
    $_POST['newmaintagname'] = posttagcheck($_POST['newmaintagname']);
    if (empty($_POST['newmaintagname'])) {
        showmessage('tag_tagname_error');
    }
    $thetagid = 0;
    $setsqlarr = array();
    //TAG NAME
    if ($_POST['newmaintagname'] != $_POST['maintagname']) {
        if (strtolower($_POST['newmaintagname']) == strtolower($_POST['maintagname'])) {
            $thetagid = $_POST['tagid'];
            $setsqlarr['tagname'] = $_POST['newmaintagname'];
        } else {
            $query = $_SGLOBAL['db']->query('SELECT * FROM ' . tname('tags') . ' WHERE tagname=\'' . $_POST['newmaintagname'] . '\'');
            if ($thetag = $_SGLOBAL['db']->fetch_array($query)) {
                $thetagid = $thetag['tagid'];
                $itemidarr = array();