/**
  * @return bool
  */
 public function execute()
 {
     //loop all messages by user
     foreach (class_module_user_user::getObjectList() as $objOneUser) {
         //skip inactive users
         if ($objOneUser->getIntActive() == 0) {
             continue;
         }
         if (class_module_messaging_message::getNumberOfMessagesForUser($objOneUser->getSystemid(), true) == 0) {
             continue;
         }
         $arrUnreadMessages = array();
         foreach (class_module_messaging_message::getObjectList($objOneUser->getSystemid()) as $objOneMessage) {
             if ($objOneMessage->getBitRead() == 0 && !$objOneMessage->getObjMessageProvider() instanceof class_messageprovider_summary) {
                 $arrUnreadMessages[] = $objOneMessage;
             }
             if ($objOneMessage->getBitRead() == 0 && $objOneMessage->getObjMessageProvider() instanceof class_messageprovider_summary) {
                 $objOneMessage->deleteObjectFromDatabase();
             }
         }
         if (count($arrUnreadMessages) > 0) {
             $this->createMessageForUser($objOneUser, $arrUnreadMessages);
         }
     }
     //trigger again
     return false;
 }
 /**
  * Returns a list of current users
  *
  * @return string
  * @autoTestable
  * @permissions view
  */
 protected function actionList()
 {
     if ($this->getParam("doFilter") != "") {
         $this->objSession->setSession($this->STR_USERFILTER_SESSION_KEY, $this->getParam("userlist_filter"));
         $this->setParam("pv", 1);
         $this->adminReload(class_link::getLinkAdminHref($this->getArrModule("modul")));
         return "";
     }
     $strReturn = "";
     //add a filter-form
     $strReturn .= $this->objToolkit->formHeader(class_link::getLinkAdminHref($this->getArrModule("modul"), "list"));
     $strReturn .= $this->objToolkit->formInputText("userlist_filter", $this->getLang("user_username"), $this->objSession->getSession($this->STR_USERFILTER_SESSION_KEY));
     $strReturn .= $this->objToolkit->formInputSubmit($this->getLang("userlist_filter"));
     $strReturn .= $this->objToolkit->formInputHidden("doFilter", "1");
     $strReturn .= $this->objToolkit->formClose();
     $objIterator = new class_array_section_iterator(class_module_user_user::getObjectCount($this->objSession->getSession($this->STR_USERFILTER_SESSION_KEY)));
     $objIterator->setPageNumber((int) ($this->getParam("pv") != "" ? $this->getParam("pv") : 1));
     $objIterator->setArraySection(class_module_user_user::getObjectList($this->objSession->getSession($this->STR_USERFILTER_SESSION_KEY), $objIterator->calculateStartPos(), $objIterator->calculateEndPos()));
     $strReturn .= $this->renderList($objIterator, false, "userList");
     return $strReturn;
 }
