Пример #1
0
    /**
     * Fetches the data needed to create the Tables from the Database
     * @param $classIds array() an array of Ids of classes to fetch
     */
    protected static function dataFetch()
    {
        $query = 'SELECT CONCAT(u.forename, " ", u.name) AS userFullname,
				u.telephone AS telephone, u.ID AS userId,
				c.label AS classLabel, c.ID AS classId,
				CONCAT(g.gradelevel, g.label) AS grade,
				CONCAT(ct.forename, " ", ct.name) AS classteacherFullname,
				cu.name AS categoryName,
				cu.translatedName AS translatedCategoryName
			FROM KuwasysClasses c
				INNER JOIN KuwasysUsersInClassesAndCategories uicc
					ON uicc.ClassID = c.ID
				INNER JOIN SystemUsers u ON uicc.UserID = u.ID
				INNER JOIN KuwasysClassesInCategories cic ON cic.classId = c.ID
				LEFT JOIN SystemAttendances uigs
					ON uigs.UserID = u.ID
				LEFT JOIN SystemGrades g ON uigs.gradeId = g.ID
				LEFT JOIN KuwasysClassteachersInClasses ctic ON ctic.ClassID = c.ID
				LEFT JOIN KuwasysClassteachers ct
					ON ctic.ClassTeacherID = ct.ID
				LEFT JOIN KuwasysClassCategories cu ON cu.ID = cic.categoryId
			WHERE  uicc.statusId = (SELECT ID FROM KuwasysUsersInClassStatuses WHERE KuwasysUsersInClassStatuses.name="active")
				AND uigs.schoolyearId = @activeSchoolyear
				AND c.schoolyearId = @activeSchoolyear;';
        try {
            $data = TableMng::query($query);
        } catch (Exception $e) {
            self::$_interface->dieError('Konnte die benötigten Daten nicht abrufen. Fehler:' . $e->getMessage());
        }
        return $data;
    }
    protected static function dataFetch($userIds)
    {
        $query = 'SELECT
				CONCAT(u.forename, " ", u.name) AS userFullname, u.ID as userId, uic.statusId AS statusId,
				sy.label AS schoolyear,
				c.label AS classLabel,
				cu.name AS unitName, cu.translatedName AS unitTranslatedName,
				uics.translatedName AS statusTranslatedName,
				CONCAT(g.gradelevel, g.label) AS gradeName,
				IF(c.ID, CONCAT(u.ID, "-", c.ID), CONCAT(u.ID, "-")) AS grouper
			FROM SystemUsers u
				JOIN SystemAttendances uigs ON uigs.userId = u.ID
				JOIN SystemSchoolyears sy ON sy.ID = uigs.SchoolYearID
				JOIN KuwasysTemporaryRequestsAssign uic
					ON u.ID = uic.userId AND (
						uic.statusId = 1 OR uic.statusId = 0
					)
				LEFT JOIN KuwasysUsersInClassStatuses uics ON uics.ID = uic.statusId
				LEFT JOIN KuwasysClasses c ON c.ID = uic.classId AND c.schoolyearId = @activeSchoolyear
				LEFT JOIN SystemGrades g ON g.ID = uigs.gradeId
				LEFT JOIN KuwasysClassCategories cu ON c.unitId = cu.ID
			WHERE uigs.schoolyearId = @activeSchoolyear
			GROUP BY grouper
			;';
        try {
            $data = TableMng::query($query);
        } catch (MySQLVoidDataException $e) {
            self::$_interface->dieError('Es wurden keine Schüler gefunden, für die man die Dokumente hätte erstellen können');
        } catch (Exception $e) {
            self::$_interface->dieError('konnte die Daten der Schüler nicht abrufen' . $e->getMessage());
        }
        return $data;
    }
