548 public function insert(&$user, $force =
false)
558 $user_viewemail =
null;
569 $timezone_offset =
null;
572 $notify_method =
null;
576 $user_intrest =
null;
580 if (
'xoopsuser' != strtolower(get_class($user))) {
583 if (!$user->isDirty()) {
586 if (!$user->cleanVars()) {
590 if (!defined(
'XCUBE_CORE_USER_PASS_LEN_FIXED') && is_callable(
'User_Utils::checkUsersPassColumnLength')) {
593 foreach ($user->cleanVars as $k => $v) {
598 if ($user->isNew()) {
599 $config = xoops_gethandler(
'config');
600 $options = $config->getConfigs(
new Criteria(
'conf_name',
'notify_method'));
601 if (isset($options) and (1 == (is_countable($options) ? count($options) : 0))) {
602 $notify_method = $options[0]->getvar(
'conf_value');
604 $uid = $this->db->genId(
'users_uid_seq');
606 'INSERT INTO %s (uid, uname, name, email, url, user_avatar, user_regdate, user_icq, user_from, user_sig, user_viewemail, actkey, user_aim, user_yim, user_msnm, pass, posts, attachsig, `rank`, level, theme, timezone_offset, last_login, umode, uorder, notify_method, notify_mode, user_occ, bio, user_intrest, user_mailok) VALUES (%u, %s, %s, %s, %s, %s, %u, %s, %s, %s, %u, %s, %s, %s, %s, %s, %u, %u, %u, %u, %s, %.2f, %u, %s, %u, %u, %u, %s, %s, %s, %u)', $this->db->prefix(
'users'), $uid, $this->db->quoteString($uname), $this->db->quoteString($name), $this->db->quoteString($email), $this->db->quoteString($url), $this->db->quoteString($user_avatar), time(), $this->db->quoteString($user_icq), $this->db->quoteString($user_from), $this->db->quoteString($user_sig), $user_viewemail, $this->db->quoteString($actkey), $this->db->quoteString($user_aim), $this->db->quoteString($user_yim), $this->db->quoteString($user_msnm), $this->db->quoteString($pass), $posts, $attachsig, $rank, $level, $this->db->quoteString($theme), $timezone_offset, 0, $this->db->quoteString($umode), $uorder, $notify_method, $notify_mode, $this->db->quoteString($user_occ), $this->db->quoteString($bio), $this->db->quoteString($user_intrest), $user_mailok);
609 'UPDATE %s SET uname = %s, name = %s, email = %s, url = %s, user_avatar = %s, user_icq = %s, user_from = %s, user_sig = %s, user_viewemail = %u, user_aim = %s, user_yim = %s, user_msnm = %s, posts = %d, pass = %s, attachsig = %u, `rank` = %u, level= %u, theme = %s, timezone_offset = %.2f, umode = %s, last_login = %u, uorder = %u, notify_method = %u, notify_mode = %u, user_occ = %s, bio = %s, user_intrest = %s, user_mailok = %u WHERE uid = %u', $this->db->prefix(
'users'), $this->db->quoteString($uname), $this->db->quoteString($name), $this->db->quoteString($email), $this->db->quoteString($url), $this->db->quoteString($user_avatar), $this->db->quoteString($user_icq), $this->db->quoteString($user_from), $this->db->quoteString($user_sig), $user_viewemail, $this->db->quoteString($user_aim), $this->db->quoteString($user_yim), $this->db->quoteString($user_msnm), $posts, $this->db->quoteString($pass), $attachsig, $rank, $level, $this->db->quoteString($theme), $timezone_offset, $this->db->quoteString($umode), $last_login, $uorder, $notify_method, $notify_mode, $this->db->quoteString($user_occ), $this->db->quoteString($bio), $this->db->quoteString($user_intrest), $user_mailok, $uid);
611 if (
false != $force) {
612 $result = $this->db->queryF($sql);
614 $result = $this->db->query($sql);
620 $uid = $this->db->getInsertId();
622 $user->assignVar(
'uid', $uid);
657 public function getUnames($criteria =
null, $id_as_key =
false)
661 $sql =
'SELECT * FROM '.$this->db->prefix(
'users');
662 if (isset($criteria) && $criteria instanceof \criteriaelement) {
663 $sql .=
' '.$criteria->renderWhere();
664 if (
'' != $criteria->getSort()) {
665 $sql .=
' ORDER BY '.$criteria->getSort().
' '.$criteria->getOrder();
667 $limit = $criteria->getLimit();
668 $start = $criteria->getStart();
670 $result = $this->db->query($sql, $limit, $start);
674 while ($myrow = $this->db->fetchArray($result)) {
676 $ret[] = $myrow[
'uname'];
678 $ret[$myrow[
'uid']] = $myrow[
'uname'];
691 public function &
getObjects($criteria =
null, $id_as_key =
false)
695 $sql =
'SELECT * FROM '.$this->db->prefix(
'users');
696 if (isset($criteria) && $criteria instanceof \criteriaelement) {
697 $sql .=
' '.$criteria->renderWhere();
698 if (
'' != $criteria->getSort()) {
699 $sql .=
' ORDER BY '.$criteria->getSort().
' '.$criteria->getOrder();
701 $limit = $criteria->getLimit();
702 $start = $criteria->getStart();
704 $result = $this->db->query($sql, $limit, $start);
708 while ($myrow = $this->db->fetchArray($result)) {
710 $user->assignVars($myrow);
714 $ret[$myrow[
'uid']] =& $user;
794 public function updateAll($fieldname, $fieldvalue, $criteria =
null)
796 $set_clause = is_numeric($fieldvalue) ? $fieldname.
' = '.$fieldvalue : $fieldname.
' = '.$this->db->quoteString($fieldvalue);
797 $sql =
'UPDATE '.$this->db->prefix(
'users').
' SET '.$set_clause;
798 if (isset($criteria) && $criteria instanceof \criteriaelement) {
799 $sql .=
' '.$criteria->renderWhere();
801 if (!$result = $this->db->query($sql)) {