Beispiel #1
0
function mo_add_user($username, $password, $email, $nickname = '')
{
    if (!filter_var($email, FILTER_VALIDATE_EMAIL) || strlen($username) > 32 || strlen($username) < 3 || strlen($password) < 6 || strlen($password) > 50) {
        return False;
    }
    global $db;
    $password = password_hash($password, PASSWORD_DEFAULT, ['cost' => CRYPT_COST]);
    $ip = mo_get_user_ip();
    $sql = 'INSERT INTO `mo_user` (`username`, `password`, `email`, `nickname`, `reg_time`, `reg_ip`) VALUES ( ?, ?, ?, ?, CURRENT_TIMESTAMP, ?)';
    $db->prepare($sql);
    $db->bind('ssssi', $username, $password, $email, $nickname, $ip);
    $db->execute();
    $uid = $db->getInsID();
    if ($uid == 0) {
        return False;
    }
    $sql = 'INSERT INTO `mo_user_info` (`uid`, `info`, `preference`) VALUES (\'' . $uid . '\', \'a:0:{}\', \'a:0:{}\')';
    $db->prepare($sql);
    $db->execute();
    $sql = 'INSERT INTO `mo_user_record` (`uid`) VALUES (\'' . $uid . '\')';
    $db->prepare($sql);
    $db->execute();
    mo_write_note("A new user (ID = {$uid}) has been added.");
    return $uid;
}
Beispiel #2
0
function mo_log_user($detail, $uid = 0)
{
    global $db;
    if (!$uid) {
        global $user;
        $uid = $user->getUID();
    }
    $sql = 'INSERT INTO `mo_log_user` (`uid`, `ip`, `time`, `detail`) VALUES (?, ?, CURRENT_TIMESTAMP, ?)';
    $db->prepare($sql);
    $db->bind('iis', $uid, mo_get_user_ip(), $detail);
    $db->execute();
}
Beispiel #3
0
function mo_add_new_discussion($category, $title, $content, $parent = 0, $uid = 0, $extra = array())
{
    global $user;
    if (!$uid) {
        $uid = $user->getUID();
    }
    if (!($uid && ($parent || $title) && $content)) {
        return False;
    }
    global $db;
    $sql = 'INSERT INTO `mo_discussion` (`uid`, `parent`, `title`, `category`, `content`, `post_time`, `extra`, `ip`) VALUES (?, ?, ?, ?, ?, CURRENT_TIMESTAMP, ?, ?)';
    $db->prepare($sql);
    $db->bind('iisissi', $uid, $parent, $title, $category, $content, serialize($extra), mo_get_user_ip());
    $db->execute();
    $did = $db->getInsID();
    mo_write_note('A new discussion has been added.');
    mo_log_user("User added a new discussion (DID = {$did}).");
    return $did;
}