Пример #3
0
 /**
  *
  */
 public function GetSumOfCardChanges()
 {
     require_once PATH_INCLUDE . '/TableMng.php';
     TableMng::init();
     $temp = TableMng::query('SELECT SUM(changed_cardID) FROM BabeskCards');
     return $temp[0]["SUM(changed_cardID)"];
 }
    protected function dataFetch()
    {
        TableMng::query('SET @activeSy := (SELECT ID FROM SystemSchoolyears WHERE active = "1");');
        $this->_data = TableMng::query('SELECT st.ID AS schooltypeId, st.token AS schooltypeToken,
			g.gradelevel, userChosen.classesChosen, COUNT(*) AS userCount
			FROM SystemGrades g
				-- SystemSchooltypes (optional, splits gradelevels in schooltypes if
				-- needed)
				LEFT JOIN SystemSchooltypes st ON g.schooltypeId = st.ID
				-- Fetch how many classes the user has chosen
				INNER JOIN (
					SELECT COUNT(*) AS classesChosen, uigs.gradeId AS gradeId
					FROM SystemAttendances uigs
						INNER JOIN KuwasysUsersInClassesAndCategories uicc
							ON uigs.userId = uicc.UserID
						INNER JOIN KuwasysClasses c
							ON c.ID = uicc.ClassID
							AND c.isOptional = 0
						-- Check for interesting status
						INNER JOIN (
							SELECT ID
							FROM KuwasysUsersInClassStatuses
							WHERE name="active"
							) status ON status.ID = uicc.statusId
					WHERE uigs.schoolyearId = @activeSchoolyear
					GROUP BY uicc.UserID
					) userChosen ON userChosen.gradeId = g.ID
			GROUP BY st.ID, g.gradelevel, userChosen.classesChosen');
    }
Пример #5
0
 public function execute($dataContainer)
 {
     //no direct access
     defined('_AEXEC') or die("Access denied");
     require_once 'AdminCardInfoProcessing.php';
     require_once 'AdminCardInfoInterface.php';
     $interface = $dataContainer->getInterface();
     $cardInfoInterface = new AdminCardInfoInterface($this->relPath);
     $cardInfoProcessing = new AdminCardInfoProcessing($cardInfoInterface);
     if ('POST' == $_SERVER['REQUEST_METHOD'] && isset($_POST['card_ID'])) {
         $uid = $cardInfoProcessing->CheckCard($_POST['card_ID']);
         $userData = $cardInfoProcessing->GetUserData($uid);
         $cardInfoInterface->ShowCardInfo($userData, $_POST['card_ID']);
     } else {
         if (isset($_GET['lostcard'])) {
             TableMng::query(sprintf("UPDATE BabeskCards SET lost=1 WHERE cardnumber = '%s'", $_GET['lostcard']));
             $interface->dieMsg("Karte wurde verloren gemeldet!");
             $uid = $cardInfoProcessing->CheckCard($_GET['lostcard']);
             $userData = $cardInfoProcessing->GetUserData($uid);
             $cardInfoInterface->ShowCardInfo($userData, $_GET['lostcard']);
         } else {
             $cardInfoInterface->CardId();
         }
     }
 }
Пример #6
0
    /**
     * Fetches the appropriate Userdata neede to Display all of them
     *
     * This function gets invoked by an Javascript-Script. It parses the data
     * and fetches userdata in one Query. It sends JSON-encoded data back.
     *
     * @uses  $_POST['pagenumber'] The pagenumber to be displayed
     * @uses  $_POST['usersPerPage'] How many Users are displayed per Page
     * @uses  $_POST['sortFor'] What column should be sorted
     * @uses  $_POST['filterForCol'] What Column should be filtered
     * @uses  $_POST['filterForVal'] The value to filter for
     */
    public function fetchUsersOrganized()
    {
        $pagenumber = $_POST['pagenumber'];
        $usersPerPage = $_POST['usersPerPage'];
        $sortFor = $_POST['sortFor'];
        $filterForVal = $_POST['filterForVal'];
        $toEscape = array(&$pagenumber, &$usersPerPage, &$sortFor, &$filterForVal);
        TableMng::sqlEscapeByArray($toEscape);
        $userToStart = ($pagenumber - 1) * $usersPerPage;
        if (empty($_POST['columnsToFetch'])) {
            $columnsToFetch = array();
        } else {
            $columnsToFetch = $_POST['columnsToFetch'];
            foreach ($columnsToFetch as &$col) {
                TableMng::sqlEscape($col);
            }
        }
        $filterForColumns = array();
        if (!empty($_POST['filterForColumns'])) {
            foreach ($_POST['filterForColumns'] as &$col) {
                TableMng::sqlEscape($col);
            }
            $filterForColumns = $_POST['filterForColumns'];
        }
        //When joining multiple tables, we have multiple IDs
        if ($filterForVal == 'ID') {
            $filterForVal = 'u.ID';
        }
        //When user didnt select anything to sort For, default to Id
        if (empty($sortFor)) {
            $sortFor = 'ID';
        }
        //Set the method of sorting
        $sortMethod = $_POST['sortMethod'] == 'ASC' ? 'ASC' : 'DESC';
        try {
            $queryCreator = new UserDisplayAllQueryCreator($this->_pdo, $filterForColumns, $sortFor, $sortMethod, $userToStart, $usersPerPage);
            $query = $queryCreator->createQuery($columnsToFetch, $sortFor, $filterForVal);
            $countQuery = $queryCreator->createCountOfQuery($columnsToFetch, $sortFor, $filterForVal);
            // var_dump($query);
            // die();
            //Fetch the Userdata
            TableMng::query('SET @activeSy :=
				(SELECT ID FROM SystemSchoolyears WHERE active = "1");');
            $data = TableMng::query($query);
            $usercount = TableMng::query($countQuery);
            // No division by zero, never show zero sites
            if ($usersPerPage != 0 && $usercount[0]['count'] > 0) {
                $pagecount = ceil((int) $usercount[0]['count'] / (int) $usersPerPage);
            } else {
                $pagecount = 1;
            }
            $data = $this->fetchedDataToReadable($data, $columnsToFetch);
        } catch (Exception $e) {
            $this->_logger->log('Error processing the data', 'Error', Null, json_encode(array('msg' => $e->getMessage())));
            die(json_encode(array('value' => 'error', 'message' => 'Ein Fehler ist bei der Datenverarbeitung ' . 'aufgetreten.')));
        }
        die(json_encode(array('value' => 'data', 'users' => $data, 'pagecount' => $pagecount)));
    }
Пример #7
0
    /**
     * Fetches all Messages in the Database
     *
     * @return array() an array of Messages, each represented by an array
     * or a void array if nothing could be fetched / an error occured
     */
    protected function messageFetchAll()
    {
        try {
            $data = TableMng::query('SELECT * FROM MessageMessages');
        } catch (MySQLVoidDataException $e) {
            return array();
        } catch (Exception $e) {
            $this->_interface->showError('Konnte die Nachrichten nicht
				abrufen');
            return array();
        }
        return $data;
    }
Пример #8
0
    /**
     * Fetches a date-modifier indicating when the Orders are canceable
     *
     * @return string The Date
     */
    protected function lastOrdercancelDatemodGet()
    {
        try {
            $data = TableMng::query('SELECT * FROM SystemGlobalSettings
				WHERE name = "ordercancelEnddate"');
        } catch (Exception $e) {
            $this->_interface->dieError('Error fetching ordercancelEnddate!');
        }
        if (count($data)) {
            return $data[0]['value'];
        } else {
            $this->_interface->dieError('ordercancelEnddate ist nicht gesetzt! Administrator verständigen.');
        }
    }
Пример #9
0
    /**
     * Returns some generic user data for identifying a card
     */
    public function GetUserData($uid)
    {
        try {
            $data = TableMng::query(sprintf('SELECT u.*,
				(SELECT CONCAT(g.gradelevel, g.label) AS class
					FROM SystemAttendances uigs
					LEFT JOIN SystemGrades g ON uigs.gradeId = g.ID
					WHERE uigs.userId = u.ID AND
						uigs.schoolyearId = @activeSchoolyear) AS class
				FROM SystemUsers u WHERE ID = %s', $uid));
        } catch (MySQLVoidDataException $e) {
            $this->cardInfoInterface->dieError('Der Benutzer wurde nicht gefunden');
        } catch (Exception $e) {
            $this->cardInfoInterface->dieError('Der Benutzer konnte nicht von der Datenbanke abgerufen werden!');
        }
        return $data[0];
    }
    protected static function dataFetch($gradeId, $userIds)
    {
        $whereQuery = '';
        foreach ($userIds as $uid) {
            $whereQuery .= sprintf('u.ID = %s OR ', $uid);
        }
        $whereQuery = rtrim($whereQuery, 'OR ');
        $query = sprintf('SELECT
				CONCAT(u.forename, " ", u.name) AS userFullname, u.ID as userId,
				sy.label AS schoolyear,
				c.label AS classLabel,
				cu.name AS unitName, cu.translatedName AS unitTranslatedName,
				uics.translatedName AS statusTranslatedName,
				CONCAT(g.gradelevel, g.label) AS gradeName,
				IF(
					c.ID, CONCAT(u.ID, "-", c.ID, "-", cu.ID),
					CONCAT(u.ID, "-")
				) AS grouper
			FROM SystemUsers u
				INNER JOIN SystemAttendances uigs
					ON uigs.userId = u.ID
				INNER JOIN SystemSchoolyears sy ON sy.ID = uigs.schoolyearId
				INNER JOIN KuwasysUsersInClassesAndCategories uicc
					ON u.ID = uicc.UserID
				LEFT JOIN KuwasysUsersInClassStatuses uics ON uics.ID = uicc.statusId
				LEFT JOIN KuwasysClasses c
					ON c.ID = uicc.ClassID
					AND c.schoolyearId = @activeSchoolyear
				LEFT JOIN KuwasysClassesInCategories cic ON cic.classId = c.ID
				LEFT JOIN SystemGrades g ON g.ID = uigs.gradeId
				LEFT JOIN KuwasysClassCategories cu ON cic.categoryId = cu.ID
			WHERE uigs.schoolyearId = @activeSchoolyear
				AND (uics.ID IS NULL OR uics.name = "active")
				AND (uicc.UserID IS NULL OR uicc.categoryId = cic.categoryId)
				GROUP BY grouper
				ORDER BY g.gradelevel, g.label, cu.ID
			;', $gradeId);
        try {
            $data = TableMng::query($query);
        } catch (MySQLVoidDataException $e) {
            self::$_interface->dieError('Es wurden keine Schüler gefunden, für die man die Dokumente hätte erstellen können');
        } catch (Exception $e) {
            self::$_interface->dieError('konnte die Daten der Schüler nicht abrufen' . $e->getMessage());
        }
        return $data;
    }
Пример #11
0
    /**
     * Generates the executePath from the module name and gets the module ID.
     * Result is stored in adminBookmarks
     * @todo: Works with one sublevel only. Have to extend it... (count the pipes, make things relative to that...)
     * @todo: 4 bookmarks possible atm. more?
     * @todo: no drag&drop sortable for bookmark list
     */
    protected function saveBookmark()
    {
        if (!isset($_POST['moduleId'])) {
            die('error');
        }
        try {
            TableMng::query("update SystemAdminBookmarks set bmid = '0' WHERE bmid='1' AND uid=" . $_SESSION['UID']);
            TableMng::query("update SystemAdminBookmarks set bmid = '1' WHERE bmid='2' AND uid=" . $_SESSION['UID']);
            TableMng::query("update SystemAdminBookmarks set bmid = '2' WHERE bmid='3' AND uid=" . $_SESSION['UID']);
            TableMng::query("update SystemAdminBookmarks set bmid = '3' WHERE bmid='4' AND uid=" . $_SESSION['UID']);
            $stmt = $this->_pdo->prepare('INSERT INTO SystemAdminBookmarks
				(uid, bmid, mid) VALUES (?, "4", ?)');
            $stmt->execute(array($_SESSION['UID'], $_POST['moduleId']));
            TableMng::query("delete from SystemAdminBookmarks WHERE bmid = '0' AND uid=" . $_SESSION['UID']);
        } catch (Exception $e) {
            $this->_logger->log('Could not add a bookmark', 'Notice', Null, json_encode(array('msg' => $e->getMessage())));
            die('error');
        }
    }
    protected function dataFetch()
    {
        $this->_gradeData = TableMng::query('SELECT COUNT(uicc.ID) AS gradelevelCount, gradelevel AS gradelevel
			FROM SystemGrades g
				INNER JOIN SystemAttendances uigs
					ON g.ID = uigs.gradeId
					AND uigs.schoolyearId = @activeSchoolyear
				INNER JOIN KuwasysUsersInClassesAndCategories uicc ON uicc.UserID = uigs.userId
				INNER JOIN KuwasysClasses c ON c.ID = uicc.ClassID
					AND c.schoolyearId = @activeSchoolyear
					AND c.isOptional = 0
				INNER JOIN (
						SELECT ID
						FROM KuwasysUsersInClassStatuses
						WHERE name="active"
					) status ON status.ID = uicc.statusId
				GROUP BY g.gradelevel
			');
    }
    protected function dataFetch()
    {
        $this->_gradeData = TableMng::query('SELECT COUNT(*) AS gradeCount, CONCAT(g.gradelevel, "-", g.label) AS gradeName
			FROM SystemGrades g
				INNER JOIN SystemAttendances uigs ON uigs.gradeId = g.ID
					AND uigs.schoolyearId = @activeSchoolyear
				INNER JOIN KuwasysUsersInClassesAndCategories uicc
					ON uicc.statusId = (
						SELECT ID
						FROM KuwasysUsersInClassStatuses
						WHERE name="active"
				) AND uicc.userId = uigs.userId
				INNER JOIN KuwasysClasses c ON c.ID = uicc.ClassID
					AND c.schoolyearId = @activeSchoolyear
					AND c.isOptional = 0
				GROUP BY g.ID
				ORDER BY g.gradelevel, g.label
			');
    }
    protected function dataFetch()
    {
        $this->_schoolyearData = TableMng::query('SELECT COUNT(*) AS userCount, uniqueUsersPerSchoolyear.id AS id,
			uniqueUsersPerSchoolyear.label AS label
			FROM
			(SELECT sy.ID AS id, uicc.UserID as userId, sy.label AS label
				FROM SystemSchoolyears sy
				INNER JOIN KuwasysUsersInClassesAndCategories uicc
				INNER JOIN KuwasysClasses c ON c.ID = uicc.ClassID
					AND c.schoolyearId = sy.ID
					AND c.isOptional = 0
				WHERE
					uicc.statusId = (
						SELECT ID FROM KuwasysUsersInClassStatuses uics
						WHERE name = "active"
					)
				GROUP BY uicc.userId, sy.ID
				) uniqueUsersPerSchoolyear
			GROUP BY uniqueUsersPerSchoolyear.id');
    }
    protected function dataFetch()
    {
        $this->_schoolyearData = TableMng::query('SELECT COUNT(*) AS classCount, sy.ID AS id, sy.label AS label
			FROM SystemGrades g
				INNER JOIN SystemAttendances uigs
					ON g.ID = uigs.gradeId
				INNER JOIN KuwasysUsersInClassesAndCategories uicc
					ON uicc.UserID = uigs.userId
				INNER JOIN SystemSchoolyears sy
				INNER JOIN KuwasysClasses c ON c.ID = uicc.ClassID
					AND c.schoolyearId = sy.ID
					AND c.isOptional = 0
				INNER JOIN (
						SELECT ID
						FROM KuwasysUsersInClassStatuses
						WHERE name="active"
					) status ON status.ID = uicc.statusId
				GROUP BY sy.ID
			');
    }
Пример #16
0
 /**
  * Fetches the rights as an Array from the Database
  *
  * @param  int $groupId The Group-ID of the Rights
  * @return Array The Rights that were returned from the Server
  */
 protected function modulesFetchRightsFetch($groupId)
 {
     try {
         $rights = TableMng::query("SELECT * FROM SystemGroupModuleRights\n\t\t\t\tWHERE `groupId` = '{$groupId}'");
     } catch (Exception $e) {
         die(json_encode(array('value' => 'error', 'message' => 'Konnte die Rechte nicht abrufen')));
     }
     return $rights;
 }
Пример #17
0
    /**
     * Changes the global Setting messageEditGroupId to the $newGroupId
     *
     * dies when error occured while changing the group
     *
     * @param  int $newGroupId the Id of the new group thats allowed to edit
     * Messages
     */
    protected function authorGroupChangeCommit($newGroupId)
    {
        try {
            TableMng::query(sprintf('UPDATE SystemGlobalSettings
				SET `value` = "%s"
				WHERE `name` = "messageEditGroupId"', $newGroupId));
            if (TableMng::getDb()->affected_rows == 0) {
                TableMng::query(sprintf('INSERT INTO SystemGlobalSettings (`value`, `name`)
					VALUES ("%s", "messageEditGroupId")', $newGroupId));
            }
        } catch (Exception $e) {
            $this->_interface->dieError('Konnte die Gruppe nicht verändern');
        }
    }
Пример #18
0
 /**
  * Fetches all Schoolyears and returns them
  *
  * @return array  The fetched Schoolyears
  */
 private function schoolyearsGetAll()
 {
     $schoolyears = TableMng::query('SELECT * FROM SystemSchoolyears');
     return $schoolyears;
 }
Пример #19
0
 /**
  * Fetches all Meals that are between the two dates
  *
  * @param  string $startdate The startdate to search for teh meals
  * @param  string $enddate   The enddate to search for the meals
  * @return Array The fetched Meals
  */
 protected function mealsAllGetBetween($startdate, $enddate)
 {
     try {
         $meals = TableMng::query("SELECT m.*, pc.price AS price\n\t\t\t\tFROM BabeskMeals m\n\t\t\t\tJOIN SystemUsers u ON u.ID = {$_SESSION['uid']}\n\t\t\t\tJOIN BabeskPriceClasses pc\n\t\t\t\t\tON m.price_class = pc.pc_ID AND pc.GID = u.GID\n\t\t\t\tWHERE date BETWEEN '{$startdate}' AND '{$enddate}'\n\t\t\t\t\tORDER BY date, price_class");
     } catch (Exception $e) {
         throw new Exception('Konnte die Mahlzeiten nicht abrufen!', 0, $e);
     }
     return $meals;
 }
Пример #20
0
 /**
  * check for new mail
  */
 private function checkForMail()
 {
     try {
         $mailcount = TableMng::query(sprintf("SELECT COUNT(*) AS count\n\t\t\t\tFROM MessageReceivers mr\n\t\t\t\tLEFT JOIN MessageMessages m ON mr.messageId = m.ID\n\t\t\t\tWHERE %s = userId\n\t\t\t\t\tAND SYSDATE() BETWEEN m.validFrom AND m.validTo\n\t\t\t\t\tAND mr.read = 0", $_SESSION['uid']));
     } catch (MySQLVoidDataException $e) {
         return;
         //no new mails found
     } catch (Exception $e) {
         return;
         //No Emails found, maybe the tables do not exist
     }
     if ($mailcount[0]['count'] > 0) {
         $this->_smarty->assign('newmail', true);
     }
 }
Пример #21
0
    /**
     * Fetches the Price that soli-users should pay when ordering meals
     *
     * Saves it into the protected variable $_soliprice
     */
    protected static function solipriceFetch()
    {
        try {
            $res = TableMng::query('SELECT value FROM SystemGlobalSettings
				WHERE name = "soli_price"');
        } catch (Exception $e) {
            throw new Exception('Could not fetch the soliprice');
        }
        self::$_soliprice = $res[0]['value'];
    }
Пример #22
0
    public function fetchUserDetails($userId)
    {
        $userDetails = TableMng::query(sprintf('SELECT u.*,
			(SELECT CONCAT(g.gradelevel, g.label) AS class
					FROM SystemAttendances uigs
					LEFT JOIN SystemGrades g ON uigs.gradeId = g.ID
					WHERE uigs.userId = u.ID AND
						uigs.schoolyearId = @activeSchoolyear) AS class
			FROM SystemUsers u WHERE `ID` = %s', $userId));
        return $userDetails[0];
    }
Пример #23
0
    /**
     * Fetches the messages directed towards this user
     *
     * @return array() an array of array-elements describing the messages
     */
    private function fetchReceivedMessages()
    {
        $messages = array();
        $query = sprintf('SELECT m.id AS ID,m.title AS title,m.validFrom AS validFrom,
			m.validTo AS validTo, mr.return AS "return", m.GID as GID
			FROM MessageMessages m
			JOIN MessageReceivers mr ON mr.userId = %s
				AND m.ID = mr.messageId
			WHERE SYSDATE() BETWEEN m.validFrom AND m.validTo
			', $_SESSION['uid']);
        try {
            $messages = TableMng::query($query);
        } catch (MySQLVoidDataException $e) {
            $this->_smarty->assign('error', 'Keine Post vorhanden!');
        } catch (Exception $e) {
            $this->_interface->DieError(sprintf('Konnte die Post nicht abrufen! %s', $e->getMessage()));
        }
        return $messages;
    }
Пример #24
0
 private function rebmemer2()
 {
     // REBMEMER IS REMEMBER BACKWARDS, BECAUSE IT DOES THE OPPOSITE (and i like it... ;P)
     if (!isset($_GET['class'])) {
         die("ERROR: No Class selected.");
     } else {
         $classId = $_GET['class'];
         $classNamelabel = TableMng::query("SELECT label FROM SystemGrades WHERE ID='{$classId}'");
         $classNamelabel = $classNamelabel[0]["label"];
         $classNamelevel = TableMng::query("SELECT gradelevel FROM SystemGrades WHERE ID='{$classId}'");
         $classNamelevel = $classNamelevel[0]["gradelevel"];
         $className = "{$classNamelevel}{$classNamelabel}";
         $studentIDs = $this->getStudentIDsOfClass($classId);
         $nrOfStudentIDs = count($studentIDs);
         // excluded from for loop to increase speed.... (dont like it? channge it...)
         $name = $forename = $books = [];
         foreach ($studentIDs as $userId) {
             $user = $this->_em->getReference('DM:SystemUsers', $userId);
             $name[] = $this->getNameOfStudentId($userId);
             $forename[] = $this->getForenameOfStudentId($userId);
             $books[] = $this->_loanHelper->loanBooksOfUserGet($user);
         }
         $listOfClasses = $this->getListOfClasses("rebmemer2");
     }
     $this->SchbasAccountingInterface->showRebmemerList2($name, $forename, $books, $nrOfStudentIDs - 1, $className, $listOfClasses);
 }
Пример #25
0
    protected function infotextsFetch()
    {
        $data = TableMng::query('SELECT * FROM SystemGlobalSettings
			WHERE name = "menu_text1" OR name = "menu_text2"');
        if (count($data) == 2) {
            foreach ($data as $infotext) {
                if ($infotext['name'] == 'menu_text1') {
                    $this->_infotext1 = $infotext['value'];
                } else {
                    $this->_infotext2 = $infotext['value'];
                }
            }
        } else {
            throw new Exception('Could not fetch Infotexts');
        }
    }
Пример #26
0
 /**
  * Deletes the Order-Entry (and SoliOrder-Entry) in the Db
  *
  * @param  int $orderId The ID of the Order to delete
  */
 protected function orderDbEntryDelete($orderId)
 {
     TableMng::query("DELETE FROM BabeskOrders WHERE ID = {$orderId}");
     if ($this->_isSoli) {
         TableMng::query("DELETE FROM BabeskSoliOrders WHERE ID = {$orderId}");
     }
 }
Пример #27
0
    /**
     * Deletes a Template from the Database
     *
     * Dies if an Error occured in the Process
     *
     * @param  int $id the ID of the Template to delete
     */
    protected function templateDeleteFromDb($id)
    {
        try {
            TableMng::query(sprintf('DELETE FROM MessageTemplate
				WHERE `ID` = %s', $id));
        } catch (Exception $e) {
            $this->_interface->dieError('Konnte die Nachricht nicht löschen');
        }
    }
Пример #28
0
    protected function isEnabledUpdateEntry($isEnabled)
    {
        $ie = $isEnabled ? '1' : '0';
        try {
            TableMng::query(sprintf('UPDATE SystemGlobalSettings SET value = "%s"
							WHERE name = "schooltypeEnabled"', $ie));
        } catch (Exception $e) {
            $this->_interface->dieError('Konnte die Schultypen nicht
				(de-)aktivieren');
        }
    }
Пример #29
0
 protected function groupsGetAllWithCheckIsUserIn($userId)
 {
     $groups = TableMng::query("SELECT ID, name,\n\t\t\t(SELECT COUNT(*) AS count FROM SystemUsersInGroups uig\n\t\t\t\tWHERE g.ID = uig.groupId AND uig.userId = {$userId})\n\t\t\t\t\tAS isUserIn\n\t\t\tFROM SystemGroups g");
     return $groups;
 }
Пример #30
0
 /**
  * Removes Expired Temporary files
  * @return int The count of removed Entries
  */
 protected static function removeExpired()
 {
     $now = self::toDatetime(time());
     $oldEntries = TableMng::query("SELECT * FROM SystemTemporaryFiles WHERE until < '{$now}'");
     $deletedEntries = 0;
     if (count($oldEntries)) {
         foreach ($oldEntries as $entry) {
             $temp = TemporaryFile::load($entry['ID']);
             $temp->remove();
             $deletedEntries += 1;
         }
     }
     return $deletedEntries;
 }