[xoops-cvslog 1364] CVS update: xoops2jp/html/kernel

Back to archive index

Minahito minah****@users*****
2005年 12月 25日 (日) 16:01:27 JST


Index: xoops2jp/html/kernel/member.php
diff -u xoops2jp/html/kernel/member.php:1.2.8.2 xoops2jp/html/kernel/member.php:1.2.8.3
--- xoops2jp/html/kernel/member.php:1.2.8.2	Wed Oct 26 01:46:32 2005
+++ xoops2jp/html/kernel/member.php	Sun Dec 25 16:01:27 2005
@@ -1,5 +1,5 @@
 <?php
-// $Id: member.php,v 1.2.8.2 2005/10/25 16:46:32 minahito Exp $
+// $Id: member.php,v 1.2.8.3 2005/12/25 07:01:27 minahito Exp $
 //  ------------------------------------------------------------------------ //
 //                XOOPS - PHP Content Management System                      //
 //                    Copyright (c) 2000 XOOPS.org                           //
@@ -145,6 +145,20 @@
 	}
 
     /**
+     * Delete function. This function is virtual overload function.
+     * @param $object XoopsUser or XoopsGroup
+     */
+    function delete(&$object)
+    {
+        if (is_a($object, "XoopsUser")) {
+            return $this->deleteUser($object);
+        }
+        elseif (is_a($object, "XoopsGroup")) {
+            return $this->deleteGroup($object);
+        }
+    }
+
+    /**
      * delete a group
      *
      * @param object $group reference to the group to delete
@@ -313,6 +327,27 @@
     }
 
     /**
+     * @see getUsersByGroup
+     */
+    function getUsersByNoGroup($group_id, $asobject = false, $limit = 0, $start = 0)
+    {
+        $user_ids =& $this->_mHandler->getUsersByNoGroup($group_id, $limit, $start);
+        if (!$asobject) {
+           return $user_ids;
+        } else {
+           $ret = array();
+           foreach ($user_ids as $u_id) {
+               $user =& $this->getUser($u_id);
+                if (is_object($user)) {
+                    $ret[] =& $user;
+                }
+                unset($user);
+           }
+           return $ret;
+        }
+    }
+
+    /**
      * get a list of groups that a user is member of
      *
      * @param int $user_id ID of the user
@@ -391,6 +426,37 @@
     }
 
     /**
+     * @see getUserCountByGroup
+     * @return int
+     */
+    function getUserCountByNoGroup($group_id)
+    {
+        $ret = array();
+
+        $groupid = intval($group_id);
+        $usersTable = $this->_mHandler->db->prefix('users');
+        $linkTable = $this->_mHandler->db->prefix('groups_users_link');
+
+        $sql = "SELECT count(u.*) FROM ${usersTable} u LEFT JOIN ${linkTable} g ON u.uid=g.uid," .
+                "${usersTable} u2 LEFT JOIN ${linkTable} g2 ON u2.uid=g2.uid AND g2.groupid=${groupid} " .
+                "WHERE (g.groupid != ${groupid} OR g.groupid IS NULL) " .
+                "AND (g2.groupid = ${groupid} OR g2.groupid IS NULL) " .
+                "AND u.uid = u2.uid AND g2.uid IS NULL GROUP BY u.uid";
+
+        $result = $this->_mHandler->db->query($sql);
+        if (!$result) {
+            return $ret;
+        }
+        if (!$result) {
+            return 0;
+        }
+
+        list($count) = $this->_mHandler->db->fetchRow($result);
+
+        return $count;
+    }
+
+    /**
      * updates a single field in a users record
      *
      * @param object $user reference to the {@link XoopsUser} object


xoops-cvslog メーリングリストの案内
Back to archive index