public static function run() { $action = array_key_exists('action', $_SESSION) ? $_SESSION['action'] : ""; $arguments = array_key_exists('arguments', $_SESSION) ? $_SESSION['arguments'] : ""; switch ($action) { case "create": self::newSkillAssoc(); break; case "show": if ($arguments == 'all') { $_SESSION['skillAssocs'] = SkillAssocsDB::getSkillAssocsBy(); $_SESSION['headertitle'] = "botspace skill associations"; SkillAssocView::showAll(); } else { $skillAssocs = SkillAssocsDB::getSkillAssocsBy('skillAssocId', $arguments); $_SESSION['skillAssoc'] = $skillAssocs[0]; self::show(); } break; case "update": echo "Update"; self::updateSkillAssoc(); break; default: } }
public function testGetSkillAssocsByUserDataId() { $myDB = DBMaker::create('botspacetest'); Database::clearDB(); $db = Database::getDB('botspacetest', 'C:\\xampp\\myConfig.ini'); $testUserDataId = 3; $skillAssocs = SkillAssocsDB::getSkillAssocsBy('userDataId', $testUserDataId); foreach ($skillAssocs as $skillAssoc) { $this->assertEquals($skillAssoc->getUserDataId(), $testUserDataId, 'All returned SkillAssocs should have the specified userDataId'); } }
public static function show() { $arguments = array_key_exists('arguments', $_SESSION) ? $_SESSION['arguments'] : 0; $userData = $_SESSION['userData']; if (!is_null($userData)) { $_SESSION['userData'] = $userData; $skillAssocs = SkillAssocsDB::getSkillAssocsBy('userDataId', $userData->getUserDataId()); $_SESSION['skillAssocs'] = $skillAssocs; UserDataView::show(); } else { HomeView::show(); } }
public static function setProfileDataForUser($userId) { $retVal = false; if (empty($userId) || !is_numeric($userId)) { return $retVal; } $user = null; $userData = null; $skillAssocs = null; $userRobots = null; $users = UsersDB::getUsersBy('userId', $userId); if (count($users) > 0) { $user = $users[0]; if ($user->getErrorCount() != 0) { return $retVal; } $userDataArray = UserDataDB::getUserDataBy('userId', $userId); if (count($userDataArray) > 0) { $userData = $userDataArray[0]; } if ($userData->getErrorCount() != 0) { return $retVal; } $skillAssocs = SkillAssocsDB::getSkillAssocsBy('userDataId', $userData->getUserDataId()); foreach ($skillAssocs as $skillAssoc) { if ($skillAssoc->getErrorCount() != 0) { return $retVal; } } $robotAssocs = RobotAssocsDB::getRobotAssocsBy('creatorId', $userData->getUserDataId()); $userRobots = array(); foreach ($robotAssocs as $robotAssoc) { $robotArray = RobotDataDB::getRobotDataBy('robotId', $robotAssoc->getRobotId()); if (count($robotArray) > 0) { array_push($userRobots, $robotArray[0]); } } $_SESSION['user'] = $user; $_SESSION['userData'] = $userData; $_SESSION['skillAssocs'] = $skillAssocs; $_SESSION['userRobots'] = $userRobots; $retVal = true; } return $retVal; }
public static function show() { $arguments = array_key_exists('arguments', $_SESSION) ? $_SESSION['arguments'] : 0; $user = $_SESSION['user']; if (!is_null($user)) { $_SESSION['user'] = $user; $userDataArray = UserDataDB::getUserDataBy('userId', $user->getUserId()); $userData = $userDataArray[0]; $_SESSION['userData'] = $userData; $skillAssocs = SkillAssocsDB::getSkillAssocsBy('userDataId', $userData->getUserDataId()); $_SESSION['skillAssocs'] = $skillAssocs; // The robot data section might look something like this: //$robotDataArray = RobotDataDB::getRobotDataBy('creator', $user->getUserId()); //$_SESSION['robotData'] = $robotDataArray; UserView::show(); } else { HomeView::show(); } }
public static function show() { $arguments = array_key_exists('arguments', $_SESSION) ? $_SESSION['arguments'] : 0; $userData = $_SESSION['userData']; if (!is_null($userData)) { $_SESSION['userData'] = $userData; $skillAssocs = SkillAssocsDB::getSkillAssocsBy('userDataId', $userData->getUserDataId()); $skills = array(); foreach ($skillAssocs as $skillAssoc) { $skillsArray = SkillsDB::getSkillsBy('skillId', $skillAssoc->getSkillId()); $skill = $skillsArray[0]; array_push($skills, $skill); } //$_SESSION['skillAssocs'] = $skillAssocs; $_SESSION['skills'] = $skills; UserDataView::show(); } else { HomeView::show(); } }
public static function getUserDataArray($rowSets) { $usersData = array(); if (!empty($rowSets)) { foreach ($rowSets as $userDataRow) { $userData = new UserData($userDataRow); $userDataId = $userDataRow['userDataId']; // The UserData constructor does not set the userDataId for // a new UserData object; the UserData table takes care of that // during insertion. Here we manually set the userDataId to // complete the UserData object. $userData->setUserDataId($userDataId); // We should also get the user's associated skills $skillAssocs = SkillAssocsDB::getSkillAssocsBy('userDataId', $userDataId); $skill_areas = array(); foreach ($skillAssocs as $skillAssoc) { $skillId = $skillAssoc->getSkillId(); // skillIds start from 1, however array-indexing // starts at 0; so we use an offset of -1 when retrieving // values from $SKILL_AREAS $skill_name = Skill::$SKILL_AREAS[$skillId - 1]; array_push($skill_areas, $skill_name); } $userData->setSkillAreas($skill_areas); array_push($usersData, $userData); } } return $usersData; }
public function testInsertDuplicateSkillAssoc() { $myDB = DBMaker::create('botspacetest'); Database::clearDB(); $db = Database::getDB('botspacetest', 'C:\\xampp\\myConfig.ini'); $beforeCount = count(SkillAssocsDB::getSkillAssocsBy()); $skillAssocCopy = SkillAssocsDB::getSkillAssocsRowsBy('skillAssocId', 4); $skillAssocCopy = $skillAssocCopy[0]; $s1 = new SkillAssocs($skillAssocCopy); $dupSkillAssoc = SkillAssocsDB::addSkillAssoc($s1); $afterCount = count(SkillAssocsDB::getSkillAssocsBy()); $this->assertTrue(!empty($dupSkillAssoc->getError('skillAssocId')) && strcmp(Messages::getError('SKILL_ASSOC_INVALID'), $dupSkillAssoc->getError('skillAssocId')) == 0, 'It should have a skillAssocId error if the skill association is a duplicate'); $this->assertEquals($afterCount, $beforeCount, 'There should be no additional skill associations entries after the insertion attempt'); }