Beispiel #3
0
 public function test()
 {
     $objDB = class_carrier::getInstance()->getObjDB();
     echo "\tmodul_user...\n";
     //blank system - one user should have been created
     echo "\tcheck number of users installed...\n";
     $arrUserInstalled = class_module_user_user::getObjectList();
     $intStartUsers = count($arrUserInstalled);
     echo "\t ...found " . $intStartUsers . " users.\n";
     echo "\tcheck number of groups installed...\n";
     $arrGroupsInstalled = class_module_user_group::getObjectList();
     $intStartGroups = count($arrGroupsInstalled);
     echo "\t ...found " . $intStartUsers . " users.\n";
     echo "\tcreate 10 users using the model...\n";
     $arrUsersCreated = array();
     for ($intI = 0; $intI < 10; $intI++) {
         $objUser = new class_module_user_user();
         //$objUser->setStrEmail(generateSystemid()."@".generateSystemid()."de");
         $strUsername = "******" . generateSystemid();
         $objUser->setStrUsername($strUsername);
         $objUser->updateObjectToDb();
         $arrUsersCreated[] = $objUser->getSystemid();
         $strID = $objUser->getSystemid();
         $objDB->flushQueryCache();
         $objUser = new class_module_user_user($strID);
         $this->assertEquals($objUser->getStrUsername(), $strUsername, __FILE__ . " checkNameOfUserCreated");
     }
     $arrUserInstalled = class_module_user_user::getObjectList();
     $this->assertEquals(count($arrUserInstalled), 10 + $intStartUsers, __FILE__ . " checkNrOfUsersCreatedByModel");
     echo "\tcreate 10 groups using the model...\n";
     $arrGroupsCreated = array();
     for ($intI = 0; $intI < 10; $intI++) {
         $objGroup = new class_module_user_group();
         $strName = "name_" . generateSystemid();
         $objGroup->setStrName($strName);
         $objGroup->updateObjectToDb();
         $strID = $objGroup->getSystemid();
         $arrGroupsCreated[] = $objGroup->getSystemid();
         $objDB->flushQueryCache();
         $objGroup = new class_module_user_group($strID);
         $this->assertEquals($objGroup->getStrName(), $strName, __FILE__ . " checkNameOfGroupCreated");
     }
     $arrGroupsInstalled = class_module_user_group::getObjectList();
     $this->assertEquals(count($arrGroupsInstalled), 10 + $intStartGroups, __FILE__ . " checkNrOfGroupsByModel");
     echo "\tdeleting users created...\n";
     foreach ($arrUsersCreated as $strOneUser) {
         echo "\t\tdeleting user " . $strOneUser . "...\n";
         $objUser = new class_module_user_user($strOneUser);
         $objUser->deleteObjectFromDatabase();
     }
     $objDB->flushQueryCache();
     echo "\tcheck number of users installed...\n";
     $arrUserInstalled = class_module_user_user::getObjectList();
     $this->assertEquals(count($arrUserInstalled), $intStartUsers, __FILE__ . " checkNrOfUsers");
     echo "\tdeleting groups created...\n";
     foreach ($arrGroupsCreated as $strOneGroup) {
         $objOneGroup = new class_module_user_group($strOneGroup);
         $objOneGroup->deleteObjectFromDatabase();
     }
     $objDB->flushQueryCache();
     echo "\tcheck number of groups installed...\n";
     $arrGroupsInstalled = class_module_user_group::getObjectList();
     $this->assertEquals(count($arrGroupsInstalled), $intStartGroups, __FILE__ . " checkNrOfGroups");
     echo "\ttest group membership handling...\n";
     $objGroup = new class_module_user_group();
     $objGroup->setStrName("AUTOTESTGROUP");
     $objGroup->updateObjectToDb();
     echo "\tadding 10 members to group...\n";
     for ($intI = 0; $intI <= 10; $intI++) {
         $objUser = new class_module_user_user();
         $objUser->setStrUsername("AUTOTESTUSER_" . $intI);
         //$objUser->setStrEmail("autotest_".$intI."@kajona.de");
         $objUser->updateObjectToDb();
         //add user to group
         $objGroup->getObjSourceGroup()->addMember($objUser->getObjSourceUser());
         $arrUsersInGroup = $objGroup->getObjSourceGroup()->getUserIdsForGroup();
         $this->assertTrue(in_array($objUser->getSystemid(), $arrUsersInGroup), __FILE__ . " checkUserInGroup");
         $this->assertEquals(count($arrUsersInGroup), 1 + $intI, __FILE__ . " checkNrOfUsersInGroup");
         $objDB->flushQueryCache();
     }
     echo "\tdeleting groups & users\n";
     foreach ($objGroup->getObjSourceGroup()->getUserIdsForGroup() as $strOneUser) {
         $objOneUser = new class_module_user_user($strOneUser);
         $objOneUser->deleteObjectFromDatabase();
     }
     $objGroup->deleteObjectFromDatabase();
     $objDB->flushQueryCache();
     echo "\tcheck number of users installed is same as at beginning...\n";
     $arrUserInstalled = class_module_user_user::getObjectList();
     $this->assertEquals(count($arrUserInstalled), $intStartUsers, __FILE__ . " checkNrOfUsersAtEnd");
     echo "\tcheck number of groups installed is same as at beginning...\n";
     $arrGroupsInstalled = class_module_user_group::getObjectList();
     $this->assertEquals(count($arrGroupsInstalled), $intStartGroups, __FILE__ . " checkNrOfGrpupsAtEnd");
 }
 /**
  * @return class_module_user_user[]
  */
 private function loadUserlist()
 {
     //load all users given
     $arrUser = array();
     if (validateSystemid($this->arrElementData["char2"])) {
         $objGroup = new class_module_user_group($this->arrElementData["char2"]);
         $arrUserId = $objGroup->getObjSourceGroup()->getUserIdsForGroup();
         foreach ($arrUserId as $strOneUser) {
             $arrUser[] = new class_module_user_user($strOneUser);
         }
     } else {
         $arrUser = class_module_user_user::getObjectList();
     }
     //filter against inactive?
     $arrUserFinal = array();
     if ($this->arrElementData["int1"] == "1") {
         foreach ($arrUser as $objOneUser) {
             if ($objOneUser->getIntActive() == "1") {
                 $arrUserFinal[] = $objOneUser;
             }
         }
     } else {
         if ($this->arrElementData["int1"] == "2") {
             foreach ($arrUser as $objOneUser) {
                 if ($objOneUser->getIntActive() == "0") {
                     $arrUserFinal[] = $objOneUser;
                 }
             }
         } else {
             $arrUserFinal = $arrUser;
         }
     }
     return $arrUserFinal;
 }