aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorJan-Hendrik Willms <tleilax+studip@gmail.com>2023-10-02 09:26:54 +0000
committerJan-Hendrik Willms <tleilax+studip@gmail.com>2023-10-02 09:26:54 +0000
commiteb19fa6a076a8d211cd483afb01eeda6172d27e4 (patch)
tree3eb6355b6918ceb0e2c9978cb5d98cb9f4458640 /lib
parentfe64b827e2e503085c6f596eeed08d6ece36624b (diff)
fixes #3225
Closes #3225 Merge request studip/studip!2186
Diffstat (limited to 'lib')
-rw-r--r--lib/models/Abschluss.php21
-rw-r--r--lib/models/AbschlussKategorie.php20
-rw-r--r--lib/models/AbschlussZuord.php11
-rw-r--r--lib/models/AdmissionApplication.class.php35
-rw-r--r--lib/models/AdmissionRuleCompatibility.php9
-rw-r--r--lib/models/ArchivedCourse.class.php42
-rw-r--r--lib/models/ArchivedCourseMember.class.php12
-rw-r--r--lib/models/Aufbaustudiengang.php13
-rw-r--r--lib/models/AuthUserMd5.class.php28
-rw-r--r--lib/models/AuxLockRule.php19
-rw-r--r--lib/models/Banner.class.php29
-rw-r--r--lib/models/BannerRoles.class.php6
-rw-r--r--lib/models/BlubberComment.php13
-rw-r--r--lib/models/BlubberGlobalThread.php21
-rw-r--r--lib/models/BlubberMention.php9
-rw-r--r--lib/models/BlubberStatusgruppeThread.php22
-rw-r--r--lib/models/BlubberThread.php20
-rw-r--r--lib/models/CacheType.php11
-rw-r--r--lib/models/CalendarEvent.class.php33
-rw-r--r--lib/models/CalendarUser.class.php11
-rw-r--r--lib/models/Clipboard.class.php46
-rw-r--r--lib/models/ClipboardItem.class.php27
-rw-r--r--lib/models/ColourValue.class.php30
-rw-r--r--lib/models/ConfigEntry.class.php18
-rw-r--r--lib/models/ConfigValue.php17
-rw-r--r--lib/models/ConsultationBlock.php31
-rw-r--r--lib/models/ConsultationBooking.php21
-rw-r--r--lib/models/ConsultationEvent.php14
-rw-r--r--lib/models/ConsultationResponsibility.php11
-rw-r--r--lib/models/ConsultationSlot.php27
-rw-r--r--lib/models/Contact.class.php17
-rw-r--r--lib/models/ContentTermsOfUse.class.php39
-rw-r--r--lib/models/Course.class.php123
-rw-r--r--lib/models/CourseCancelledEvent.class.php38
-rw-r--r--lib/models/CourseDate.class.php43
-rw-r--r--lib/models/CourseEvent.class.php36
-rw-r--r--lib/models/CourseExDate.class.php41
-rw-r--r--lib/models/CourseMarkedEvent.class.php36
-rw-r--r--lib/models/CourseMember.class.php43
-rw-r--r--lib/models/CourseMemberNotification.php19
-rw-r--r--lib/models/CourseTopic.class.php28
-rw-r--r--lib/models/CourseWizardStepRegistry.php10
-rw-r--r--lib/models/Courseware/Block.php42
-rw-r--r--lib/models/Courseware/BlockComment.php16
-rw-r--r--lib/models/Courseware/BlockFeedback.php16
-rw-r--r--lib/models/Courseware/Bookmark.php14
-rw-r--r--lib/models/Courseware/Certificate.php11
-rw-r--r--lib/models/Courseware/Container.php41
-rw-r--r--lib/models/Courseware/PublicLink.php15
-rw-r--r--lib/models/Courseware/StructuralElement.php90
-rw-r--r--lib/models/Courseware/StructuralElementComment.php16
-rw-r--r--lib/models/Courseware/StructuralElementFeedback.php16
-rw-r--r--lib/models/Courseware/Task.php20
-rw-r--r--lib/models/Courseware/TaskFeedback.php18
-rw-r--r--lib/models/Courseware/TaskGroup.php24
-rw-r--r--lib/models/Courseware/Template.php15
-rw-r--r--lib/models/Courseware/Unit.php36
-rw-r--r--lib/models/Courseware/UserDataField.php20
-rw-r--r--lib/models/Courseware/UserProgress.php16
-rw-r--r--lib/models/CronjobLog.class.php18
-rw-r--r--lib/models/CronjobSchedule.class.php44
-rw-r--r--lib/models/CronjobTask.class.php25
-rw-r--r--lib/models/DataField.class.php40
-rw-r--r--lib/models/DatafieldEntryModel.class.php19
-rw-r--r--lib/models/DatafieldEntryModelI18N.class.php19
-rw-r--r--lib/models/Degree.class.php17
-rw-r--r--lib/models/Deputy.php28
-rw-r--r--lib/models/EventData.class.php32
-rw-r--r--lib/models/ExternalUser.php14
-rw-r--r--lib/models/Fach.php21
-rw-r--r--lib/models/FachFachbereich.php13
-rw-r--r--lib/models/Fachbereich.php21
-rw-r--r--lib/models/FeedbackElement.php37
-rw-r--r--lib/models/FeedbackEntry.php7
-rw-r--r--lib/models/File.php31
-rw-r--r--lib/models/FileRef.php37
-rw-r--r--lib/models/Folder.php33
-rw-r--r--lib/models/ForumCat.php6
-rw-r--r--lib/models/Freetext.php15
-rw-r--r--lib/models/Grading/Definition.php16
-rw-r--r--lib/models/Grading/Instance.php13
-rw-r--r--lib/models/HelpContent.class.php18
-rw-r--r--lib/models/HelpTour.class.php15
-rw-r--r--lib/models/HelpTourAudience.class.php12
-rw-r--r--lib/models/HelpTourSettings.class.php12
-rw-r--r--lib/models/HelpTourStep.class.php14
-rw-r--r--lib/models/HelpTourUser.class.php12
-rw-r--r--lib/models/Institute.class.php57
-rw-r--r--lib/models/InstituteMember.class.php45
-rw-r--r--lib/models/InstitutePlanColumn.class.php14
-rw-r--r--lib/models/Kategorie.class.php9
-rw-r--r--lib/models/License.php14
-rw-r--r--lib/models/LikertScale.php15
-rw-r--r--lib/models/LockRule.class.php20
-rw-r--r--lib/models/LogAction.php25
-rw-r--r--lib/models/LogEvent.php23
-rw-r--r--lib/models/LoginBackground.class.php13
-rw-r--r--lib/models/LtiData.php16
-rw-r--r--lib/models/LtiGrade.php9
-rw-r--r--lib/models/LtiTool.php14
-rw-r--r--lib/models/Lvgruppe.php16
-rw-r--r--lib/models/LvgruppeModulteil.php13
-rw-r--r--lib/models/LvgruppeSeminar.php10
-rw-r--r--lib/models/MailQueueEntry.class.php21
-rw-r--r--lib/models/Message.class.php25
-rw-r--r--lib/models/MessageUser.class.php21
-rw-r--r--lib/models/Modul.php43
-rw-r--r--lib/models/ModulDeskriptor.php28
-rw-r--r--lib/models/ModulInst.php12
-rw-r--r--lib/models/ModulLanguage.php11
-rw-r--r--lib/models/Modulteil.php32
-rw-r--r--lib/models/ModulteilDeskriptor.php21
-rw-r--r--lib/models/ModulteilLanguage.php11
-rw-r--r--lib/models/ModulteilStgteilabschnitt.php12
-rw-r--r--lib/models/MvvContact.php12
-rw-r--r--lib/models/MvvContactRange.php34
-rw-r--r--lib/models/MvvCourse.php37
-rw-r--r--lib/models/MvvExternContact.php13
-rw-r--r--lib/models/MvvFile.php15
-rw-r--r--lib/models/MvvFileFileref.php14
-rw-r--r--lib/models/MvvFileRange.php11
-rw-r--r--lib/models/MvvOverlappingConflict.class.php23
-rw-r--r--lib/models/MvvOverlappingExclude.php8
-rw-r--r--lib/models/MvvOverlappingSelection.class.php17
-rw-r--r--lib/models/NewsRange.class.php18
-rw-r--r--lib/models/NewsRoles.class.php6
-rw-r--r--lib/models/OERDownloadcounter.php10
-rw-r--r--lib/models/OERHost.php17
-rw-r--r--lib/models/OERHostOERSI.php17
-rw-r--r--lib/models/OERMaterial.php64
-rw-r--r--lib/models/OERMaterialUser.php13
-rw-r--r--lib/models/OERPostUpload.php13
-rw-r--r--lib/models/OERReview.php23
-rw-r--r--lib/models/OERTag.php7
-rw-r--r--lib/models/ObjectUserVisit.php15
-rw-r--r--lib/models/OpenGraphURL.class.php27
-rw-r--r--lib/models/PersonalNotifications.class.php16
-rw-r--r--lib/models/PersonalNotificationsUser.php9
-rw-r--r--lib/models/Plugin.php27
-rw-r--r--lib/models/PluginAsset.php10
-rw-r--r--lib/models/Questionnaire.php34
-rw-r--r--lib/models/QuestionnaireAnonymousAnswer.php11
-rw-r--r--lib/models/QuestionnaireAnswer.php15
-rw-r--r--lib/models/QuestionnaireAssignment.php13
-rw-r--r--lib/models/QuestionnaireInfo.php15
-rw-r--r--lib/models/QuestionnaireQuestion.php17
-rw-r--r--lib/models/RangeScale.php15
-rw-r--r--lib/models/RangeTreeNode.php20
-rw-r--r--lib/models/Semester.class.php33
-rw-r--r--lib/models/SemesterCourse.class.php16
-rw-r--r--lib/models/SemesterHoliday.class.php17
-rw-r--r--lib/models/SeminarCycleDate.class.php46
-rw-r--r--lib/models/StatusgruppeUser.php24
-rw-r--r--lib/models/Statusgruppen.php47
-rw-r--r--lib/models/StgteilAbschnitt.php18
-rw-r--r--lib/models/StgteilBezeichnung.php12
-rw-r--r--lib/models/StgteilVersion.php23
-rw-r--r--lib/models/StgteilabschnittModul.php15
-rw-r--r--lib/models/StockImage.php25
-rw-r--r--lib/models/Studiengang.php44
-rw-r--r--lib/models/StudiengangStgteil.php16
-rw-r--r--lib/models/StudiengangTeil.php20
-rw-r--r--lib/models/StudipCacheOperation.php7
-rw-r--r--lib/models/StudipComment.class.php16
-rw-r--r--lib/models/StudipEvaluation.php33
-rw-r--r--lib/models/StudipNews.class.php33
-rw-r--r--lib/models/StudipScmEntry.class.php22
-rw-r--r--lib/models/StudipStudyArea.class.php24
-rw-r--r--lib/models/StudyCourse.class.php18
-rw-r--r--lib/models/StudycourseLanguage.php12
-rw-r--r--lib/models/StudycourseType.php9
-rw-r--r--lib/models/TFASecret.php19
-rw-r--r--lib/models/TFAToken.php5
-rw-r--r--lib/models/Token.php12
-rw-r--r--lib/models/ToolActivation.php19
-rw-r--r--lib/models/User.class.php107
-rw-r--r--lib/models/UserDomain.php9
-rw-r--r--lib/models/UserInfo.class.php46
-rw-r--r--lib/models/UserOnline.class.php6
-rw-r--r--lib/models/UserStudyCourse.class.php23
-rw-r--r--lib/models/Vote.php15
-rw-r--r--lib/models/WebserviceAccessRule.class.php14
-rw-r--r--lib/models/WikiPage.class.php23
-rw-r--r--lib/models/WikiPageConfig.php10
-rw-r--r--lib/models/eTask/Assignment.php33
-rw-r--r--lib/models/eTask/AssignmentRange.php17
-rw-r--r--lib/models/eTask/Attempt.php21
-rw-r--r--lib/models/eTask/ConfigureTrait.php14
-rw-r--r--lib/models/eTask/Response.php48
-rw-r--r--lib/models/eTask/Task.php37
-rw-r--r--lib/models/eTask/Test.php30
-rw-r--r--lib/models/eTask/TestTask.php22
-rw-r--r--lib/models/resources/BrokenResource.class.php39
-rw-r--r--lib/models/resources/Building.class.php43
-rw-r--r--lib/models/resources/GlobalResourceLock.class.php17
-rw-r--r--lib/models/resources/Location.class.php30
-rw-r--r--lib/models/resources/Resource.class.php57
-rw-r--r--lib/models/resources/ResourceBooking.class.php96
-rw-r--r--lib/models/resources/ResourceBookingInterval.class.php35
-rw-r--r--lib/models/resources/ResourceCategory.class.php12
-rw-r--r--lib/models/resources/ResourceCategoryProperty.class.php21
-rw-r--r--lib/models/resources/ResourceLabel.class.php41
-rw-r--r--lib/models/resources/ResourcePermission.class.php33
-rw-r--r--lib/models/resources/ResourceProperty.class.php22
-rw-r--r--lib/models/resources/ResourcePropertyDefinition.class.php28
-rw-r--r--lib/models/resources/ResourcePropertyGroup.class.php11
-rw-r--r--lib/models/resources/ResourceRequest.class.php149
-rw-r--r--lib/models/resources/ResourceRequestAppointment.class.php24
-rw-r--r--lib/models/resources/ResourceRequestProperty.class.php20
-rw-r--r--lib/models/resources/ResourceTemporaryPermission.class.php29
-rw-r--r--lib/models/resources/Room.class.php39
-rw-r--r--lib/models/resources/RoomRequest.class.php46
-rw-r--r--lib/models/resources/SeparableRoom.class.php14
-rw-r--r--lib/models/resources/SeparableRoomPart.class.php14
-rw-r--r--lib/raumzeit/SingleDate.class.php2
-rw-r--r--lib/resources/RoomManager.class.php14
216 files changed, 3351 insertions, 1826 deletions
diff --git a/lib/models/Abschluss.php b/lib/models/Abschluss.php
index a3299c8..2914342 100644
--- a/lib/models/Abschluss.php
+++ b/lib/models/Abschluss.php
@@ -12,6 +12,27 @@
* @license http://www.gnu.org/licenses/gpl-2.0.html GPL version 2
* @category Stud.IP
* @since 3.5
+ *
+ * @property string $id alias column for abschluss_id
+ * @property string $abschluss_id database column
+ * @property I18NString $name database column
+ * @property I18NString|null $name_kurz database column
+ * @property I18NString|null $beschreibung database column
+ * @property string $author_id database column
+ * @property string $editor_id database column
+ * @property int|null $mkdate database column
+ * @property int|null $chdate database column
+ * @property SimpleORMapCollection|Fach[] $faecher has_many Fach
+ * @property SimpleORMapCollection|Studiengang[] $studiengaenge has_many Studiengang
+ * @property AbschlussKategorie $category belongs_to AbschlussKategorie
+ * @property AbschlussZuord $category_assignment has_one AbschlussZuord
+ * @property SimpleORMapCollection|Fach[] $professions has_and_belongs_to_many Fach
+ * @property-read mixed $count_faecher additional field
+ * @property-read mixed $kategorie_name additional field
+ * @property-read mixed $kategorie_id additional field
+ * @property-read mixed $count_studiengaenge additional field
+ * @property-read mixed $count_objects additional field
+ * @property-read mixed $count_user additional field
*/
class Abschluss extends ModuleManagementModelTreeItem implements PrivacyObject
{
diff --git a/lib/models/AbschlussKategorie.php b/lib/models/AbschlussKategorie.php
index e605201..f434062 100644
--- a/lib/models/AbschlussKategorie.php
+++ b/lib/models/AbschlussKategorie.php
@@ -12,8 +12,26 @@
* @license http://www.gnu.org/licenses/gpl-2.0.html GPL version 2
* @category Stud.IP
* @since 3.5
+ *
+ * @property string $id alias column for kategorie_id
+ * @property string $kategorie_id database column
+ * @property I18NString $name database column
+ * @property I18NString|null $name_kurz database column
+ * @property I18NString|null $beschreibung database column
+ * @property int|null $position database column
+ * @property string $author_id database column
+ * @property string $editor_id database column
+ * @property int $mkdate database column
+ * @property int $chdate database column
+ * @property SimpleORMapCollection|MvvFile[] $documents has_many MvvFile
+ * @property SimpleORMapCollection|MvvFile[] $document_assignments has_many MvvFile
+ * @property SimpleORMapCollection|AbschlussZuord[] $abschluss_assignments has_many AbschlussZuord
+ * @property SimpleORMapCollection|Abschluss[] $abschluesse has_and_belongs_to_many Abschluss
+ * @property-read mixed $count_abschluesse additional field
+ * @property-read mixed $count_studiengaenge additional field
+ * @property-read mixed $count_dokumente additional field
+ * @property-read mixed $count_objects additional field
*/
-
class AbschlussKategorie extends ModuleManagementModelTreeItem
{
diff --git a/lib/models/AbschlussZuord.php b/lib/models/AbschlussZuord.php
index 9a83e58..a7b88d1 100644
--- a/lib/models/AbschlussZuord.php
+++ b/lib/models/AbschlussZuord.php
@@ -13,6 +13,17 @@
* @license http://www.gnu.org/licenses/gpl-2.0.html GPL version 2
* @category Stud.IP
* @since 3.5
+ *
+ * @property string $id alias column for abschluss_id
+ * @property string $abschluss_id database column
+ * @property string $kategorie_id database column
+ * @property int $position database column
+ * @property string $author_id database column
+ * @property string $editor_id database column
+ * @property int $mkdate database column
+ * @property int $chdate database column
+ * @property Abschluss $abschluss belongs_to Abschluss
+ * @property AbschlussKategorie $kategorie belongs_to AbschlussKategorie
*/
class AbschlussZuord extends ModuleManagementModel
diff --git a/lib/models/AdmissionApplication.class.php b/lib/models/AdmissionApplication.class.php
index 4da0c6b..a62ebb5 100644
--- a/lib/models/AdmissionApplication.class.php
+++ b/lib/models/AdmissionApplication.class.php
@@ -13,23 +13,24 @@
* @license http://www.gnu.org/licenses/gpl-2.0.html GPL version 2
* @category Stud.IP
*
- * @property string user_id database column
- * @property string seminar_id database column
- * @property string status database column
- * @property string mkdate database column
- * @property string position database column
- * @property string comment database column
- * @property string visible database column
- * @property string vorname computed column read/write
- * @property string nachname computed column read/write
- * @property string username computed column read/write
- * @property string email computed column read/write
- * @property string title_front computed column read/write
- * @property string title_rear computed column read/write
- * @property string course_name computed column read/write
- * @property string id computed column read/write
- * @property User user belongs_to User
- * @property Course course belongs_to Course
+ * @property array $id alias for pk
+ * @property string $user_id database column
+ * @property string $seminar_id database column
+ * @property string $status database column
+ * @property int $mkdate database column
+ * @property int|null $chdate database column
+ * @property int|null $position database column
+ * @property string $comment database column
+ * @property string $visible database column
+ * @property User $user belongs_to User
+ * @property Course $course belongs_to Course
+ * @property mixed $vorname additional field
+ * @property mixed $nachname additional field
+ * @property mixed $username additional field
+ * @property mixed $email additional field
+ * @property mixed $title_front additional field
+ * @property mixed $title_rear additional field
+ * @property mixed $course_name additional field
*/
class AdmissionApplication extends SimpleORMap implements PrivacyObject
{
diff --git a/lib/models/AdmissionRuleCompatibility.php b/lib/models/AdmissionRuleCompatibility.php
index f3447bc..76b2f57 100644
--- a/lib/models/AdmissionRuleCompatibility.php
+++ b/lib/models/AdmissionRuleCompatibility.php
@@ -14,10 +14,11 @@
* @category Stud.IP
* @since 3.5
*
- * @property string rule_type database column
- * @property string compat_rule_type database column
- * @property int mkdate database column
- * @property int chdate database column
+ * @property array $id alias for pk
+ * @property string $rule_type database column
+ * @property string $compat_rule_type database column
+ * @property int $mkdate database column
+ * @property int $chdate database column
*/
class AdmissionRuleCompatibility extends SimpleORMap
{
diff --git a/lib/models/ArchivedCourse.class.php b/lib/models/ArchivedCourse.class.php
index 9d26c8b..81879af 100644
--- a/lib/models/ArchivedCourse.class.php
+++ b/lib/models/ArchivedCourse.class.php
@@ -13,27 +13,27 @@
* @license http://www.gnu.org/licenses/gpl-2.0.html GPL version 2
* @category Stud.IP
*
- * @property string seminar_id database column
- * @property string id alias column for seminar_id
- * @property string name database column
- * @property string untertitel database column
- * @property string beschreibung database column
- * @property string start_time database column
- * @property string semester database column
- * @property string heimat_inst_id database column
- * @property string institute database column
- * @property string dozenten database column
- * @property string fakultaet database column
- * @property string dump database column
- * @property string archiv_file_id database column
- * @property string archiv_protected_file_id database column
- * @property string mkdate database column
- * @property string forumdump database column
- * @property string wikidump database column
- * @property string studienbereiche database column
- * @property string veranstaltungsnummer database column
- * @property SimpleORMapCollection members has_many ArchivedCourseMember
- * @property Institute home_institut belongs_to Institute
+ * @property string $id alias column for seminar_id
+ * @property string $seminar_id database column
+ * @property string $name database column
+ * @property string $untertitel database column
+ * @property string $beschreibung database column
+ * @property int $start_time database column
+ * @property string $semester database column
+ * @property string $heimat_inst_id database column
+ * @property string $institute database column
+ * @property string $dozenten database column
+ * @property string $fakultaet database column
+ * @property string $dump database column
+ * @property string $archiv_file_id database column
+ * @property string $archiv_protected_file_id database column
+ * @property int $mkdate database column
+ * @property string $forumdump database column
+ * @property string|null $wikidump database column
+ * @property string $studienbereiche database column
+ * @property string $veranstaltungsnummer database column
+ * @property SimpleORMapCollection|ArchivedCourseMember[] $members has_many ArchivedCourseMember
+ * @property Institute $home_institut belongs_to Institute
*/
class ArchivedCourse extends SimpleORMap implements PrivacyObject
diff --git a/lib/models/ArchivedCourseMember.class.php b/lib/models/ArchivedCourseMember.class.php
index 536c1b6..1febd35 100644
--- a/lib/models/ArchivedCourseMember.class.php
+++ b/lib/models/ArchivedCourseMember.class.php
@@ -13,12 +13,12 @@
* @license http://www.gnu.org/licenses/gpl-2.0.html GPL version 2
* @category Stud.IP
*
- * @property string seminar_id database column
- * @property string user_id database column
- * @property string status database column
- * @property string id computed column read/write
- * @property User user belongs_to User
- * @property ArchivedCourse course belongs_to ArchivedCourse
+ * @property array $id alias for pk
+ * @property string $seminar_id database column
+ * @property string $user_id database column
+ * @property string $status database column
+ * @property User $user belongs_to User
+ * @property ArchivedCourse $course belongs_to ArchivedCourse
*/
class ArchivedCourseMember extends SimpleORMap implements PrivacyObject
{
diff --git a/lib/models/Aufbaustudiengang.php b/lib/models/Aufbaustudiengang.php
index 9fba6e7..03913de 100644
--- a/lib/models/Aufbaustudiengang.php
+++ b/lib/models/Aufbaustudiengang.php
@@ -12,8 +12,19 @@
* @license http://www.gnu.org/licenses/gpl-2.0.html GPL version 2
* @category Stud.IP
* @since 4.4
+ *
+ * @property int $id database column
+ * @property string $grund_stg_id database column
+ * @property string $aufbau_stg_id database column
+ * @property string $typ database column
+ * @property I18NString|null $kommentar database column
+ * @property string $author_id database column
+ * @property string $editor_id database column
+ * @property int $mkdate database column
+ * @property int $chdate database column
+ * @property Studiengang $grund_studiengang belongs_to Studiengang
+ * @property Studiengang $aufbau_studiengang has_one Studiengang
*/
-
class Aufbaustudiengang extends ModuleManagementModel
{
protected static function configure($config = [])
diff --git a/lib/models/AuthUserMd5.class.php b/lib/models/AuthUserMd5.class.php
index 5879cb9..48e27f8 100644
--- a/lib/models/AuthUserMd5.class.php
+++ b/lib/models/AuthUserMd5.class.php
@@ -13,20 +13,20 @@
* @license http://www.gnu.org/licenses/gpl-2.0.html GPL version 2
* @category Stud.IP
*
- * @property string user_id database column
- * @property string id alias column for user_id
- * @property string username database column
- * @property string password database column
- * @property string perms database column
- * @property string vorname database column
- * @property string nachname database column
- * @property string email database column
- * @property string validation_key database column
- * @property string auth_plugin database column
- * @property string locked database column
- * @property string lock_comment database column
- * @property string locked_by database column
- * @property string visible database column
+ * @property string $id alias column for user_id
+ * @property string $user_id database column
+ * @property string $username database column
+ * @property string $password database column
+ * @property string $perms database column
+ * @property string $vorname database column
+ * @property string $nachname database column
+ * @property string $email database column
+ * @property string $validation_key database column
+ * @property string|null $auth_plugin database column
+ * @property int $locked database column
+ * @property string|null $lock_comment database column
+ * @property string|null $locked_by database column
+ * @property string $visible database column
*/
class AuthUserMd5 extends SimpleORMap
diff --git a/lib/models/AuxLockRule.php b/lib/models/AuxLockRule.php
index 4bf8e8b..abd3327 100644
--- a/lib/models/AuxLockRule.php
+++ b/lib/models/AuxLockRule.php
@@ -14,15 +14,16 @@
* @category Stud.IP
* @since 3.0
*
- * @property string lock_id database column
- * @property string id alias column for lock_id
- * @property string name database column
- * @property string description database column
- * @property JSONArrayObject attributes database column
- * @property JSONArrayObject sorting database column
- * @property array datafields computed column
- * @property string order computed column
- * @property Course[]|SimpleORMapCollection courses has_and_belongs_to_many Courses
+ * @property string $id alias column for lock_id
+ * @property string $lock_id database column
+ * @property I18NString $name database column
+ * @property I18NString $description database column
+ * @property JSONArrayObject $attributes database column
+ * @property JSONArrayObject $sorting database column
+ * @property int|null $mkdate database column
+ * @property int|null $chdate database column
+ * @property SimpleORMapCollection|Course[] $courses has_many Course
+ * @property mixed $datafields additional field
*/
class AuxLockRule extends SimpleORMap
{
diff --git a/lib/models/Banner.class.php b/lib/models/Banner.class.php
index 7f3309b..a418760 100644
--- a/lib/models/Banner.class.php
+++ b/lib/models/Banner.class.php
@@ -14,20 +14,21 @@
* @package admin
* @since 2.4
*
- * @property string ad_id database column
- * @property string id alias column for ad_id
- * @property string banner_path database column
- * @property string description database column
- * @property string alttext database column
- * @property string target_type database column
- * @property string target database column
- * @property string startdate database column
- * @property string enddate database column
- * @property string priority database column
- * @property string views database column
- * @property string clicks database column
- * @property string mkdate database column
- * @property string chdate database column
+ * @property string $id alias column for ad_id
+ * @property string $ad_id database column
+ * @property string $banner_path database column
+ * @property string|null $description database column
+ * @property string|null $alttext database column
+ * @property string $target_type database column
+ * @property string $target database column
+ * @property int $startdate database column
+ * @property int $enddate database column
+ * @property int $priority database column
+ * @property int $views database column
+ * @property int $clicks database column
+ * @property int $mkdate database column
+ * @property int $chdate database column
+ * @property SimpleORMapCollection|BannerRoles[] $banner_roles has_many BannerRoles
*/
class Banner extends SimpleORMap
diff --git a/lib/models/BannerRoles.class.php b/lib/models/BannerRoles.class.php
index 82f5722..d1c2986 100644
--- a/lib/models/BannerRoles.class.php
+++ b/lib/models/BannerRoles.class.php
@@ -14,8 +14,10 @@
* @package admin
* @since 5.1
*
- * @property string ad_id database column
- * @property int roleid database column
+ * @property array $id alias for pk
+ * @property string $ad_id database column
+ * @property int $roleid database column
+ * @property Banner $banner_ads belongs_to Banner
*/
class BannerRoles extends SimpleORMap
diff --git a/lib/models/BlubberComment.php b/lib/models/BlubberComment.php
index 3e076af..dff5da9 100644
--- a/lib/models/BlubberComment.php
+++ b/lib/models/BlubberComment.php
@@ -13,7 +13,18 @@
* @category Stud.IP
* @since 4.5
*
- * @property BlubberThread thread related thread
+ * @property string $id alias column for comment_id
+ * @property string $comment_id database column
+ * @property string $thread_id database column
+ * @property string $user_id database column
+ * @property int $external_contact database column
+ * @property string|null $content database column
+ * @property string|null $network database column
+ * @property int|null $chdate database column
+ * @property int|null $mkdate database column
+ * @property BlubberThread $thread belongs_to BlubberThread
+ * @property User $user belongs_to User
+ * @property ExternalUser $external_user belongs_to ExternalUser
*/
class BlubberComment extends SimpleORMap implements PrivacyObject
diff --git a/lib/models/BlubberGlobalThread.php b/lib/models/BlubberGlobalThread.php
index b19a7f9..3279b87 100644
--- a/lib/models/BlubberGlobalThread.php
+++ b/lib/models/BlubberGlobalThread.php
@@ -1,5 +1,26 @@
<?php
+/**
+ * @license GPL2 or any later version
+ *
+ * @property string $id alias column for thread_id
+ * @property string $thread_id database column
+ * @property string $context_type database column
+ * @property string $context_id database column
+ * @property string $user_id database column
+ * @property int $external_contact database column
+ * @property string|null $content database column
+ * @property string|null $display_class database column
+ * @property int $visible_in_stream database column
+ * @property int $commentable database column
+ * @property JSONArrayObject|null $metadata database column
+ * @property int|null $chdate database column
+ * @property int|null $mkdate database column
+ * @property SimpleORMapCollection|BlubberComment[] $comments has_many BlubberComment
+ * @property SimpleORMapCollection|BlubberMention[] $mentions has_many BlubberMention
+ * @property SimpleORMapCollection|ObjectUserVisit[] $visits has_many ObjectUserVisit
+ * @property User $user belongs_to User
+ */
class BlubberGlobalThread extends BlubberThread
{
public function isReadable(string $user_id = null)
diff --git a/lib/models/BlubberMention.php b/lib/models/BlubberMention.php
index c2a5008..bd9b586 100644
--- a/lib/models/BlubberMention.php
+++ b/lib/models/BlubberMention.php
@@ -3,6 +3,15 @@
* @author Jan-Hendrik Willms <tleilax+studip@gmail.com>
* @license GPL2 or any later version
* @since 4.5
+ *
+ * @property int $id alias column for mention_id
+ * @property int $mention_id database column
+ * @property string $thread_id database column
+ * @property string $user_id database column
+ * @property int $external_contact database column
+ * @property int $mkdate database column
+ * @property BlubberThread $thread belongs_to BlubberThread
+ * @property User $user belongs_to User
*/
class BlubberMention extends SimpleORMap
diff --git a/lib/models/BlubberStatusgruppeThread.php b/lib/models/BlubberStatusgruppeThread.php
index bd9e443..63e67a4 100644
--- a/lib/models/BlubberStatusgruppeThread.php
+++ b/lib/models/BlubberStatusgruppeThread.php
@@ -1,5 +1,27 @@
<?php
+/**
+ * @license GPL2 or any later version
+ *
+ * @property string $id alias column for thread_id
+ * @property string $thread_id database column
+ * @property string $context_type database column
+ * @property string $context_id database column
+ * @property string $user_id database column
+ * @property int $external_contact database column
+ * @property string|null $content database column
+ * @property string|null $display_class database column
+ * @property int $visible_in_stream database column
+ * @property int $commentable database column
+ * @property JSONArrayObject|null $metadata database column
+ * @property int|null $chdate database column
+ * @property int|null $mkdate database column
+ * @property SimpleORMapCollection|BlubberComment[] $comments has_many BlubberComment
+ * @property SimpleORMapCollection|BlubberMention[] $mentions has_many BlubberMention
+ * @property SimpleORMapCollection|ObjectUserVisit[] $visits has_many ObjectUserVisit
+ * @property Statusgruppen $statusgruppe belongs_to Statusgruppen
+ * @property User $user belongs_to User
+ */
class BlubberStatusgruppeThread extends BlubberThread
{
protected static function configure($config = [])
diff --git a/lib/models/BlubberThread.php b/lib/models/BlubberThread.php
index 52465d2..d3a4de6 100644
--- a/lib/models/BlubberThread.php
+++ b/lib/models/BlubberThread.php
@@ -12,6 +12,24 @@
* @license http://www.gnu.org/licenses/gpl-2.0.html GPL version 2
* @category Stud.IP
* @since 4.5
+ *
+ * @property string $id alias column for thread_id
+ * @property string $thread_id database column
+ * @property string $context_type database column
+ * @property string $context_id database column
+ * @property string $user_id database column
+ * @property int $external_contact database column
+ * @property string|null $content database column
+ * @property string|null $display_class database column
+ * @property int $visible_in_stream database column
+ * @property int $commentable database column
+ * @property JSONArrayObject|null $metadata database column
+ * @property int|null $chdate database column
+ * @property int|null $mkdate database column
+ * @property SimpleORMapCollection|BlubberComment[] $comments has_many BlubberComment
+ * @property SimpleORMapCollection|BlubberMention[] $mentions has_many BlubberMention
+ * @property SimpleORMapCollection|ObjectUserVisit[] $visits has_many ObjectUserVisit
+ * @property User $user belongs_to User
*/
class BlubberThread extends SimpleORMap implements PrivacyObject
@@ -47,7 +65,7 @@ class BlubberThread extends SimpleORMap implements PrivacyObject
'on_delete' => 'delete',
];
- $config['serialized_fields']['metadata'] = 'JSONArrayObject';
+ $config['serialized_fields']['metadata'] = JSONArrayObject::class;
parent::configure($config);
}
diff --git a/lib/models/CacheType.php b/lib/models/CacheType.php
index 78b9994..d1a4ae1 100644
--- a/lib/models/CacheType.php
+++ b/lib/models/CacheType.php
@@ -13,11 +13,12 @@
* @license http://www.gnu.org/licenses/gpl-2.0.html GPL version 2
* @category Stud.IP
*
- * @property string cache_id database column
- * @property string class_name database column
- * @property string display_name database column
- * @property int mkdate database column
- * @property int chdate database column
+ * @property int $id alias column for cache_id
+ * @property int $cache_id database column
+ * @property string $class_name database column
+ * @property int|null $chdate database column
+ * @property int|null $mkdate database column
+ * @property mixed $display_name additional field
*/
class CacheType extends SimpleORMap
diff --git a/lib/models/CalendarEvent.class.php b/lib/models/CalendarEvent.class.php
index 96cc869..16ca91a 100644
--- a/lib/models/CalendarEvent.class.php
+++ b/lib/models/CalendarEvent.class.php
@@ -12,18 +12,27 @@
* @license http://www.gnu.org/licenses/gpl-2.0.html GPL version 2
* @category Stud.IP
*
- * @property string event_id database column
- * @property string range_id database column
- * @property string group_status database column
- * @property string mkdate database column
- * @property string chdate database column
- * @property string type computed column
- * @property string name computed column
- * @property string id computed column read/write
- * @property user user belongs_to User
- * @property course course belongs_to Course
- * @property institute institute belongs_to Institute
- * @property event belongs_to CalendarEvent
+ * @property array $id alias for pk
+ * @property string $range_id database column
+ * @property string $event_id database column
+ * @property int $group_status database column
+ * @property int $mkdate database column
+ * @property int $chdate database column
+ * @property SimpleORMapCollection|CalendarEvent[] $attendees has_many CalendarEvent
+ * @property SimpleORMapCollection|ConsultationEvent[] $consultation_events has_many ConsultationEvent
+ * @property User $user belongs_to User
+ * @property Course $course belongs_to Course
+ * @property Institute $institute belongs_to Institute
+ * @property ConsultationBooking $consultation_booking belongs_to ConsultationBooking
+ * @property EventData $event has_one EventData
+ * @property mixed $type additional field
+ * @property mixed $name additional field
+ * @property mixed $author_id additional field
+ * @property mixed $editor_id additional field
+ * @property mixed $title additional field
+ * @property mixed $start additional field
+ * @property mixed $end additional field
+ * @property-read mixed $owner additional field
*/
class CalendarEvent extends SimpleORMap implements Event, PrivacyObject
{
diff --git a/lib/models/CalendarUser.class.php b/lib/models/CalendarUser.class.php
index 02fdfce..f079ac6 100644
--- a/lib/models/CalendarUser.class.php
+++ b/lib/models/CalendarUser.class.php
@@ -11,6 +11,17 @@
* @license http://www.gnu.org/licenses/gpl-2.0.html GPL version 2
* @category Stud.IP
* @since 3.2
+ *
+ * @property array $id alias for pk
+ * @property string $owner_id database column
+ * @property string $user_id database column
+ * @property int $permission database column
+ * @property int $mkdate database column
+ * @property int $chdate database column
+ * @property User $user belongs_to User
+ * @property User $owner has_one User
+ * @property-read mixed $nachname additional field
+ * @property-read mixed $vorname additional field
*/
class CalendarUser extends SimpleORMap
diff --git a/lib/models/Clipboard.class.php b/lib/models/Clipboard.class.php
index 2f4d0f2..cd8fe89 100644
--- a/lib/models/Clipboard.class.php
+++ b/lib/models/Clipboard.class.php
@@ -4,6 +4,11 @@
/**
* Clipboard.class.php - model class for a clipboard (Merkzettel)
*
+ * The Clipboard class extends the wish list functionality of the clipboard
+ * in the old literature management to allow it to be used in other areas of the
+ * Stud.IP system. Furthermore, clipboards managed by this class
+ * are stored permanently in the database until they are deleted.
+ *
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of
@@ -14,30 +19,25 @@
* @license http://www.gnu.org/licenses/gpl-2.0.html GPL version 2
* @category Stud.IP
* @since 4.5
- */
-
-
-/**
- * The Clipboard class extends the wish list functionality of the clipboard
- * in the old literature management to allow it to be used in other areas of the
- * Stud.IP system. Furthermore, clipboards managed by this class
- * are stored permanently in the database until they are deleted.
*
- * @property string id database column
- * @property string user_id database column
- * @property string name database column: The name of the clipboard.
- * @property string allowed_item_class database column: The StudipItem class
- * name where items have to be children of in order to be used
- * with the clipboard.
- * This attribute defaults to 'StudipItem' which means that by default
- * all implementations of StudipItem can be inserted into a clipboard.
- * If only items of a special implementation of StudipItem shall be
- * able to be inserted into the clipboard this attribute has to be set
- * to the class name of that implementation.
- * @property string mkdate database column
- * @property string chdate database column
- * @property SimpleORMapCollection user belongs_to User
- * @property SimpleORMapCollection items has_many WishListItem
+ * The "allowed_item_class" column containts the StudipItem class
+ * name where items have to be children of in order to be used
+ * with the clipboard.
+ * This attribute defaults to 'StudipItem' which means that by default
+ * all implementations of StudipItem can be inserted into a clipboard.
+ * If only items of a special implementation of StudipItem shall be
+ * able to be inserted into the clipboard this attribute has to be set
+ * to the class name of that implementation.
+ *
+ * @property int $id database column
+ * @property string $user_id database column
+ * @property string $name database column
+ * @property string $handler database column
+ * @property string $allowed_item_class database column
+ * @property int $mkdate database column
+ * @property int $chdate database column
+ * @property SimpleORMapCollection|ClipboardItem[] $items has_many ClipboardItem
+ * @property User $user belongs_to User
*/
class Clipboard extends SimpleORMap
{
diff --git a/lib/models/ClipboardItem.class.php b/lib/models/ClipboardItem.class.php
index b5199ed..030388a 100644
--- a/lib/models/ClipboardItem.class.php
+++ b/lib/models/ClipboardItem.class.php
@@ -1,10 +1,10 @@
<?php
-
-
/**
* ClipboardItem.class.php - model class for clipboard items
* (Merkzettel-Einträge)
*
+ * The ClipboardItem class holds single items of a clipboard.
+ *
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of
@@ -15,21 +15,14 @@
* @license http://www.gnu.org/licenses/gpl-2.0.html GPL version 2
* @category Stud.IP
* @since 4.5
- */
-
-
-/**
- * The ClipboardItem class holds single items of a clipboard.
*
- * @property string id database column
- * @property string clipboard_id database column
- * @property string range_id database column: The ID of the Stud.IP object
- * which is stored in this clipboard item.
- * @property string range_type database column: The StudipItem class
- * corresponding to the range-ID specified in the range_id column.
- * @property string mkdate database column
- * @property string chdate database column
- * @property SimpleORMapCollection clipboard belongs_to Clipboard
+ * @property int $id database column
+ * @property int $clipboard_id database column
+ * @property string $range_id database column
+ * @property string $range_type database column
+ * @property int $mkdate database column
+ * @property int $chdate database column
+ * @property Clipboard $clipboard belongs_to Clipboard
*/
class ClipboardItem extends SimpleORMap
{
@@ -48,7 +41,7 @@ class ClipboardItem extends SimpleORMap
/**
- * @returns A string representation of this clipboard item.
+ * @returns string representation of this clipboard item.
*/
public function __toString()
{
diff --git a/lib/models/ColourValue.class.php b/lib/models/ColourValue.class.php
index 9b1a899..6ae05ad 100644
--- a/lib/models/ColourValue.class.php
+++ b/lib/models/ColourValue.class.php
@@ -4,6 +4,9 @@
* ColorValue.class.php
* model class for table color_values
*
+ * Objects of this class holds a colour's name (its purpose)
+ * and the value for the colour.
+ *
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of
@@ -14,28 +17,13 @@
* @since 4.5
* @license http://www.gnu.org/licenses/gpl-2.0.html GPL version 2
* @category Stud.IP
- */
-
-
-/**
- * Objects of this class holds a colour's name (its purpose)
- * and the value for the colour.
- *
- * @property string colour_id database column: An unique identifier for the colour.
- * Recommendation for identifier naming for core system colours:
- * <component>.<sub-component (optional)>.<colour name>.<colour variant>
- * Example:
- * Resources.BookingPlan.Reservation.Bg for the background colour
- * of a reservation in a resource's booking plan.
- *
- * Plugins should use the plugin name as component.
*
- * @property string value database column:
- * The colour value in the hexadecimal format RRGGBBAA
- * (see CSS Color Module Level 4).
- * @property string description database column
- * @property string mkdate database column
- * @property string chdate database column
+ * @property string $id alias column for colour_id
+ * @property string $colour_id database column
+ * @property I18NString $description database column
+ * @property string $value database column
+ * @property int $mkdate database column
+ * @property int $chdate database column
*/
class ColourValue extends SimpleORMap
{
diff --git a/lib/models/ConfigEntry.class.php b/lib/models/ConfigEntry.class.php
index dd91dc6..5e06da8 100644
--- a/lib/models/ConfigEntry.class.php
+++ b/lib/models/ConfigEntry.class.php
@@ -13,15 +13,15 @@
* @license http://www.gnu.org/licenses/gpl-2.0.html GPL version 2
* @category Stud.IP
*
- * @property string id alias column for field
- * @property string field database column
- * @property string value database column
- * @property string type database column
- * @property string range database column
- * @property string section database column
- * @property string mkdate database column
- * @property string chdate database column
- * @property string description database column
+ * @property string $id alias column for field
+ * @property string $field database column
+ * @property string $value database column
+ * @property string $type database column
+ * @property string $range database column
+ * @property string $section database column
+ * @property int $mkdate database column
+ * @property int $chdate database column
+ * @property string $description database column
*/
class ConfigEntry extends SimpleORMap
diff --git a/lib/models/ConfigValue.php b/lib/models/ConfigValue.php
index f5410c9..0b97248 100644
--- a/lib/models/ConfigValue.php
+++ b/lib/models/ConfigValue.php
@@ -13,15 +13,14 @@
*
* @category Stud.IP
*
- * @property array $id
- * @property string $field
- * @property string $range_id
- * @property string $value
- * @property int $mkdate
- * @property int $chdate
- * @property string $comment
- *
- * @property ConfigEntry $entry
+ * @property array $id alias for pk
+ * @property string $field database column
+ * @property string $range_id database column
+ * @property string $value database column
+ * @property int $mkdate database column
+ * @property int $chdate database column
+ * @property string $comment database column
+ * @property ConfigEntry $entry belongs_to ConfigEntry
*/
class ConfigValue extends SimpleORMap
diff --git a/lib/models/ConsultationBlock.php b/lib/models/ConsultationBlock.php
index f35e98b..ea792d8 100644
--- a/lib/models/ConsultationBlock.php
+++ b/lib/models/ConsultationBlock.php
@@ -10,30 +10,29 @@
* method when the dev board finally fully supports PHP7 since that
* required "yield from".
*
- * @property string $id alias column for block_id
- * @property string $block_id database column
+ * @property int $id alias column for block_id
+ * @property int $block_id database column
* @property string $range_id database column
* @property string $range_type database column
* @property int $start database column
* @property int $end database column
* @property string $room database column
- * @property bool $calendar_events database column
- * @property bool $show_participants database column
- * @property bool $require_reason database column
- * @property string $confirmation_text database column
+ * @property int $calendar_events database column
+ * @property int $show_participants database column
+ * @property string $require_reason database column
+ * @property string|null $confirmation_text database column
* @property string $note database column
- * @property string $size database column
- * @property int $lock_time
+ * @property int $size database column
+ * @property int|null $lock_time database column
* @property int $mkdate database column
* @property int $chdate database column
- *
- * @property bool $has_bookings computed column
- * @property string $range_display
- * @property bool $is_expired
- * @property Range $range computed column
- * @property ConsultationSlot[]|SimpleORMapCollection $slots has_many ConsultationSlot
- * @property ConsultationResponsibility[]|SimpleCollection $responsibilities has_many ConsultationResponsibility
- * @property User[] $responsible_persons
+ * @property SimpleORMapCollection|ConsultationSlot[] $slots has_many ConsultationSlot
+ * @property SimpleORMapCollection|ConsultationResponsibility[] $responsibilities has_many ConsultationResponsibility
+ * @property mixed $range additional field
+ * @property-read mixed $range_display additional field
+ * @property-read mixed $has_bookings additional field
+ * @property-read mixed $is_expired additional field
+ * @property-read mixed $responsible_persons additional field
*/
class ConsultationBlock extends SimpleORMap implements PrivacyObject
{
diff --git a/lib/models/ConsultationBooking.php b/lib/models/ConsultationBooking.php
index 1903249..06e6967 100644
--- a/lib/models/ConsultationBooking.php
+++ b/lib/models/ConsultationBooking.php
@@ -5,15 +5,18 @@
* @author Jan-Hendrik Willms <tleilax+studip@gmail.com>
* @license GPL2 or any later version
* @since Stud.IP 4.3
- * @property string booking_id database column
- * @property string id alias column for booking_id
- * @property string slot_id database column
- * @property string user_id database column
- * @property string reason database column
- * @property string student_event_id database column
- * @property ConsultationSlot slot belongs_to ConsultationSlot
- * @property User user belongs_to User
- * @property EventData event has_one EventData
+ *
+ * @property int $id alias column for booking_id
+ * @property int $booking_id database column
+ * @property int $slot_id database column
+ * @property string $user_id database column
+ * @property string|null $reason database column
+ * @property string|null $student_event_id database column
+ * @property int $mkdate database column
+ * @property int $chdate database column
+ * @property ConsultationSlot $slot belongs_to ConsultationSlot
+ * @property User $user belongs_to User
+ * @property EventData|null $event has_one EventData
*/
class ConsultationBooking extends SimpleORMap implements PrivacyObject
{
diff --git a/lib/models/ConsultationEvent.php b/lib/models/ConsultationEvent.php
index afc6980..2665c6b 100644
--- a/lib/models/ConsultationEvent.php
+++ b/lib/models/ConsultationEvent.php
@@ -4,13 +4,13 @@
* @license GPL2 or any later version
* @since Stud.IP 5.1
*
- * @property int slot_id database column
- * @property int id alias column for slot_id
- * @property string user_id database column
- * @property string event_id database column
- * @property int mkdate database column
- * @property ConsultationSlot slot belongs_to ConsultationSlot
- * @property EventData event belongs_to Event
+ * @property array $id alias for pk
+ * @property int $slot_id database column
+ * @property string $user_id database column
+ * @property string $event_id database column
+ * @property int $mkdate database column
+ * @property ConsultationSlot $slot belongs_to ConsultationSlot
+ * @property EventData $event has_one EventData
*/
class ConsultationEvent extends SimpleORMap
{
diff --git a/lib/models/ConsultationResponsibility.php b/lib/models/ConsultationResponsibility.php
index 72cd12e..a446a73 100644
--- a/lib/models/ConsultationResponsibility.php
+++ b/lib/models/ConsultationResponsibility.php
@@ -4,11 +4,12 @@
* @license GPL2 or any later version
* @since Stud.IP 5.1
*
- * @property int block_id database column
- * @property int id alias column for block_id
- * @property string range_id database column
- * @property string range_type database column
- * @property int mkdate database column
+ * @property array $id alias for pk
+ * @property int $block_id database column
+ * @property string $range_id database column
+ * @property string $range_type database column
+ * @property int $mkdate database column
+ * @property ConsultationBlock $block belongs_to ConsultationBlock
*/
class ConsultationResponsibility extends SimpleORMap
{
diff --git a/lib/models/ConsultationSlot.php b/lib/models/ConsultationSlot.php
index ab1dfa7..b988190 100644
--- a/lib/models/ConsultationSlot.php
+++ b/lib/models/ConsultationSlot.php
@@ -5,15 +5,20 @@
* @author Jan-Hendrik Willms <tleilax+studip@gmail.com>
* @license GPL2 or any later version
* @since Stud.IP 4.3
- * @property string slot_id database column
- * @property string id alias column for slot_id
- * @property string block_id database column
- * @property string start_time database column
- * @property string end_time database column
- * @property string note database column
- * @property SimpleORMapCollection bookings has_many ConsultationBooking
- * @property ConsultationBlock block belongs_to ConsultationBlock
- * @property SimpleORMapCollection events has_many EventData
+ *
+ * @property int $id alias column for slot_id
+ * @property int $slot_id database column
+ * @property int $block_id database column
+ * @property int $start_time database column
+ * @property int $end_time database column
+ * @property string $note database column
+ * @property int $mkdate database column
+ * @property int $chdate database column
+ * @property SimpleORMapCollection|ConsultationBooking[] $bookings has_many ConsultationBooking
+ * @property SimpleORMapCollection|ConsultationEvent[] $events has_many ConsultationEvent
+ * @property ConsultationBlock $block belongs_to ConsultationBlock
+ * @property-read mixed $has_bookings additional field
+ * @property-read mixed $is_expired additional field
*/
class ConsultationSlot extends SimpleORMap
{
@@ -51,10 +56,10 @@ class ConsultationSlot extends SimpleORMap
}
};
- $config['additional_fields']['has_bookings']['get'] = function ($slot) {
+ $config['additional_fields']['has_bookings']['get'] = function ($slot): bool {
return count($slot->bookings) > 0;
};
- $config['additional_fields']['is_expired']['get'] = function ($slot) {
+ $config['additional_fields']['is_expired']['get'] = function ($slot): bool {
return $slot->end_time < time();
};
diff --git a/lib/models/Contact.class.php b/lib/models/Contact.class.php
index 32eae2c..be095de 100644
--- a/lib/models/Contact.class.php
+++ b/lib/models/Contact.class.php
@@ -5,15 +5,14 @@
*
* @author <mlunzena@uos.de>
* @license GPL 2 or later
- * @property string contact_id database column
- * @property string id alias column for contact_id
- * @property string owner_id database column
- * @property string user_id database column
- * @property string buddy database column
- * @property string calpermission database column
- * @property SimpleORMapCollection group_assignments has_many StatusgruppeUser
- * @property User owner belongs_to User
- * @property User friend belongs_to User
+ *
+ * @property array $id alias for pk
+ * @property string $owner_id database column
+ * @property string $user_id database column
+ * @property int|null $mkdate database column
+ * @property SimpleORMapCollection|StatusgruppeUser[] $group_assignments has_many StatusgruppeUser
+ * @property User $owner belongs_to User
+ * @property User $friend belongs_to User
*/
class Contact extends SimpleORMap
{
diff --git a/lib/models/ContentTermsOfUse.class.php b/lib/models/ContentTermsOfUse.class.php
index 0e939a4..fb2e592 100644
--- a/lib/models/ContentTermsOfUse.class.php
+++ b/lib/models/ContentTermsOfUse.class.php
@@ -20,19 +20,24 @@
* @license http://www.gnu.org/licenses/gpl-2.0.html GPL version 2
* @category Stud.IP
*
- * @property string id database column: ID of the content terms of use object
- * @property string name database column: Short name of the terms of use object
- * @property string position database column: sorting of the entries can be made possible with this attribute
- * @property string description database column: Description text of the terms of use object
- * @property int download_condition: database column
- * 0 = no conditions (downloadable by anyone)
- * 1 = closed groups (e.g. courses with signup rules)
- * 2 = only for owner
- * @property string icon database column: either the name of the icon or the URL that points to the icon
+ * @property string $id database column
+ * @property I18NString $name database column
+ * @property int $position database column
+ * @property I18NString $description database column
+ * @property I18NString $student_description database column
+ * @property int $download_condition database column
+ * @property string $icon database column
+ * @property int $is_default database column
+ * @property int $mkdate database column
+ * @property int $chdate database column
*/
class ContentTermsOfUse extends SimpleORMap
{
+ const DOWNLOAD_CONDITION_NONE = 0; // no conditions (downloadable by anyone)
+ const DOWNLOAD_CONDITION_CLOSED_GROUPS = 1; // closed groups (e.g. courses with signup rules)
+ const DOWNLOAD_CONDITION_OWNER_ONLY = 2; // only for owner
+
/**
* @var
*/
@@ -49,7 +54,7 @@ class ContentTermsOfUse extends SimpleORMap
$config['i18n_fields']['description'] = true;
$config['i18n_fields']['student_description'] = true;
- $config['default_values']['download_condition'] = 0;
+ $config['default_values']['download_condition'] = self::DOWNLOAD_CONDITION_NONE;
$config['default_values']['icon'] = 'license';
$config['default_values']['position'] = 0;
$config['default_values']['is_default'] = false;
@@ -104,9 +109,9 @@ class ContentTermsOfUse extends SimpleORMap
public static function getConditions()
{
return [
- 0 => _('Ohne Bedingung'),
- 1 => _('Nur innerhalb geschlossener Veranstaltungen erlaubt'),
- 2 => _('Nur fĂĽr EigentĂĽmerIn erlaubt'),
+ self::DOWNLOAD_CONDITION_NONE => _('Ohne Bedingung'),
+ self::DOWNLOAD_CONDITION_CLOSED_GROUPS => _('Nur innerhalb geschlossener Veranstaltungen erlaubt'),
+ self::DOWNLOAD_CONDITION_OWNER_ONLY => _('Nur fĂĽr EigentĂĽmerIn erlaubt'),
];
}
@@ -119,9 +124,7 @@ class ContentTermsOfUse extends SimpleORMap
public static function describeCondition($condition)
{
$conditions = self::getConditions();
- return isset($conditions[$condition])
- ? $conditions[$condition]
- : _('Nicht definiert');
+ return $conditions[$condition] ?? _('Nicht definiert');
}
/**
@@ -192,7 +195,7 @@ class ContentTermsOfUse extends SimpleORMap
return true;
}
}
- if ($this->download_condition == 1) {
+ if ($this->download_condition == self::DOWNLOAD_CONDITION_CLOSED_GROUPS) {
//the content is only downloadable when the user is inside a closed group
//(referenced by range_id). If download_condition is set to 2
@@ -213,7 +216,7 @@ class ContentTermsOfUse extends SimpleORMap
return false;
}
- if ($this->download_condition == 2) {
+ if ($this->download_condition == self::DOWNLOAD_CONDITION_OWNER_ONLY) {
return false;
}
diff --git a/lib/models/Course.class.php b/lib/models/Course.class.php
index 9005373..c449922 100644
--- a/lib/models/Course.class.php
+++ b/lib/models/Course.class.php
@@ -13,64 +13,71 @@
* @license http://www.gnu.org/licenses/gpl-2.0.html GPL version 2
* @category Stud.IP
*
- * @property string seminar_id database column
- * @property string id alias column for seminar_id
- * @property string veranstaltungsnummer database column
- * @property string institut_id database column
- * @property string name database column
- * @property string untertitel database column
- * @property string status database column
- * @property string beschreibung database column
- * @property string ort database column
- * @property string sonstiges database column
- * @property string lesezugriff database column
- * @property string schreibzugriff database column
- * @property string start_time database column
- * @property string duration_time database column
- * @property string art database column
- * @property string teilnehmer database column
- * @property string vorrausetzungen database column
- * @property string lernorga database column
- * @property string leistungsnachweis database column
- * @property string mkdate database column
- * @property string chdate database column
- * @property string ects database column
- * @property string admission_turnout database column
- * @property string admission_binding database column
- * @property string admission_prelim database column
- * @property string admission_prelim_txt database column
- * @property string admission_disable_waitlist database column
- * @property string visible database column
- * @property string showscore database column
- * @property string modules database column
- * @property string aux_lock_rule database column
- * @property string aux_lock_rule_forced database column
- * @property string lock_rule database column
- * @property string admission_waitlist_max database column
- * @property string admission_disable_waitlist_move database column
- * @property string completion database column
- * @property string parent_course database column
- * @property string end_time computed column read/write
- * @property SimpleORMapCollection topics has_many CourseTopic
- * @property SimpleORMapCollection dates has_many CourseDate
- * @property SimpleORMapCollection ex_dates has_many CourseExDate
- * @property SimpleORMapCollection members has_many CourseMember
- * @property SimpleORMapCollection deputies has_many Deputy
- * @property SimpleORMapCollection statusgruppen has_many Statusgruppen
- * @property SimpleORMapCollection admission_applicants has_many AdmissionApplication
- * @property SimpleORMapCollection datafields has_many DatafieldEntryModel
- * @property SimpleORMapCollection cycles has_many SeminarCycleDate
- * @property Semester[]|SimpleORMapCollection $semesters belongs_to Semester
- * @property Semester start_semester belongs_to Semester
- * @property Semester end_semester belongs_to Semester
- * @property Institute home_institut belongs_to Institute
- * @property AuxLockRule aux belongs_to AuxLockRule
- * @property SimpleORMapCollection study_areas has_and_belongs_to_many StudipStudyArea
- * @property SimpleORMapCollection institutes has_and_belongs_to_many Institute
- * @property Course parent belongs_to Course
- * @property SimpleORMapCollection children has_many Course
- * @property CourseConfig config additional field
- * @property ?\Courseware\StructuralElement $courseware has_one
+ * @property string $id alias column for seminar_id
+ * @property string $seminar_id database column
+ * @property string|null $veranstaltungsnummer database column
+ * @property string $institut_id database column
+ * @property I18NString $name database column
+ * @property I18NString|null $untertitel database column
+ * @property int $status database column
+ * @property I18NString $beschreibung database column
+ * @property I18NString|null $ort database column
+ * @property string|null $sonstiges database column
+ * @property int $lesezugriff database column
+ * @property int $schreibzugriff database column
+ * @property int|null $start_time database column
+ * @property int|null $duration_time database column
+ * @property I18NString|null $art database column
+ * @property I18NString|null $teilnehmer database column
+ * @property I18NString|null $vorrausetzungen database column
+ * @property I18NString|null $lernorga database column
+ * @property I18NString|null $leistungsnachweis database column
+ * @property int $mkdate database column
+ * @property int $chdate database column
+ * @property string|null $ects database column
+ * @property int|null $admission_turnout database column
+ * @property int|null $admission_binding database column
+ * @property int $admission_prelim database column
+ * @property string|null $admission_prelim_txt database column
+ * @property int $admission_disable_waitlist database column
+ * @property int $visible database column
+ * @property int|null $showscore database column
+ * @property string|null $aux_lock_rule database column
+ * @property int $aux_lock_rule_forced database column
+ * @property string|null $lock_rule database column
+ * @property int $admission_waitlist_max database column
+ * @property int $admission_disable_waitlist_move database column
+ * @property int $completion database column
+ * @property string|null $parent_course database column
+ * @property SimpleORMapCollection|CourseTopic[] $topics has_many CourseTopic
+ * @property SimpleORMapCollection|CourseDate[] $dates has_many CourseDate
+ * @property SimpleORMapCollection|CourseExDate[] $ex_dates has_many CourseExDate
+ * @property SimpleORMapCollection|CourseMember[] $members has_many CourseMember
+ * @property SimpleORMapCollection|Deputy[] $deputies has_many Deputy
+ * @property SimpleORMapCollection|Statusgruppen[] $statusgruppen has_many Statusgruppen
+ * @property SimpleORMapCollection|AdmissionApplication[] $admission_applicants has_many AdmissionApplication
+ * @property SimpleORMapCollection|DatafieldEntryModel[] $datafields has_many DatafieldEntryModel
+ * @property SimpleORMapCollection|SeminarCycleDate[] $cycles has_many SeminarCycleDate
+ * @property SimpleORMapCollection|BlubberThread[] $blubberthreads has_many BlubberThread
+ * @property SimpleORMapCollection|ConsultationBlock[] $consultation_blocks has_many ConsultationBlock
+ * @property SimpleORMapCollection|RoomRequest[] $room_requests has_many RoomRequest
+ * @property SimpleORMapCollection|Course[] $children has_many Course
+ * @property SimpleORMapCollection|ToolActivation[] $tools has_many ToolActivation
+ * @property SimpleORMapCollection|CourseMemberNotification[] $member_notifications has_many CourseMemberNotification
+ * @property SimpleORMapCollection|Courseware\Unit[] $courseware_units has_many Courseware\Unit
+ * @property Institute $home_institut belongs_to Institute
+ * @property AuxLockRule|null $aux belongs_to AuxLockRule
+ * @property Course|null $parent belongs_to Course
+ * @property SimpleORMapCollection|Semester[] $semesters has_and_belongs_to_many Semester
+ * @property SimpleORMapCollection|StudipStudyArea[] $study_areas has_and_belongs_to_many StudipStudyArea
+ * @property SimpleORMapCollection|Institute[] $institutes has_and_belongs_to_many Institute
+ * @property SimpleORMapCollection|UserDomain[] $domains has_and_belongs_to_many UserDomain
+ * @property-read mixed $teachers additional field
+ * @property mixed $end_time additional field
+ * @property mixed $start_semester additional field
+ * @property mixed $end_semester additional field
+ * @property-read mixed $semester_text additional field
+ * @property-read mixed $config additional field
*/
class Course extends SimpleORMap implements Range, PrivacyObject, StudipItem, FeedbackRange
diff --git a/lib/models/CourseCancelledEvent.class.php b/lib/models/CourseCancelledEvent.class.php
index de2e4de..5fed9c5 100644
--- a/lib/models/CourseCancelledEvent.class.php
+++ b/lib/models/CourseCancelledEvent.class.php
@@ -10,6 +10,44 @@
* @license http://www.gnu.org/licenses/gpl-2.0.html GPL version 2
* @category Stud.IP
*
+ * @property string $id alias for pk
+ * @property string $termin_id database column
+ * @property string $event_id alias column for termin_id
+ * @property string $range_id database column
+ * @property string $sem_id alias column for range_id
+ * @property string $autor_id database column
+ * @property string $author_id alias column for autor_id
+ * @property string $content database column
+ * @property string $ex_description alias column for content
+ * @property int $date database column
+ * @property int $start alias column for date
+ * @property int $end_time database column
+ * @property int $end alias column for end_time
+ * @property int $mkdate database column
+ * @property int $chdate database column
+ * @property int $date_typ database column
+ * @property int $category_intern alias column for date_typ
+ * @property string|null $raum database column
+ * @property string|null $metadate_id database column
+ * @property string $resource_id database column
+ * @property SimpleORMapCollection|Folder[] $folders has_many Folder
+ * @property SimpleORMapCollection|RoomRequest[] $room_requests has_many RoomRequest
+ * @property SimpleORMapCollection|ResourceRequestAppointment[] $resource_request_appointments has_many ResourceRequestAppointment
+ * @property User $author belongs_to User
+ * @property Course $course belongs_to Course
+ * @property SeminarCycleDate|null $cycle belongs_to SeminarCycleDate
+ * @property ResourceBooking $room_booking has_one ResourceBooking
+ * @property SimpleORMapCollection|CourseTopic[] $topics has_and_belongs_to_many CourseTopic
+ * @property SimpleORMapCollection|Statusgruppen[] $statusgruppen has_and_belongs_to_many Statusgruppen
+ * @property SimpleORMapCollection|User[] $dozenten has_and_belongs_to_many User
+ * @property-read mixed $location additional field
+ * @property mixed $type additional field
+ * @property-read mixed $name additional field
+ * @property-read mixed $title additional field
+ * @property-read mixed $editor_id additional field
+ * @property-read mixed $uid additional field
+ * @property-read mixed $summary additional field
+ * @property-read mixed $description additional field
*/
class CourseCancelledEvent extends CourseEvent
diff --git a/lib/models/CourseDate.class.php b/lib/models/CourseDate.class.php
index 9ae0268..5ba3534 100644
--- a/lib/models/CourseDate.class.php
+++ b/lib/models/CourseDate.class.php
@@ -10,27 +10,28 @@
* @license http://www.gnu.org/licenses/gpl-2.0.html GPL version 2
* @category Stud.IP
*
- * @property string termin_id database column
- * @property string id alias column for termin_id
- * @property string range_id database column
- * @property string autor_id database column
- * @property string content database column
- * @property string date database column
- * @property string end_time database column
- * @property string mkdate database column
- * @property string chdate database column
- * @property string date_typ database column
- * @property string topic_id database column
- * @property string raum database column
- * @property string metadate_id database column
- * @property User author belongs_to User
- * @property Course course belongs_to Course
- * @property SeminarCycleDate cycle belongs_to SeminarCycleDate
- * @property RoomRequest room_requests has_many RoomRequest
- * @property ResourceBooking room_booking has_one ResourceBooking
- * @property SimpleORMapCollection topics has_and_belongs_to_many CourseTopic
- * @property SimpleORMapCollection statusgruppen has_and_belongs_to_many Statusgruppen
- * @property SimpleORMapCollection dozenten has_and_belongs_to_many User
+ * @property string $id alias column for termin_id
+ * @property string $termin_id database column
+ * @property string $range_id database column
+ * @property string $autor_id database column
+ * @property string $content database column
+ * @property int $date database column
+ * @property int $end_time database column
+ * @property int $mkdate database column
+ * @property int $chdate database column
+ * @property int $date_typ database column
+ * @property string|null $raum database column
+ * @property string|null $metadate_id database column
+ * @property SimpleORMapCollection|Folder[] $folders has_many Folder
+ * @property SimpleORMapCollection|RoomRequest[] $room_requests has_many RoomRequest
+ * @property SimpleORMapCollection|ResourceRequestAppointment[] $resource_request_appointments has_many ResourceRequestAppointment
+ * @property User $author belongs_to User
+ * @property Course $course belongs_to Course
+ * @property SeminarCycleDate|null $cycle belongs_to SeminarCycleDate
+ * @property ResourceBooking $room_booking has_one ResourceBooking
+ * @property SimpleORMapCollection|CourseTopic[] $topics has_and_belongs_to_many CourseTopic
+ * @property SimpleORMapCollection|Statusgruppen[] $statusgruppen has_and_belongs_to_many Statusgruppen
+ * @property SimpleORMapCollection|User[] $dozenten has_and_belongs_to_many User
*/
class CourseDate extends SimpleORMap implements PrivacyObject
diff --git a/lib/models/CourseEvent.class.php b/lib/models/CourseEvent.class.php
index 2d564b5..0dee26a 100644
--- a/lib/models/CourseEvent.class.php
+++ b/lib/models/CourseEvent.class.php
@@ -10,6 +10,42 @@
* @license http://www.gnu.org/licenses/gpl-2.0.html GPL version 2
* @category Stud.IP
*
+ * @property string $id alias for pk
+ * @property string $termin_id database column
+ * @property string $event_id alias column for termin_id
+ * @property string $range_id database column
+ * @property string $sem_id alias column for range_id
+ * @property string $autor_id database column
+ * @property string $author_id alias column for autor_id
+ * @property string $content database column
+ * @property int $date database column
+ * @property int $start alias column for date
+ * @property int $end_time database column
+ * @property int $end alias column for end_time
+ * @property int $mkdate database column
+ * @property int $chdate database column
+ * @property int $date_typ database column
+ * @property int $category_intern alias column for date_typ
+ * @property string|null $raum database column
+ * @property string|null $metadate_id database column
+ * @property SimpleORMapCollection|Folder[] $folders has_many Folder
+ * @property SimpleORMapCollection|RoomRequest[] $room_requests has_many RoomRequest
+ * @property SimpleORMapCollection|ResourceRequestAppointment[] $resource_request_appointments has_many ResourceRequestAppointment
+ * @property User $author belongs_to User
+ * @property Course $course belongs_to Course
+ * @property SeminarCycleDate|null $cycle belongs_to SeminarCycleDate
+ * @property ResourceBooking $room_booking has_one ResourceBooking
+ * @property SimpleORMapCollection|CourseTopic[] $topics has_and_belongs_to_many CourseTopic
+ * @property SimpleORMapCollection|Statusgruppen[] $statusgruppen has_and_belongs_to_many Statusgruppen
+ * @property SimpleORMapCollection|User[] $dozenten has_and_belongs_to_many User
+ * @property-read mixed $location additional field
+ * @property mixed $type additional field
+ * @property-read mixed $name additional field
+ * @property-read mixed $title additional field
+ * @property-read mixed $editor_id additional field
+ * @property-read mixed $uid additional field
+ * @property-read mixed $summary additional field
+ * @property-read mixed $description additional field
*/
class CourseEvent extends CourseDate implements Event
diff --git a/lib/models/CourseExDate.class.php b/lib/models/CourseExDate.class.php
index f2c75b5..993767a 100644
--- a/lib/models/CourseExDate.class.php
+++ b/lib/models/CourseExDate.class.php
@@ -10,26 +10,27 @@
* @license http://www.gnu.org/licenses/gpl-2.0.html GPL version 2
* @category Stud.IP
*
- * @property string termin_id database column
- * @property string id alias column for termin_id
- * @property string range_id database column
- * @property string autor_id database column
- * @property string content database column
- * @property string date database column
- * @property string end_time database column
- * @property string mkdate database column
- * @property string chdate database column
- * @property string date_typ database column
- * @property string topic_id database column
- * @property string raum database column
- * @property string metadate_id database column
- * @property string resource_id database column
- * @property string topics computed column
- * @property string statusgruppen computed column
- * @property string dozenten computed column
- * @property User author belongs_to User
- * @property Course course belongs_to Course
- * @property SeminarCycleDate cycle belongs_to SeminarCycleDate
+ * @property string $id alias column for termin_id
+ * @property string $termin_id database column
+ * @property string $range_id database column
+ * @property string $autor_id database column
+ * @property string $content database column
+ * @property int $date database column
+ * @property int $end_time database column
+ * @property int $mkdate database column
+ * @property int $chdate database column
+ * @property int $date_typ database column
+ * @property string|null $raum database column
+ * @property string|null $metadate_id database column
+ * @property string $resource_id database column
+ * @property User $author belongs_to User
+ * @property Course $course belongs_to Course
+ * @property SeminarCycleDate|null $cycle belongs_to SeminarCycleDate
+ * @property-read mixed $topics additional field
+ * @property-read mixed $statusgruppen additional field
+ * @property-read mixed $dozenten additional field
+ * @property-read mixed $room_booking additional field
+ * @property-read mixed $room_request additional field
*/
class CourseExDate extends SimpleORMap implements PrivacyObject
diff --git a/lib/models/CourseMarkedEvent.class.php b/lib/models/CourseMarkedEvent.class.php
index 76cc050..96f0300 100644
--- a/lib/models/CourseMarkedEvent.class.php
+++ b/lib/models/CourseMarkedEvent.class.php
@@ -10,6 +10,42 @@
* @license http://www.gnu.org/licenses/gpl-2.0.html GPL version 2
* @category Stud.IP
*
+ * @property string $id alias for pk
+ * @property string $termin_id database column
+ * @property string $event_id alias column for termin_id
+ * @property string $range_id database column
+ * @property string $sem_id alias column for range_id
+ * @property string $autor_id database column
+ * @property string $author_id alias column for autor_id
+ * @property string $content database column
+ * @property int $date database column
+ * @property int $start alias column for date
+ * @property int $end_time database column
+ * @property int $end alias column for end_time
+ * @property int $mkdate database column
+ * @property int $chdate database column
+ * @property int $date_typ database column
+ * @property int $category_intern alias column for date_typ
+ * @property string|null $raum database column
+ * @property string|null $metadate_id database column
+ * @property SimpleORMapCollection|Folder[] $folders has_many Folder
+ * @property SimpleORMapCollection|RoomRequest[] $room_requests has_many RoomRequest
+ * @property SimpleORMapCollection|ResourceRequestAppointment[] $resource_request_appointments has_many ResourceRequestAppointment
+ * @property User $author belongs_to User
+ * @property Course $course belongs_to Course
+ * @property SeminarCycleDate|null $cycle belongs_to SeminarCycleDate
+ * @property ResourceBooking $room_booking has_one ResourceBooking
+ * @property SimpleORMapCollection|CourseTopic[] $topics has_and_belongs_to_many CourseTopic
+ * @property SimpleORMapCollection|Statusgruppen[] $statusgruppen has_and_belongs_to_many Statusgruppen
+ * @property SimpleORMapCollection|User[] $dozenten has_and_belongs_to_many User
+ * @property-read mixed $location additional field
+ * @property mixed $type additional field
+ * @property-read mixed $name additional field
+ * @property-read mixed $title additional field
+ * @property-read mixed $editor_id additional field
+ * @property-read mixed $uid additional field
+ * @property-read mixed $summary additional field
+ * @property-read mixed $description additional field
*/
class CourseMarkedEvent extends CourseEvent
diff --git a/lib/models/CourseMember.class.php b/lib/models/CourseMember.class.php
index 0988c5a..cb32abc 100644
--- a/lib/models/CourseMember.class.php
+++ b/lib/models/CourseMember.class.php
@@ -13,28 +13,27 @@
* @license http://www.gnu.org/licenses/gpl-2.0.html GPL version 2
* @category Stud.IP
*
- * @property string seminar_id database column
- * @property string user_id database column
- * @property string status database column
- * @property string position database column
- * @property string gruppe database column
- * @property string notification database column
- * @property string mkdate database column
- * @property string comment database column
- * @property string visible database column
- * @property string label database column
- * @property string bind_calendar database column
- * @property string vorname computed column read/write
- * @property string nachname computed column read/write
- * @property string username computed column read/write
- * @property string email computed column read/write
- * @property string title_front computed column read/write
- * @property string title_rear computed column read/write
- * @property string course_name computed column read/write
- * @property string id computed column read/write
- * @property SimpleORMapCollection datafields has_many DatafieldEntryModel
- * @property User user belongs_to User
- * @property Course course belongs_to Course
+ * @property array $id alias for pk
+ * @property string $seminar_id database column
+ * @property string $user_id database column
+ * @property string $status database column
+ * @property int $position database column
+ * @property int $gruppe database column
+ * @property int $mkdate database column
+ * @property string $comment database column
+ * @property string $visible database column
+ * @property string $label database column
+ * @property int $bind_calendar database column
+ * @property SimpleORMapCollection|DatafieldEntryModel[] $datafields has_many DatafieldEntryModel
+ * @property User $user belongs_to User
+ * @property Course $course belongs_to Course
+ * @property mixed $vorname additional field
+ * @property mixed $nachname additional field
+ * @property mixed $username additional field
+ * @property mixed $email additional field
+ * @property mixed $title_front additional field
+ * @property mixed $title_rear additional field
+ * @property mixed $course_name additional field
*/
class CourseMember extends SimpleORMap implements PrivacyObject
{
diff --git a/lib/models/CourseMemberNotification.php b/lib/models/CourseMemberNotification.php
index 3a1f072..e72ba76 100644
--- a/lib/models/CourseMemberNotification.php
+++ b/lib/models/CourseMemberNotification.php
@@ -13,15 +13,14 @@
* @license http://www.gnu.org/licenses/gpl-2.0.html GPL version 2
* @category Stud.IP
*
- * @property string seminar_id database column
- * @property string user_id database column
- * @property string notifications database column
- * @property string mkdate database column
- * @property string chdate database column
- * @property User user belongs_to User
- * @property Course course belongs_to Course
- *
- * @property JSONArrayObject notification_data
+ * @property array $id alias for pk
+ * @property string $user_id database column
+ * @property string $seminar_id database column
+ * @property JSONArrayObject|null $notification_data database column
+ * @property int $chdate database column
+ * @property int $mkdate database column
+ * @property User $user belongs_to User
+ * @property Course $course belongs_to Course
*/
class CourseMemberNotification extends SimpleORMap implements PrivacyObject
{
@@ -36,7 +35,7 @@ class CourseMemberNotification extends SimpleORMap implements PrivacyObject
'class_name' => Course::class,
'foreign_key' => 'seminar_id',
];
- $config['serialized_fields']['notification_data'] = 'JSONArrayObject';
+ $config['serialized_fields']['notification_data'] = JSONArrayObject::class;
parent::configure($config);
}
diff --git a/lib/models/CourseTopic.class.php b/lib/models/CourseTopic.class.php
index 61468d7..eb26efa 100644
--- a/lib/models/CourseTopic.class.php
+++ b/lib/models/CourseTopic.class.php
@@ -10,19 +10,21 @@
* @license http://www.gnu.org/licenses/gpl-2.0.html GPL version 2
* @category Stud.IP
*
- * @property string issue_id database column
- * @property string id alias column for issue_id
- * @property string seminar_id database column
- * @property string author_id database column
- * @property string title database column
- * @property string description database column
- * @property string priority database column
- * @property string mkdate database column
- * @property string chdate database column
- * @property Folder folder belongs_to DocumentFolder
- * @property Course course belongs_to Course
- * @property User author belongs_to User
- * @property SimpleORMapCollection dates has_and_belongs_to_many CourseDate
+ * @property string $id alias column for issue_id
+ * @property string $issue_id database column
+ * @property string $seminar_id database column
+ * @property string $author_id database column
+ * @property I18NString $title database column
+ * @property I18NString $description database column
+ * @property int $priority database column
+ * @property int $paper_related database column
+ * @property int $mkdate database column
+ * @property int $chdate database column
+ * @property SimpleORMapCollection|Folder[] $folders has_many Folder
+ * @property Course $course belongs_to Course
+ * @property User $author belongs_to User
+ * @property SimpleORMapCollection|CourseDate[] $dates has_and_belongs_to_many CourseDate
+ * @property-read mixed $forum_thread_url additional field
*/
class CourseTopic extends SimpleORMap
{
diff --git a/lib/models/CourseWizardStepRegistry.php b/lib/models/CourseWizardStepRegistry.php
index 4f9eb6fc..7c473c4 100644
--- a/lib/models/CourseWizardStepRegistry.php
+++ b/lib/models/CourseWizardStepRegistry.php
@@ -12,6 +12,14 @@
* @copyright 2015 Stud.IP Core-Group
* @license http://www.gnu.org/licenses/gpl-2.0.html GPL version 2
* @category Stud.IP
+ *
+ * @property string $id database column
+ * @property string $name database column
+ * @property string $classname database column
+ * @property int $number database column
+ * @property int $enabled database column
+ * @property int $mkdate database column
+ * @property int $chdate database column
*/
class CourseWizardStepRegistry extends SimpleORMap
@@ -48,4 +56,4 @@ class CourseWizardStepRegistry extends SimpleORMap
return sizeof(self::findBySQL("`enabled`=1")) > 0 ? true : false;
}
-} \ No newline at end of file
+}
diff --git a/lib/models/Courseware/Block.php b/lib/models/Courseware/Block.php
index f5d8b20..b794832 100644
--- a/lib/models/Courseware/Block.php
+++ b/lib/models/Courseware/Block.php
@@ -14,27 +14,27 @@ use User;
*
* @since Stud.IP 5.0
*
- * @property int $id database column
- * @property int $container_id database column
- * @property string $owner_id database column
- * @property string $editor_id database column
- * @property string $edit_blocker_id database column
- * @property int $position database column
- * @property string $block_type database column
- * @property int $visible database column
- * @property string $payload database column
- * @property int $mkdate database column
- * @property int $chdate database column
- * @property \Courseware\BlockTypes\BlockType $type computed column read/write
- * @property string $files computed column
- * @property \SimpleORMapCollection $data_fields has_many Courseware\UserDataField
- * @property \SimpleORMapCollection $comments has_many Courseware\BlockComment
- * @property \SimpleORMapCollection $block_feedback has_many Courseware\BlockFeedback
- * @property \SimpleORMapCollection $progresses has_many Courseware\UserProgress
- * @property \User $owner belongs_to User
- * @property \User $editor belongs_to User
- * @property \User $edit_blocker belongs_to User
- * @property \Courseware\Container $container belongs_to Courseware\Container
+ * @property int $id database column
+ * @property int $container_id database column
+ * @property string $owner_id database column
+ * @property string $editor_id database column
+ * @property string|null $edit_blocker_id database column
+ * @property int $position database column
+ * @property string|null $block_type database column
+ * @property int $visible database column
+ * @property string $payload database column
+ * @property int $mkdate database column
+ * @property int $chdate database column
+ * @property \SimpleORMapCollection|UserDataField[] $data_fields has_many UserDataField
+ * @property \SimpleORMapCollection|BlockComment[] $comments has_many BlockComment
+ * @property \SimpleORMapCollection|BlockFeedback[] $block_feedback has_many BlockFeedback
+ * @property \SimpleORMapCollection|UserProgress[] $progresses has_many UserProgress
+ * @property \User $owner belongs_to \User
+ * @property \User $editor belongs_to \User
+ * @property \User|null $edit_blocker belongs_to \User
+ * @property Container $container belongs_to Container
+ * @property mixed $type additional field
+ * @property-read mixed $files additional field
*/
class Block extends \SimpleORMap implements \PrivacyObject
{
diff --git a/lib/models/Courseware/BlockComment.php b/lib/models/Courseware/BlockComment.php
index fc68111..6191e1a 100644
--- a/lib/models/Courseware/BlockComment.php
+++ b/lib/models/Courseware/BlockComment.php
@@ -14,14 +14,14 @@ use User;
*
* @since Stud.IP 5.0
*
- * @property int $id database column
- * @property int $block_id database column
- * @property string $user_id database column
- * @property string $comment database column
- * @property int $mkdate database column
- * @property int $chdate database column
- * @property \User $user belongs_to User
- * @property \Courseware\Block $block belongs_to Courseware\Block
+ * @property int $id database column
+ * @property int $block_id database column
+ * @property string $user_id database column
+ * @property string $comment database column
+ * @property int $mkdate database column
+ * @property int $chdate database column
+ * @property \User $user belongs_to \User
+ * @property Block $block belongs_to Block
*/
class BlockComment extends \SimpleORMap implements \PrivacyObject
{
diff --git a/lib/models/Courseware/BlockFeedback.php b/lib/models/Courseware/BlockFeedback.php
index 21eed5d..1be3b3c 100644
--- a/lib/models/Courseware/BlockFeedback.php
+++ b/lib/models/Courseware/BlockFeedback.php
@@ -12,14 +12,14 @@ use User;
*
* @since Stud.IP 5.0
*
- * @property int $id database column
- * @property int $block_id database column
- * @property string $user_id database column
- * @property string $feedback database column
- * @property int $mkdate database column
- * @property int $chdate database column
- * @property \User $user belongs_to User
- * @property \Courseware\Block $block belongs_to Courseware\Block
+ * @property int $id database column
+ * @property int $block_id database column
+ * @property string $user_id database column
+ * @property string $feedback database column
+ * @property int $mkdate database column
+ * @property int $chdate database column
+ * @property \User $user belongs_to \User
+ * @property Block $block belongs_to Block
*/
class BlockFeedback extends \SimpleORMap implements \PrivacyObject
{
diff --git a/lib/models/Courseware/Bookmark.php b/lib/models/Courseware/Bookmark.php
index ddff953..0cd4c59 100644
--- a/lib/models/Courseware/Bookmark.php
+++ b/lib/models/Courseware/Bookmark.php
@@ -12,13 +12,13 @@ namespace Courseware;
*
* @since Stud.IP 5.0
*
- * @property array $id computed column read/write
- * @property string $user_id database column
- * @property int $element_id database column
- * @property int $mkdate database column
- * @property int $chdate database column
- * @property \User $user belongs_to User
- * @property \Courseware\StructuralElement $element belongs_to Courseware\StructuralElement
+ * @property array $id alias for pk
+ * @property string $user_id database column
+ * @property int $element_id database column
+ * @property int $mkdate database column
+ * @property int $chdate database column
+ * @property \User $user belongs_to \User
+ * @property StructuralElement $element belongs_to StructuralElement
*/
class Bookmark extends \SimpleORMap implements \PrivacyObject
{
diff --git a/lib/models/Courseware/Certificate.php b/lib/models/Courseware/Certificate.php
index d0c9fd9..579c729 100644
--- a/lib/models/Courseware/Certificate.php
+++ b/lib/models/Courseware/Certificate.php
@@ -12,10 +12,13 @@ use \User, \Course;
*
* @since Stud.IP 5.3
*
- * @property string $id database column
- * @property string $user_id database column
- * @property string $course_id database column
- * @property int $mkdate database column
+ * @property string $id database column
+ * @property string $user_id database column
+ * @property string $course_id database column
+ * @property int $unit_id database column
+ * @property int $mkdate database column
+ * @property \User $user belongs_to \User
+ * @property \Course $course belongs_to \Course
*/
class Certificate extends \SimpleORMap
{
diff --git a/lib/models/Courseware/Container.php b/lib/models/Courseware/Container.php
index ac5ef60..a4f773f 100644
--- a/lib/models/Courseware/Container.php
+++ b/lib/models/Courseware/Container.php
@@ -2,6 +2,7 @@
namespace Courseware;
+use JSONArrayObject;
use User;
/**
@@ -14,24 +15,24 @@ use User;
*
* @since Stud.IP 5.0
*
- * @property int $id database column
- * @property int $structural_element_id database column
- * @property string $owner_id database column
- * @property string $editor_id database column
- * @property string $edit_blocker_id database column
- * @property int $position database column
- * @property int $site database column
- * @property string $container_type database column
- * @property int $visible database column
- * @property string $payload database column
- * @property int $mkdate database column
- * @property int $chdate database column
- * @property \Courseware\ContainerTypes\ContainerType $type computed column read/write
- * @property \SimpleORMapCollection $blocks has_many Courseware\Block
- * @property \User $owner belongs_to User
- * @property \User $editor belongs_to User
- * @property \User $edit_blocker belongs_to User
- * @property \Courseware\StructuralElement $structural_element belongs_to Courseware\StructuralElement
+ * @property int $id database column
+ * @property int $structural_element_id database column
+ * @property string $owner_id database column
+ * @property string $editor_id database column
+ * @property string|null $edit_blocker_id database column
+ * @property int $position database column
+ * @property int $site database column
+ * @property string $container_type database column
+ * @property int $visible database column
+ * @property \JSONArrayObject $payload database column
+ * @property int $mkdate database column
+ * @property int $chdate database column
+ * @property \SimpleORMapCollection|Block[] $blocks has_many Block
+ * @property \User $owner belongs_to \User
+ * @property \User $editor belongs_to \User
+ * @property \User|null $edit_blocker belongs_to \User
+ * @property StructuralElement $structural_element belongs_to StructuralElement
+ * @property mixed $type additional field
*/
class Container extends \SimpleORMap implements \PrivacyObject
{
@@ -39,7 +40,7 @@ class Container extends \SimpleORMap implements \PrivacyObject
{
$config['db_table'] = 'cw_containers';
- $config['serialized_fields']['payload'] = 'JSONArrayObject';
+ $config['serialized_fields']['payload'] = JSONArrayObject::class;
$config['has_many']['blocks'] = [
'class_name' => Block::class,
@@ -145,7 +146,7 @@ class Container extends \SimpleORMap implements \PrivacyObject
'payload' => $this['payload'],
]);
- list($blockMapIds, $blockMapObjs) = $this->copyBlocks($user, $container);
+ [$blockMapIds, $blockMapObjs] = $this->copyBlocks($user, $container);
$container['payload'] = $container->type->copyPayload($blockMapIds);
diff --git a/lib/models/Courseware/PublicLink.php b/lib/models/Courseware/PublicLink.php
index d02e077..16e61dc 100644
--- a/lib/models/Courseware/PublicLink.php
+++ b/lib/models/Courseware/PublicLink.php
@@ -10,12 +10,15 @@ namespace Courseware;
*
* @since Stud.IP 5.2
*
-* @property string $id database column
-* @property int $structural_element_id database column
-* @property string $password database column
-* @property int $expire_date database column
-* @property int $mkdate database column
-* @property int $chdate database column
+ *
+ * @property string $id database column
+ * @property string $user_id database column
+ * @property int $structural_element_id database column
+ * @property string $password database column
+ * @property int $expire_date database column
+ * @property int $mkdate database column
+ * @property int $chdate database column
+ * @property StructuralElement $structural_element belongs_to StructuralElement
*/
class PublicLink extends \SimpleORMap
{
diff --git a/lib/models/Courseware/StructuralElement.php b/lib/models/Courseware/StructuralElement.php
index 8c6d1de..940547e 100644
--- a/lib/models/Courseware/StructuralElement.php
+++ b/lib/models/Courseware/StructuralElement.php
@@ -2,6 +2,7 @@
namespace Courseware;
+use JSONArrayObject;
use User;
/**
@@ -14,45 +15,42 @@ use User;
*
* @since Stud.IP 5.0
*
- * @property int $id database column
- * @property int $parent_id database column
- * @property int $is_link database column
- * @property int $target_id database column
- * @property string $range_id database column
- * @property string $range_type database column
- * @property string $owner_id database column
- * @property string $editor_id database column
- * @property string $edit_blocker_id database column
- * @property int $position database column
- * @property string $title database column
- * @property string $image_id database column
- * @property string $image_type database column
- * @property string $purpose database column
- * @property \JSONArrayObject $payload database column
- * @property int $public database column
- * @property string $release_date database column
- * @property string $withdraw_date database column
- * @property \JSONArrayObject $read_approval database column
- * @property \JSONArrayObject $write_approval database column
- * @property \JSONArrayObject $copy_approval database column
- * @property \JSONArrayObject $external_relations database column
- * @property int $mkdate database column
- * @property int $chdate database column
- * @property \SimpleORMapCollection $children has_many Courseware\StructuralElement
- * @property \SimpleORMapCollection $containers has_many Courseware\Container
- * @property ?\Courseware\StructuralElement $parent belongs_to Courseware\StructuralElement
- * @property \User $user belongs_to User
- * @property \Course $course belongs_to Course
- * @property \User $owner belongs_to User
- * @property \User $editor belongs_to User
- * @property ?\User $edit_blocker belongs_to User
- * @property \FileRef|\StockImage|null $image has_one FileRef or StockImage
- * @property ?\Courseware\Task $task has_one Courseware\Task
- * @property \SimpleORMapCollection $comments has_many Courseware\StructuralElementComment
- * @property \SimpleORMapCollection $feedback has_many Courseware\StructuralElementFeedback
- *
- * @SuppressWarnings(PHPMD.TooManyPublicMethods)
- * @SuppressWarnings(PHPMD.ExcessiveClassComplexity)
+ * @property int $id database column
+ * @property int|null $parent_id database column
+ * @property int $is_link database column
+ * @property int|null $target_id database column
+ * @property string $range_id database column
+ * @property string|null $range_type database column
+ * @property string $owner_id database column
+ * @property string $editor_id database column
+ * @property string|null $edit_blocker_id database column
+ * @property int $position database column
+ * @property string $title database column
+ * @property string|null $image_id database column
+ * @property string $image_type database column
+ * @property string|null $purpose database column
+ * @property \JSONArrayObject $payload database column
+ * @property int $public database column
+ * @property int $release_date database column
+ * @property int $withdraw_date database column
+ * @property \JSONArrayObject $read_approval database column
+ * @property \JSONArrayObject $write_approval database column
+ * @property \JSONArrayObject $copy_approval database column
+ * @property \JSONArrayObject $external_relations database column
+ * @property int $mkdate database column
+ * @property int $chdate database column
+ * @property \SimpleORMapCollection|StructuralElement[] $children has_many StructuralElement
+ * @property \SimpleORMapCollection|Container[] $containers has_many Container
+ * @property \SimpleORMapCollection|StructuralElementComment[] $comments has_many StructuralElementComment
+ * @property \SimpleORMapCollection|StructuralElementFeedback[] $feedback has_many StructuralElementFeedback
+ * @property StructuralElement|null $parent belongs_to StructuralElement
+ * @property \User $user belongs_to \User
+ * @property \Course $course belongs_to \Course
+ * @property \User $owner belongs_to \User
+ * @property \User $editor belongs_to \User
+ * @property \User|null $edit_blocker belongs_to \User
+ * @property Task $task has_one Task
+ * @property mixed $image additional field
*/
class StructuralElement extends \SimpleORMap implements \PrivacyObject
{
@@ -60,11 +58,11 @@ class StructuralElement extends \SimpleORMap implements \PrivacyObject
{
$config['db_table'] = 'cw_structural_elements';
- $config['serialized_fields']['payload'] = 'JSONArrayObject';
- $config['serialized_fields']['read_approval'] = 'JSONArrayObject';
- $config['serialized_fields']['write_approval'] = 'JSONArrayObject';
- $config['serialized_fields']['copy_approval'] = 'JSONArrayObject';
- $config['serialized_fields']['external_relations'] = 'JSONArrayObject';
+ $config['serialized_fields']['payload'] = JSONArrayObject::class;
+ $config['serialized_fields']['read_approval'] = JSONArrayObject::class;
+ $config['serialized_fields']['write_approval'] = JSONArrayObject::class;
+ $config['serialized_fields']['copy_approval'] = JSONArrayObject::class;
+ $config['serialized_fields']['external_relations'] = JSONArrayObject::class;
$config['has_many']['children'] = [
'class_name' => StructuralElement::class,
@@ -898,7 +896,7 @@ SQL;
$element->store();
- list($containerMap, $blockMap) = $this->copyContainers($user, $element);
+ [$containerMap, $blockMap] = $this->copyContainers($user, $element);
$mappingId = $recursiveId === '' ? $this->id . '_' . $element->id : $recursiveId;
if (!isset($mapping[$mappingId])) {
@@ -1003,7 +1001,7 @@ SQL;
$containerMap = [];
$blockMap = [];
foreach ($this->containers as $container) {
- list($newContainer, $blockMapsObjs) = $container->copy($user, $newElement);
+ [$newContainer, $blockMapsObjs] = $container->copy($user, $newElement);
$containerMap[$container->id] = $newContainer->id;
$blockMap = $blockMap + $blockMapsObjs;
}
diff --git a/lib/models/Courseware/StructuralElementComment.php b/lib/models/Courseware/StructuralElementComment.php
index 1e046c4..5ce4003 100644
--- a/lib/models/Courseware/StructuralElementComment.php
+++ b/lib/models/Courseware/StructuralElementComment.php
@@ -12,14 +12,14 @@ use User;
*
* @since Stud.IP 5.1
*
- * @property int $id database column
- * @property int $structural_element_id database column
- * @property string $user_id database column
- * @property string $comment database column
- * @property int $mkdate database column
- * @property int $chdate database column
- * @property \User $user belongs_to User
- * @property \Courseware\StructuralElement $structural_element belongs_to Courseware\StructuralElement
+ * @property int $id database column
+ * @property int $structural_element_id database column
+ * @property string $user_id database column
+ * @property string $comment database column
+ * @property int $mkdate database column
+ * @property int $chdate database column
+ * @property \User $user belongs_to \User
+ * @property StructuralElement $structural_element belongs_to StructuralElement
*/
class StructuralElementComment extends \SimpleORMap implements \PrivacyObject
{
diff --git a/lib/models/Courseware/StructuralElementFeedback.php b/lib/models/Courseware/StructuralElementFeedback.php
index c7435d0..f13d473 100644
--- a/lib/models/Courseware/StructuralElementFeedback.php
+++ b/lib/models/Courseware/StructuralElementFeedback.php
@@ -12,14 +12,14 @@ use User;
*
* @since Stud.IP 5.1
*
- * @property int $id database column
- * @property int $structural_element_id database column
- * @property string $user_id database column
- * @property string $feedback database column
- * @property int $mkdate database column
- * @property int $chdate database column
- * @property \User $user belongs_to User
- * @property \Courseware\StructuralElement $structural_element belongs_to Courseware\StructuralElement
+ * @property int $id database column
+ * @property int $structural_element_id database column
+ * @property string $user_id database column
+ * @property string $feedback database column
+ * @property int $mkdate database column
+ * @property int $chdate database column
+ * @property \User $user belongs_to \User
+ * @property StructuralElement $structural_element belongs_to StructuralElement
*/
class StructuralElementFeedback extends \SimpleORMap implements \PrivacyObject
{
diff --git a/lib/models/Courseware/Task.php b/lib/models/Courseware/Task.php
index d8ecb80..3a68d3e 100644
--- a/lib/models/Courseware/Task.php
+++ b/lib/models/Courseware/Task.php
@@ -16,20 +16,22 @@ use User;
* @property int $task_group_id database column
* @property int $structural_element_id database column
* @property string $solver_id database column
- * @property string $solver_type database column
+ * @property string|null $solver_type database column
* @property int $submission_date database column
* @property int $submitted database column
- * @property string $renewal database column
+ * @property string|null $renewal database column
* @property int $renewal_date database column
- * @property int $feedback_id database column
+ * @property int|null $feedback_id database column
* @property int $mkdate database column
* @property int $chdate database column
- * @property \Courseware\TaskGroup $task_group belongs_to Courseware\TaskGroup
- * @property \Courseware\StructuralElement $structural_element belongs_to Courseware\TaskGroup
- * @property \User $user belongs_to User
- * @property \Statusgruppen $group belongs_to Statusgruppen
- * @property \Courseware\TaskFeedback $task_feedback belongs_to Courseware\TaskFeedback
- * @property-read \User|\Statusgruppen|null $solver belongs_to User or Statusgruppen
+ * @property TaskGroup $task_group belongs_to TaskGroup
+ * @property StructuralElement $structural_element belongs_to StructuralElement
+ * @property \User $lecturer belongs_to \User
+ * @property \User $user belongs_to \User
+ * @property \Statusgruppen $group belongs_to \Statusgruppen
+ * @property \Course $course belongs_to \Course
+ * @property TaskFeedback|null $task_feedback belongs_to TaskFeedback
+ * @property mixed $solver additional field
*/
class Task extends \SimpleORMap
{
diff --git a/lib/models/Courseware/TaskFeedback.php b/lib/models/Courseware/TaskFeedback.php
index 987aae9..2c549ad 100644
--- a/lib/models/Courseware/TaskFeedback.php
+++ b/lib/models/Courseware/TaskFeedback.php
@@ -12,15 +12,15 @@ use User;
*
* @since Stud.IP 5.1
*
-* @property int $id database column
-* @property int $task_id database column
-* @property string $lecturer_id database column
-* @property string $content database column
-* @property int $mkdate database column
-* @property int $chdate database column
-
-* @property \User $lecturer belongs_to User
-* @property \Courseware\Task $task belongs_to Courseware\Task
+ *
+ * @property int $id database column
+ * @property int $task_id database column
+ * @property string $lecturer_id database column
+ * @property string $content database column
+ * @property int $mkdate database column
+ * @property int $chdate database column
+ * @property \User $lecturer belongs_to \User
+ * @property Task $task belongs_to Task
*/
class TaskFeedback extends \SimpleORMap implements \PrivacyObject
{
diff --git a/lib/models/Courseware/TaskGroup.php b/lib/models/Courseware/TaskGroup.php
index d328663..092edf6 100644
--- a/lib/models/Courseware/TaskGroup.php
+++ b/lib/models/Courseware/TaskGroup.php
@@ -12,18 +12,18 @@ use User;
*
* @since Stud.IP 5.1
*
- * @property int $id database column
- * @property string $seminar_id database column
- * @property string $lecturer_id database column
- * @property int $structural_element_id database column
- * @property int $solver_may_add_blocks database column
- * @property string $title database column
- * @property int $mkdate database column
- * @property int $chdate database column
- * @property \User $lecturer belongs_to User
- * @property \Course $course belongs_to Course
- * @property \Courseware\StructuralElement $structural_element belongs_to Courseware\StructuralElement
- * @property \SimpleORMapCollection $tasks has_many Courseware\Task
+ * @property int $id database column
+ * @property string $seminar_id database column
+ * @property string $lecturer_id database column
+ * @property int $target_id database column
+ * @property int $task_template_id database column
+ * @property int $solver_may_add_blocks database column
+ * @property string $title database column
+ * @property int $mkdate database column
+ * @property int $chdate database column
+ * @property \SimpleORMapCollection|Task[] $tasks has_many Task
+ * @property \User $lecturer belongs_to \User
+ * @property \Course $course belongs_to \Course
*/
class TaskGroup extends \SimpleORMap implements \PrivacyObject
{
diff --git a/lib/models/Courseware/Template.php b/lib/models/Courseware/Template.php
index 8161d98..11a6c5f 100644
--- a/lib/models/Courseware/Template.php
+++ b/lib/models/Courseware/Template.php
@@ -10,12 +10,13 @@ namespace Courseware;
*
* @since Stud.IP 5.1
*
-* @property int $id database column
-* @property string $name database column
-* @property string $purpose database column
-* @property string $structure database column
-* @property int $mkdate database column
-* @property int $chdate database column
+ *
+ * @property int $id database column
+ * @property string $name database column
+ * @property string|null $purpose database column
+ * @property string $structure database column
+ * @property int $mkdate database column
+ * @property int $chdate database column
*/
class Template extends \SimpleORMap
{
@@ -25,4 +26,4 @@ class Template extends \SimpleORMap
parent::configure($config);
}
-} \ No newline at end of file
+}
diff --git a/lib/models/Courseware/Unit.php b/lib/models/Courseware/Unit.php
index 647f9f9..e89b04d 100644
--- a/lib/models/Courseware/Unit.php
+++ b/lib/models/Courseware/Unit.php
@@ -2,6 +2,7 @@
namespace Courseware;
+use JSONArrayObject;
use User;
/**
@@ -12,23 +13,22 @@ use User;
*
* @since Stud.IP 5.3
*
- * @property int $id database column
- * @property string $range_id database column
- * @property string $range_type database column
- * @property int $structural_element_id database column
- * @property string $content_type database column
- * @property int $public database column
- * @property string $creator_id database column
- * @property int $release_date database column
- * @property int $withdraw_date database column
- * @property \JSONArrayObject $config database column
- * @property int $mkdate database column
- * @property int $chdate database column
- * @property \User $creator belongs_to User
- * @property \Courseware\StructuralElement $structural_element belongs_to Courseware\StructuralElement
- *
- * @SuppressWarnings(PHPMD.TooManyPublicMethods)
- * @SuppressWarnings(PHPMD.ExcessiveClassComplexity)
+ * @property int $id database column
+ * @property string|null $range_id database column
+ * @property string|null $range_type database column
+ * @property int $structural_element_id database column
+ * @property string $content_type database column
+ * @property int $public database column
+ * @property string|null $creator_id database column
+ * @property int|null $release_date database column
+ * @property int|null $withdraw_date database column
+ * @property \JSONArrayObject $config database column
+ * @property int $mkdate database column
+ * @property int $chdate database column
+ * @property \Course|null $course belongs_to \Course
+ * @property \User|null $user belongs_to \User
+ * @property \User|null $creator belongs_to \User
+ * @property StructuralElement $structural_element has_one StructuralElement
*/
class Unit extends \SimpleORMap implements \PrivacyObject
@@ -37,7 +37,7 @@ class Unit extends \SimpleORMap implements \PrivacyObject
{
$config['db_table'] = 'cw_units';
- $config['serialized_fields']['config'] = 'JSONArrayObject';
+ $config['serialized_fields']['config'] = JSONArrayObject::class;
$config['has_one']['structural_element'] = [
'class_name' => StructuralElement::class,
diff --git a/lib/models/Courseware/UserDataField.php b/lib/models/Courseware/UserDataField.php
index af60880..011b9da 100644
--- a/lib/models/Courseware/UserDataField.php
+++ b/lib/models/Courseware/UserDataField.php
@@ -2,6 +2,8 @@
namespace Courseware;
+use JSONArrayObject;
+
/**
* Courseware's user data fields.
*
@@ -12,14 +14,14 @@ namespace Courseware;
*
* @since Stud.IP 5.0
*
- * @property array $id computed column read/write
- * @property string $user_id database column
- * @property id $block_id database column
- * @property \JSONArrayObject $payload database column
- * @property int $mkdate database column
- * @property int $chdate database column
- * @property \Courseware\Block $block belongs_to Courseware\Block
- * @property \User $user belongs_to User
+ * @property array $id alias for pk
+ * @property string $user_id database column
+ * @property int $block_id database column
+ * @property \JSONArrayObject $payload database column
+ * @property int $mkdate database column
+ * @property int $chdate database column
+ * @property Block $block belongs_to Block
+ * @property \User $user belongs_to \User
*/
class UserDataField extends \SimpleORMap implements \PrivacyObject
{
@@ -27,7 +29,7 @@ class UserDataField extends \SimpleORMap implements \PrivacyObject
{
$config['db_table'] = 'cw_user_data_fields';
- $config['serialized_fields']['payload'] = 'JSONArrayObject';
+ $config['serialized_fields']['payload'] = JSONArrayObject::class;
$config['belongs_to']['block'] = [
'class_name' => Block::class,
diff --git a/lib/models/Courseware/UserProgress.php b/lib/models/Courseware/UserProgress.php
index 195fd89..0cecf22 100644
--- a/lib/models/Courseware/UserProgress.php
+++ b/lib/models/Courseware/UserProgress.php
@@ -12,14 +12,14 @@ namespace Courseware;
*
* @since Stud.IP 5.0
*
- * @property array $id computed column read/write
- * @property string $user_id database column
- * @property int $block_id database column
- * @property string $grade database column
- * @property string $mkdate database column
- * @property string $chdate database column
- * @property \Courseware\Block $block belongs_to Courseware\Block
- * @property \User $user belongs_to User
+ * @property array $id alias for pk
+ * @property string $user_id database column
+ * @property int $block_id database column
+ * @property float $grade database column
+ * @property int $mkdate database column
+ * @property int $chdate database column
+ * @property Block $block belongs_to Block
+ * @property \User $user belongs_to \User
*/
class UserProgress extends \SimpleORMap implements \PrivacyObject
{
diff --git a/lib/models/CronjobLog.class.php b/lib/models/CronjobLog.class.php
index 942bf6a..c9e92f7 100644
--- a/lib/models/CronjobLog.class.php
+++ b/lib/models/CronjobLog.class.php
@@ -27,15 +27,15 @@
* @category Stud.IP
* @since 2.4
*
- * @property string log_id database column
- * @property string id alias column for log_id
- * @property string schedule_id database column
- * @property string scheduled database column
- * @property string executed database column
- * @property string exception database column
- * @property string output database column
- * @property string duration database column
- * @property CronjobSchedule schedule belongs_to CronjobSchedule
+ * @property string $id alias column for log_id
+ * @property string $log_id database column
+ * @property string $schedule_id database column
+ * @property int $scheduled database column
+ * @property int $executed database column
+ * @property string|null $exception database column
+ * @property string|null $output database column
+ * @property float $duration database column
+ * @property CronjobSchedule $schedule belongs_to CronjobSchedule
*/
class CronjobLog extends SimpleORMap
diff --git a/lib/models/CronjobSchedule.class.php b/lib/models/CronjobSchedule.class.php
index 028eed7..6fcb68f 100644
--- a/lib/models/CronjobSchedule.class.php
+++ b/lib/models/CronjobSchedule.class.php
@@ -27,28 +27,28 @@
* @category Stud.IP
* @since 2.4
*
- * @property string schedule_id database column
- * @property string id alias column for schedule_id
- * @property string task_id database column
- * @property string active database column
- * @property string title database column
- * @property string description database column
- * @property string parameters database column
- * @property string priority database column
- * @property string type database column
- * @property string minute database column
- * @property string hour database column
- * @property string day database column
- * @property string month database column
- * @property string day_of_week database column
- * @property string next_execution database column
- * @property string last_execution database column
- * @property string last_result database column
- * @property string execution_count database column
- * @property string mkdate database column
- * @property string chdate database column
- * @property SimpleORMapCollection logs has_many CronjobLog
- * @property CronjobTask task belongs_to CronjobTask
+ * @property string $id alias column for schedule_id
+ * @property string $schedule_id database column
+ * @property string $task_id database column
+ * @property int $active database column
+ * @property string|null $title database column
+ * @property string|null $description database column
+ * @property string|null $parameters database column
+ * @property string $priority database column
+ * @property string $type database column
+ * @property int|null $minute database column
+ * @property int|null $hour database column
+ * @property int|null $day database column
+ * @property int|null $month database column
+ * @property int|null $day_of_week database column
+ * @property int $next_execution database column
+ * @property int|null $last_execution database column
+ * @property string|null $last_result database column
+ * @property int $execution_count database column
+ * @property int $mkdate database column
+ * @property int $chdate database column
+ * @property SimpleORMapCollection|CronjobLog[] $logs has_many CronjobLog
+ * @property CronjobTask $task belongs_to CronjobTask
*/
class CronjobSchedule extends SimpleORMap
diff --git a/lib/models/CronjobTask.class.php b/lib/models/CronjobTask.class.php
index 0313e9b..f235951 100644
--- a/lib/models/CronjobTask.class.php
+++ b/lib/models/CronjobTask.class.php
@@ -27,18 +27,19 @@
* @category Stud.IP
* @since 2.4
*
- * @property string task_id database column
- * @property string id alias column for task_id
- * @property string filename database column
- * @property string class database column
- * @property string active database column
- * @property string execution_count database column
- * @property string assigned_count database column
- * @property SimpleORMapCollection schedules has_many CronjobSchedule
- *
- * @property string $description
- * @property string $name
- * @property array $parameters
+ * @property string $id alias column for task_id
+ * @property string $task_id database column
+ * @property string $filename database column
+ * @property string $class database column
+ * @property int $active database column
+ * @property int $execution_count database column
+ * @property int $assigned_count database column
+ * @property int|null $mkdate database column
+ * @property int|null $chdate database column
+ * @property SimpleORMapCollection|CronjobSchedule[] $schedules has_many CronjobSchedule
+ * @property-read mixed $description additional field
+ * @property-read mixed $name additional field
+ * @property-read mixed $parameters additional field
*/
class CronjobTask extends SimpleORMap
{
diff --git a/lib/models/DataField.class.php b/lib/models/DataField.class.php
index ae7b7ac..2d745a9 100644
--- a/lib/models/DataField.class.php
+++ b/lib/models/DataField.class.php
@@ -13,25 +13,27 @@
* @license http://www.gnu.org/licenses/gpl-2.0.html GPL version 2
* @category Stud.IP
*
- * @property string datafield_id database column
- * @property string id alias column for datafield_id
- * @property string name database column
- * @property string object_type database column
- * @property string object_class database column
- * @property string edit_perms database column
- * @property string view_perms database column
- * @property string institut_id database column
- * @property string system database column
- * @property string priority database column
- * @property string mkdate database column
- * @property string chdate database column
- * @property string type database column
- * @property string typeparam database column
- * @property string is_required database column
- * @property string default_value database column
- * @property string is_userfilter database column
- * @property string description database column
- * @property SimpleORMapCollection entries has_many DatafieldEntryModel
+ * @property string $id alias column for datafield_id
+ * @property string $datafield_id database column
+ * @property I18NString|null $name database column
+ * @property string|null $object_type database column
+ * @property string|null $object_class database column
+ * @property string|null $edit_perms database column
+ * @property string|null $view_perms database column
+ * @property string|null $institut_id database column
+ * @property int $priority database column
+ * @property int|null $mkdate database column
+ * @property int|null $chdate database column
+ * @property string $type database column
+ * @property string $typeparam database column
+ * @property int $is_required database column
+ * @property string|null $default_value database column
+ * @property int $is_userfilter database column
+ * @property string $description database column
+ * @property int $system database column
+ * @property SimpleORMapCollection|DatafieldEntryModel[] $entries has_many DatafieldEntryModel
+ * @property SimpleORMapCollection|User_Visibility_Settings[] $visibility_settings has_many User_Visibility_Settings
+ * @property mixed $institution additional field
*/
class DataField extends SimpleORMap implements PrivacyObject
{
diff --git a/lib/models/DatafieldEntryModel.class.php b/lib/models/DatafieldEntryModel.class.php
index e1c2406..33503e3 100644
--- a/lib/models/DatafieldEntryModel.class.php
+++ b/lib/models/DatafieldEntryModel.class.php
@@ -13,15 +13,16 @@
* @license http://www.gnu.org/licenses/gpl-2.0.html GPL version 2
* @category Stud.IP
*
- * @property string datafield_id database column
- * @property string range_id database column
- * @property string content database column
- * @property string mkdate database column
- * @property string chdate database column
- * @property string sec_range_id database column
- * @property string name computed column read/write
- * @property string id computed column read/write
- * @property Datafield datafield belongs_to Datafield
+ * @property array $id alias for pk
+ * @property string $datafield_id database column
+ * @property string $range_id database column
+ * @property string|null $content database column
+ * @property int|null $mkdate database column
+ * @property int|null $chdate database column
+ * @property string $sec_range_id database column
+ * @property string $lang database column
+ * @property DataField $datafield belongs_to DataField
+ * @property mixed $name additional field
*/
class DatafieldEntryModel extends SimpleORMap implements PrivacyObject
diff --git a/lib/models/DatafieldEntryModelI18N.class.php b/lib/models/DatafieldEntryModelI18N.class.php
index bea234d..aa93a63 100644
--- a/lib/models/DatafieldEntryModelI18N.class.php
+++ b/lib/models/DatafieldEntryModelI18N.class.php
@@ -14,15 +14,16 @@
* @category Stud.IP
* @since 4.1
*
- * @property string datafield_id database column
- * @property string range_id database column
- * @property string content database column
- * @property string mkdate database column
- * @property string chdate database column
- * @property string sec_range_id database column
- * @property string name computed column read/write
- * @property string id computed column read/write
- * @property Datafield datafield belongs_to Datafield
+ * @property array $id alias for pk
+ * @property string $datafield_id database column
+ * @property string $range_id database column
+ * @property I18NString|null $content database column
+ * @property int|null $mkdate database column
+ * @property int|null $chdate database column
+ * @property string $sec_range_id database column
+ * @property string $lang database column
+ * @property DataField $datafield belongs_to DataField
+ * @property mixed $name additional field
*/
class DatafieldEntryModelI18N extends DatafieldEntryModel
diff --git a/lib/models/Degree.class.php b/lib/models/Degree.class.php
index c5b83c5..6fef834 100644
--- a/lib/models/Degree.class.php
+++ b/lib/models/Degree.class.php
@@ -13,12 +13,17 @@
* @license http://www.gnu.org/licenses/gpl-2.0.html GPL version 2
* @category Stud.IP
*
- * @property string abschluss_id database column
- * @property string id alias column for abschluss_id
- * @property string name database column
- * @property string beschreibung database column
- * @property string mkdate database column
- * @property string chdate database column
+ * @property string $id alias column for abschluss_id
+ * @property string $abschluss_id database column
+ * @property string $name database column
+ * @property string|null $name_kurz database column
+ * @property string|null $beschreibung database column
+ * @property string $author_id database column
+ * @property string $editor_id database column
+ * @property int|null $mkdate database column
+ * @property int|null $chdate database column
+ * @property SimpleORMapCollection|StudyCourse[] $professions has_and_belongs_to_many StudyCourse
+ * @property-read mixed $count_user additional field
*/
class Degree extends SimpleORMap
{
diff --git a/lib/models/Deputy.php b/lib/models/Deputy.php
index eef56d4..f433e22 100644
--- a/lib/models/Deputy.php
+++ b/lib/models/Deputy.php
@@ -13,14 +13,26 @@
* @license http://www.gnu.org/licenses/gpl-2.0.html GPL version 2
* @category Stud.IP
*
- * @property string range_id database column
- * @property string user_id database column
- * @property string gruppe database column
- * @property string notification database column
- * @property string edit_about database column
- * @property User deputy belongs_to User
- * @property Course course belongs_to Course
- * @property User boss has_one User
+ * @property array $id alias for pk
+ * @property string $range_id database column
+ * @property string $user_id database column
+ * @property int $gruppe database column
+ * @property int $notification database column
+ * @property int $edit_about database column
+ * @property int|null $mkdate database column
+ * @property int|null $chdate database column
+ * @property User $deputy belongs_to User
+ * @property Course $course belongs_to Course
+ * @property User $boss belongs_to User
+ * @property mixed $vorname additional field
+ * @property mixed $nachname additional field
+ * @property mixed $username additional field
+ * @property mixed $perms additional field
+ * @property mixed $boss_vorname additional field
+ * @property mixed $boss_nachname additional field
+ * @property mixed $boss_username additional field
+ * @property mixed $course_name additional field
+ * @property mixed $course_number additional field
*/
class Deputy extends SimpleORMap
{
diff --git a/lib/models/EventData.class.php b/lib/models/EventData.class.php
index e5e4140..75e6f0c 100644
--- a/lib/models/EventData.class.php
+++ b/lib/models/EventData.class.php
@@ -11,6 +11,38 @@
* @license http://www.gnu.org/licenses/gpl-2.0.html GPL version 2
* @category Stud.IP
* @since 3.2
+ *
+ * @property string $id alias column for event_id
+ * @property string $event_id database column
+ * @property string $author_id database column
+ * @property string|null $editor_id database column
+ * @property string $uid database column
+ * @property int $start database column
+ * @property int $end database column
+ * @property string $summary database column
+ * @property string|null $description database column
+ * @property string $class database column
+ * @property string|null $categories database column
+ * @property int $category_intern database column
+ * @property int $priority database column
+ * @property string|null $location database column
+ * @property int $ts database column
+ * @property int|null $linterval database column
+ * @property int|null $sinterval database column
+ * @property string|null $wdays database column
+ * @property int|null $month database column
+ * @property int|null $day database column
+ * @property string $rtype database column
+ * @property int $duration database column
+ * @property int|null $count database column
+ * @property int $expire database column
+ * @property string|null $exceptions database column
+ * @property int $mkdate database column
+ * @property int $chdate database column
+ * @property int $importdate database column
+ * @property SimpleORMapCollection|CalendarEvent[] $calendars has_many CalendarEvent
+ * @property User $author belongs_to User
+ * @property User|null $editor belongs_to User
*/
class EventData extends SimpleORMap implements PrivacyObject
diff --git a/lib/models/ExternalUser.php b/lib/models/ExternalUser.php
index 53a079a..73b7917 100644
--- a/lib/models/ExternalUser.php
+++ b/lib/models/ExternalUser.php
@@ -12,6 +12,18 @@
* @license http://www.gnu.org/licenses/gpl-2.0.html GPL version 2
* @category Stud.IP
* @since 5.0
+ *
+ * @property string $id alias column for external_contact_id
+ * @property string $external_contact_id database column
+ * @property string|null $foreign_id database column
+ * @property string|null $host_id database column
+ * @property string $contact_type database column
+ * @property string $name database column
+ * @property string|null $avatar_url database column
+ * @property JSONArrayObject|null $data database column
+ * @property int $chdate database column
+ * @property int $mkdate database column
+ * @property OERHost|null $host belongs_to OERHost
*/
class ExternalUser extends SimpleORMap
@@ -28,7 +40,7 @@ class ExternalUser extends SimpleORMap
'class_name' => OERHost::class,
'foreign_key' => 'host_id'
];
- $config['serialized_fields']['data'] = 'JSONArrayObject';
+ $config['serialized_fields']['data'] = JSONArrayObject::class;
parent::configure($config);
}
}
diff --git a/lib/models/Fach.php b/lib/models/Fach.php
index cc5d914..24a1a6c 100644
--- a/lib/models/Fach.php
+++ b/lib/models/Fach.php
@@ -12,6 +12,27 @@
* @license http://www.gnu.org/licenses/gpl-2.0.html GPL version 2
* @category Stud.IP
* @since 3.5
+ *
+ * @property string $id alias column for fach_id
+ * @property string $fach_id database column
+ * @property I18NString $name database column
+ * @property I18NString|null $name_kurz database column
+ * @property I18NString|null $beschreibung database column
+ * @property string|null $schlagworte database column
+ * @property string $author_id database column
+ * @property string $editor_id database column
+ * @property int $mkdate database column
+ * @property int $chdate database column
+ * @property SimpleORMapCollection|Abschluss[] $abschluesse has_many Abschluss
+ * @property SimpleORMapCollection|StudiengangTeil[] $studiengangteile has_many StudiengangTeil
+ * @property SimpleORMapCollection|FachFachbereich[] $department_assignments has_many FachFachbereich
+ * @property SimpleORMapCollection|Fachbereich[] $departments has_and_belongs_to_many Fachbereich
+ * @property SimpleORMapCollection|Abschluss[] $degrees has_and_belongs_to_many Abschluss
+ * @property mixed $count_abschluesse additional field
+ * @property mixed $count_user additional field
+ * @property mixed $count_sem additional field
+ * @property mixed $count_stgteile additional field
+ * @property-read mixed $count_module additional field
*/
class Fach extends ModuleManagementModelTreeItem implements PrivacyObject
diff --git a/lib/models/FachFachbereich.php b/lib/models/FachFachbereich.php
index 0de4454..e22c764 100644
--- a/lib/models/FachFachbereich.php
+++ b/lib/models/FachFachbereich.php
@@ -1,5 +1,5 @@
<?php
-/*
+/**
* FachFachbereich.php
* Model class for assignments of Faecher to Fachbereiche (aka institutes).
* (table mvv_fach_inst)
@@ -13,6 +13,17 @@
* @license http://www.gnu.org/licenses/gpl-2.0.html GPL version 2
* @category Stud.IP
* @since 3.5
+ *
+ * @property array $id alias for pk
+ * @property string $fach_id database column
+ * @property string $institut_id database column
+ * @property int $position database column
+ * @property string $author_id database column
+ * @property string $editor_id database column
+ * @property int $mkdate database column
+ * @property int $chdate database column
+ * @property Fach $fach belongs_to Fach
+ * @property Fachbereich $fachbereich belongs_to Fachbereich
*/
class FachFachbereich extends ModuleManagementModel
diff --git a/lib/models/Fachbereich.php b/lib/models/Fachbereich.php
index 19b88a4..7e15865 100644
--- a/lib/models/Fachbereich.php
+++ b/lib/models/Fachbereich.php
@@ -1,5 +1,5 @@
<?php
-/*
+/**
* Fachbereich.php
* model class for Fachbereiche (aka institutes)
*
@@ -12,6 +12,25 @@
* @license http://www.gnu.org/licenses/gpl-2.0.html GPL version 2
* @category Stud.IP
* @since 3.5
+ *
+ * @property string $id alias column for institut_id
+ * @property string $institut_id database column
+ * @property I18NString $name database column
+ * @property string $fakultaets_id database column
+ * @property string $strasse database column
+ * @property string $plz database column
+ * @property string $url database column
+ * @property string $telefon database column
+ * @property string $email database column
+ * @property string $fax database column
+ * @property int $type database column
+ * @property int $mkdate database column
+ * @property int $chdate database column
+ * @property string|null $lit_plugin_name database column
+ * @property int $srienabled database column
+ * @property string $lock_rule database column
+ * @property-read mixed $count_objects additional field
+ * @property-read mixed $count_module additional field
*/
class Fachbereich extends ModuleManagementModelTreeItem
diff --git a/lib/models/FeedbackElement.php b/lib/models/FeedbackElement.php
index 08b5aa1..63a2186 100644
--- a/lib/models/FeedbackElement.php
+++ b/lib/models/FeedbackElement.php
@@ -4,31 +4,32 @@
*
* @author Nils Gehrke <nils.gehrke@uni-goettingen.de>
*
+ * The column "range_type" represents the name of a class that implements
+ * FeedbackRange.
+ *
* @property int $id database column
* @property string $user_id database column
* @property string $range_id database column
- * @property string $range_type database column:
- * name of class that implements FeedbackRange
- *
+ * @property string $range_type database column
* @property string $course_id database column
* @property string $question database column
* @property string $description database column
- * @property int $mode database column:
- * 0 without rating;
- * 1 with star rating from 1 to 5;
- * 2 with star rating from 1 to 10;
- *
- * @property boolean $results_visible database column:
- * show rating results to users after feedback submission
- * @property boolean $commentable database column: users may comment ratings
- *
- * @property Feedbackentry[]|SimpleORMapCollection $entries
- * @property Course $course
- * @property User $user
+ * @property int $mode database column
+ * @property int $results_visible database column
+ * @property int $commentable database column
+ * @property int $mkdate database column
+ * @property int $chdate database column
+ * @property SimpleORMapCollection|FeedbackEntry[] $entries has_many FeedbackEntry
+ * @property Course $course belongs_to Course
+ * @property User $user belongs_to User
*/
class FeedbackElement extends SimpleORMap
{
+ public const MODE_NO_RATING = 0;
+ public const MODE_5STAR_RATING = 1;
+ public const MODE_10STAR_RATING = 2;
+
public static function configure($config = [])
{
$config['db_table'] = 'feedback';
@@ -144,12 +145,10 @@ class FeedbackElement extends SimpleORMap
public function getMaxRating()
{
switch ($this->mode) {
- case 1:
- // 5 Stars Rating
+ case self::MODE_5STAR_RATING:
return 5;
break;
- case 2:
- // 10 Stars Rating
+ case self::MODE_10STAR_RATING:
return 10;
break;
default:
diff --git a/lib/models/FeedbackEntry.php b/lib/models/FeedbackEntry.php
index be37061..4b4ea7c 100644
--- a/lib/models/FeedbackEntry.php
+++ b/lib/models/FeedbackEntry.php
@@ -9,9 +9,10 @@
* @property string $user_id database column
* @property string $comment database column
* @property int $rating database column
- *
- * @property FeedbackElement $feedback
- * @property User $user
+ * @property int $mkdate database column
+ * @property int $chdate database column
+ * @property FeedbackElement $feedback belongs_to FeedbackElement
+ * @property User $user belongs_to User
*/
class FeedbackEntry extends SimpleORMap
diff --git a/lib/models/File.php b/lib/models/File.php
index 16c81ef..097d2a3 100644
--- a/lib/models/File.php
+++ b/lib/models/File.php
@@ -13,20 +13,21 @@
* @license http://www.gnu.org/licenses/gpl-2.0.html GPL version 2
* @category Stud.IP
*
- *
- * @property string id database column
- * @property string user_id database column
- * @property string mime_type database column
- * @property string name database column
- * @property string size database column
- * @property string filetype database column
- * @property string metadata database column
- * @property string author_name database column
- * @property string mkdate database column
- * @property string chdate database column
- * @property SimpleORMap owner belongs_to User
- * @property SimpleORMap url has_one FileURL
- * @property SimpleORMapCollection refs has_many FileReference
+ * @property string $id database column
+ * @property string $user_id database column
+ * @property string $mime_type database column
+ * @property string $name database column
+ * @property string|null $filetype database column
+ * @property int $size database column
+ * @property JSONArrayObject|null $metadata database column
+ * @property string $author_name database column
+ * @property int|null $is_accessible database column
+ * @property int $mkdate database column
+ * @property int $chdate database column
+ * @property SimpleORMapCollection|FileRef[] $refs has_many FileRef
+ * @property User $owner belongs_to User
+ * @property mixed $extension additional field
+ * @property mixed $path additional field
*/
class File extends SimpleORMap
{
@@ -48,7 +49,7 @@ class File extends SimpleORMap
$config['additional_fields']['extension'] = true;
$config['additional_fields']['path'] = true;
- $config['serialized_fields']['metadata'] = 'JSONArrayObject';
+ $config['serialized_fields']['metadata'] = JSONArrayObject::class;
$config['registered_callbacks']['after_delete'][] = 'deleteDataFile';
$config['registered_callbacks']['before_create'][] = 'cbSetAuthor';
diff --git a/lib/models/FileRef.php b/lib/models/FileRef.php
index fe878a8..c70d171 100644
--- a/lib/models/FileRef.php
+++ b/lib/models/FileRef.php
@@ -13,22 +13,27 @@
* @license http://www.gnu.org/licenses/gpl-2.0.html GPL version 2
* @category Stud.IP
*
- *
- * @property string id database column
- * @property string file_id database column
- * @property string folder_id database column
- * @property string user_id database column
- * @property string name database column
- * @property string downloads database column
- * @property string description database column
- * @property string license database column
- * @property string content_terms_of_use_id database column
- * @property string mkdate database column
- * @property string chdate database column
- * @property SimpleORMap file belongs_to File
- * @property SimpleORMap folder belongs_to Folder
- * @property SimpleORMap owner belongs_to User
- * @property SimpleORMap terms_of_use belongs_to ContentTermsOfUse
+ * @property string $id database column
+ * @property string $file_id database column
+ * @property string $folder_id database column
+ * @property int $downloads database column
+ * @property string $description database column
+ * @property string $content_terms_of_use_id database column
+ * @property string $user_id database column
+ * @property string $name database column
+ * @property int $mkdate database column
+ * @property int $chdate database column
+ * @property File $file belongs_to File
+ * @property Folder $folder belongs_to Folder
+ * @property User $owner belongs_to User
+ * @property ContentTermsOfUse $terms_of_use belongs_to ContentTermsOfUse
+ * @property mixed $size additional field
+ * @property mixed $mime_type additional field
+ * @property mixed $download_url additional field
+ * @property-read mixed $author_name additional field
+ * @property-read mixed $is_accessible additional field
+ * @property-read mixed $is_link additional field
+ * @property mixed $foldertype additional field
*/
class FileRef extends SimpleORMap implements PrivacyObject, FeedbackRange
{
diff --git a/lib/models/Folder.php b/lib/models/Folder.php
index 9faa76a..630a157 100644
--- a/lib/models/Folder.php
+++ b/lib/models/Folder.php
@@ -13,17 +13,26 @@
* @license http://www.gnu.org/licenses/gpl-2.0.html GPL version 2
* @category Stud.IP
*
- * @property string id database column
- * @property string user_id database column: owner of folder
- * @property string parent_id database column: parent folder
- * @property string range_id database column: user-ID, course-ID, institute-ID etc.
- * @property string range_type database column: 'course', 'institute', 'user', ...
- * @property string folder_type database column
- * @property string name database column: folder name
- * @property string data_content database column
- * @property string description database column
- * @property string mkdate database column
- * @property string chdate database column
+ * @property string $id database column
+ * @property string $user_id database column
+ * @property string $parent_id database column
+ * @property string $range_id database column
+ * @property string $range_type database column
+ * @property string $folder_type database column
+ * @property string $name database column
+ * @property JSONArrayObject $data_content database column
+ * @property string $description database column
+ * @property int $mkdate database column
+ * @property int $chdate database column
+ * @property SimpleORMapCollection|FileRef[] $file_refs has_many FileRef
+ * @property SimpleORMapCollection|Folder[] $subfolders has_many Folder
+ * @property User $owner belongs_to User
+ * @property Folder $parentfolder belongs_to Folder
+ * @property Course $course belongs_to Course
+ * @property Institute $institute belongs_to Institute
+ * @property User $user belongs_to User
+ * @property Message $message belongs_to Message
+ * @property-read mixed $is_empty additional field
*/
class Folder extends SimpleORMap implements FeedbackRange
{
@@ -72,7 +81,7 @@ class Folder extends SimpleORMap implements FeedbackRange
'class_name' => Message::class,
'foreign_key' => 'range_id',
];
- $config['serialized_fields']['data_content'] = 'JSONArrayObject';
+ $config['serialized_fields']['data_content'] = JSONArrayObject::class;
$config['registered_callbacks']['before_store'][] = 'cbMakeUniqueName';
$config['registered_callbacks']['after_delete'][] = 'cbRemoveFeedbackElements';
diff --git a/lib/models/ForumCat.php b/lib/models/ForumCat.php
index c963b69..069f097 100644
--- a/lib/models/ForumCat.php
+++ b/lib/models/ForumCat.php
@@ -10,6 +10,12 @@
* @author Till Glöggler <tgloeggl@uos.de>
* @license http://www.gnu.org/licenses/gpl-3.0.html GPL version 3
* @category Stud.IP
+ *
+ * @property string $id alias column for category_id
+ * @property string $category_id database column
+ * @property string $seminar_id database column
+ * @property string $entry_name database column
+ * @property int $pos database column
*/
class ForumCat extends SimpleORMap
diff --git a/lib/models/Freetext.php b/lib/models/Freetext.php
index 4922030..52182de 100644
--- a/lib/models/Freetext.php
+++ b/lib/models/Freetext.php
@@ -2,6 +2,21 @@
require_once 'lib/classes/QuestionType.interface.php';
+/**
+ * @license GPL2 or any later version
+ *
+ * @property string $id alias column for question_id
+ * @property string $question_id database column
+ * @property string $questionnaire_id database column
+ * @property string $questiontype database column
+ * @property string|null $internal_name database column
+ * @property JSONArrayObject $questiondata database column
+ * @property int $position database column
+ * @property int $chdate database column
+ * @property int $mkdate database column
+ * @property SimpleORMapCollection|QuestionnaireAnswer[] $answers has_many QuestionnaireAnswer
+ * @property Questionnaire $questionnaire belongs_to Questionnaire
+ */
class Freetext extends QuestionnaireQuestion implements QuestionType
{
/**
diff --git a/lib/models/Grading/Definition.php b/lib/models/Grading/Definition.php
index ed6df55..41b4f71 100644
--- a/lib/models/Grading/Definition.php
+++ b/lib/models/Grading/Definition.php
@@ -2,6 +2,22 @@
namespace Grading;
+/**
+ * @license GPL2 or any later version
+ *
+ * @property int $id database column
+ * @property string $course_id database column
+ * @property string $item database column
+ * @property string $name database column
+ * @property string $tool database column
+ * @property string $category database column
+ * @property int $position database column
+ * @property float $weight database column
+ * @property int $mkdate database column
+ * @property int $chdate database column
+ * @property \SimpleORMapCollection|Instance[] $instances has_many Instance
+ * @property \Course $course belongs_to \Course
+ */
class Definition extends \SimpleORMap
{
const CUSTOM_DEFINITIONS_CATEGORY = 'xyzzy';
diff --git a/lib/models/Grading/Instance.php b/lib/models/Grading/Instance.php
index 901fcff..14ab25a 100644
--- a/lib/models/Grading/Instance.php
+++ b/lib/models/Grading/Instance.php
@@ -2,6 +2,19 @@
namespace Grading;
+/**
+ * @license GPL2 or any later version
+ *
+ * @property array $id alias for pk
+ * @property int $definition_id database column
+ * @property string $user_id database column
+ * @property float $rawgrade database column
+ * @property string|null $feedback database column
+ * @property int $mkdate database column
+ * @property int $chdate database column
+ * @property \User $user belongs_to \User
+ * @property Definition $definition belongs_to Definition
+ */
class Instance extends \SimpleORMap
{
protected static function configure($config = [])
diff --git a/lib/models/HelpContent.class.php b/lib/models/HelpContent.class.php
index b254e21..f1e61b1 100644
--- a/lib/models/HelpContent.class.php
+++ b/lib/models/HelpContent.class.php
@@ -26,22 +26,22 @@
* @author Arne Schröder <schroeder@data-quest>
* @access public
*
+ * @property string $id alias column for content_id
+ * @property string $global_content_id database column
* @property string $content_id database column
* @property string $language database column
- * @property string $label database column
- * @property string $icon database column
* @property string $content database column
- * @property string $comment database column
* @property string $route database column
* @property string $studip_version database column
- * @property string $position database column
- * @property string $custom database column
- * @property string $visible database column
+ * @property int $position database column
+ * @property int $custom database column
+ * @property int $visible database column
* @property string $author_email database column
* @property string $installation_id database column
- * @property string $mkdate database column
- * @property string $chdate database column
- * @property User|null $author has_one author
+ * @property int $mkdate database column
+ * @property int $chdate database column
+ * @property string|null $comment database column
+ * @property User $author has_one User
*/
class HelpContent extends SimpleORMap
{
diff --git a/lib/models/HelpTour.class.php b/lib/models/HelpTour.class.php
index 18ed68e..68bd830 100644
--- a/lib/models/HelpTour.class.php
+++ b/lib/models/HelpTour.class.php
@@ -29,21 +29,24 @@ require_once 'lib/object.inc.php';
* @author Arne Schröder <schroeder@data-quest>
* @access public
*
- * @property string $tour_id database column
* @property string $id alias column for tour_id
+ * @property string $global_tour_id database column
+ * @property string $tour_id database column
* @property string $name database column
* @property string $description database column
* @property string $type database column
* @property string $roles database column
- * @property string $version database column
+ * @property int $version database column
* @property string $language database column
* @property string $studip_version database column
* @property string $installation_id database column
- * @property string $mkdate database column
- * @property SimpleORMapCollection $steps has_many HelpTourStep
- * @property SimpleORMapCollection $audiences has_many HelpTourAudience
+ * @property string $author_email database column
+ * @property int $mkdate database column
+ * @property int $chdate database column
+ * @property SimpleORMapCollection|HelpTourStep[] $steps has_many HelpTourStep
+ * @property SimpleORMapCollection|HelpTourAudience[] $audiences has_many HelpTourAudience
* @property HelpTourSettings $settings has_one HelpTourSettings
- * @property User|null $author has_one author
+ * @property User $author has_one User
*/
class HelpTour extends SimpleORMap
{
diff --git a/lib/models/HelpTourAudience.class.php b/lib/models/HelpTourAudience.class.php
index 0d6e8c2..6255a46 100644
--- a/lib/models/HelpTourAudience.class.php
+++ b/lib/models/HelpTourAudience.class.php
@@ -29,11 +29,13 @@
* @author Arne Schröder <schroeder@data-quest>
* @license http://www.gnu.org/licenses/gpl-2.0.html GPL version 2
* @category Stud.IP
- *
- * @property string tour_id database column
- * @property string range_id database column
- * @property string type database column
- * @property string id computed column read/write
+ *
+ * @property array $id alias for pk
+ * @property string $tour_id database column
+ * @property string $range_id database column
+ * @property string $type database column
+ * @property int|null $mkdate database column
+ * @property int|null $chdate database column
*/
class HelpTourAudience extends SimpleORMap
{
diff --git a/lib/models/HelpTourSettings.class.php b/lib/models/HelpTourSettings.class.php
index 7392c56..f24c86b 100644
--- a/lib/models/HelpTourSettings.class.php
+++ b/lib/models/HelpTourSettings.class.php
@@ -29,11 +29,13 @@
* @author Arne Schröder <schroeder@data-quest>
* @license http://www.gnu.org/licenses/gpl-2.0.html GPL version 2
* @category Stud.IP
- *
- * @property string tour_id database column
- * @property string id alias column for tour_id
- * @property string active database column
- * @property string access database column
+ *
+ * @property string $id alias column for tour_id
+ * @property string $tour_id database column
+ * @property int $active database column
+ * @property string|null $access database column
+ * @property int|null $mkdate database column
+ * @property int|null $chdate database column
*/
class HelpTourSettings extends SimpleORMap
{
diff --git a/lib/models/HelpTourStep.class.php b/lib/models/HelpTourStep.class.php
index d2ce1dc..6f31326 100644
--- a/lib/models/HelpTourStep.class.php
+++ b/lib/models/HelpTourStep.class.php
@@ -30,20 +30,22 @@
* @license http://www.gnu.org/licenses/gpl-2.0.html GPL version 2
* @category Stud.IP
*
+ * @property array $id alias for pk
* @property string $tour_id database column
- * @property string $step database column
+ * @property int $step database column
* @property string $title database column
* @property string $tip database column
* @property string $orientation database column
- * @property string $interactive database column
+ * @property int $interactive database column
* @property string $css_selector database column
* @property string $route database column
+ * @property string $action_prev database column
+ * @property string $action_next database column
* @property string $author_email database column
- * @property string $mkdate database column
- * @property string $chdate database column
- * @property string $id computed column read/write
+ * @property int $mkdate database column
+ * @property int $chdate database column
* @property HelpTour $help_tour belongs_to HelpTour
- * @property User|null $author has_one author
+ * @property User $author has_one User
*/
class HelpTourStep extends SimpleORMap
{
diff --git a/lib/models/HelpTourUser.class.php b/lib/models/HelpTourUser.class.php
index 49b1647..aa2869d 100644
--- a/lib/models/HelpTourUser.class.php
+++ b/lib/models/HelpTourUser.class.php
@@ -30,11 +30,13 @@
* @license http://www.gnu.org/licenses/gpl-2.0.html GPL version 2
* @category Stud.IP
*
- * @property string tour_id database column
- * @property string user_id database column
- * @property string step_nr database column
- * @property string completed database column
- * @property string id computed column read/write
+ * @property array $id alias for pk
+ * @property string $tour_id database column
+ * @property string $user_id database column
+ * @property int $step_nr database column
+ * @property int $completed database column
+ * @property int|null $mkdate database column
+ * @property int|null $chdate database column
*/
class HelpTourUser extends SimpleORMap implements PrivacyObject
{
diff --git a/lib/models/Institute.class.php b/lib/models/Institute.class.php
index b6ec72b..5a5a1d0 100644
--- a/lib/models/Institute.class.php
+++ b/lib/models/Institute.class.php
@@ -13,33 +13,36 @@
* @category Stud.IP
* @since 2.0
*
- * @property string institut_id database column
- * @property string id alias column for institut_id
- * @property string name database column
- * @property string fakultaets_id database column
- * @property string strasse database column
- * @property string plz database column
- * @property string url database column
- * @property string telefon database column
- * @property string email database column
- * @property string fax database column
- * @property string type database column
- * @property string modules database column
- * @property string mkdate database column
- * @property string chdate database column
- * @property string lit_plugin_name database column
- * @property string srienabled database column
- * @property string lock_rule database column
- * @property string is_fak computed column
- * @property SimpleORMapCollection members has_many InstituteMember
- * @property SimpleORMapCollection home_courses has_many Course
- * @property SimpleORMapCollection sub_institutes has_many Institute
- * @property SimpleORMapCollection datafields has_many DatafieldEntryModel
- * @property Institute faculty belongs_to Institute
- * @property SimpleORMapCollection courses has_and_belongs_to_many Course
- *
- * @property ConsultationBlock[]|SimpleORMapCollection $consultation_blocks
- * @property ConsultationResponsibility[]|SimpleORMapCollection $consultation_responsibilities
+ * @property string $id alias column for institut_id
+ * @property string $institut_id database column
+ * @property I18NString $name database column
+ * @property string $fakultaets_id database column
+ * @property string $strasse database column
+ * @property string $plz database column
+ * @property string $url database column
+ * @property string $telefon database column
+ * @property string $email database column
+ * @property string $fax database column
+ * @property int $type database column
+ * @property int $mkdate database column
+ * @property int $chdate database column
+ * @property string|null $lit_plugin_name database column
+ * @property int $srienabled database column
+ * @property string $lock_rule database column
+ * @property SimpleORMapCollection|InstituteMember[] $members has_many InstituteMember
+ * @property SimpleORMapCollection|Course[] $home_courses has_many Course
+ * @property SimpleORMapCollection|Institute[] $sub_institutes has_many Institute
+ * @property SimpleORMapCollection|DatafieldEntryModel[] $datafields has_many DatafieldEntryModel
+ * @property SimpleORMapCollection|StudipScmEntry[] $scm has_many StudipScmEntry
+ * @property SimpleORMapCollection|Statusgruppen[] $status_groups has_many Statusgruppen
+ * @property SimpleORMapCollection|BlubberThread[] $blubberthreads has_many BlubberThread
+ * @property SimpleORMapCollection|ConsultationBlock[] $consultation_blocks has_many ConsultationBlock
+ * @property SimpleORMapCollection|ConsultationResponsibility[] $consultation_responsibilities has_many ConsultationResponsibility
+ * @property SimpleORMapCollection|ToolActivation[] $tools has_many ToolActivation
+ * @property Institute $faculty belongs_to Institute
+ * @property SimpleORMapCollection|Course[] $courses has_and_belongs_to_many Course
+ * @property-read mixed $is_fak additional field
+ * @property-read mixed $all_status_groups additional field
*/
class Institute extends SimpleORMap implements Range
diff --git a/lib/models/InstituteMember.class.php b/lib/models/InstituteMember.class.php
index a501c61..3a513fe 100644
--- a/lib/models/InstituteMember.class.php
+++ b/lib/models/InstituteMember.class.php
@@ -13,27 +13,30 @@
* @license http://www.gnu.org/licenses/gpl-2.0.html GPL version 2
* @category Stud.IP
*
- * @property string user_id database column
- * @property string institut_id database column
- * @property string inst_perms database column
- * @property string sprechzeiten database column
- * @property string raum database column
- * @property string telefon database column
- * @property string fax database column
- * @property string externdefault database column
- * @property string priority database column
- * @property string visible database column
- * @property string vorname computed column read/write
- * @property string nachname computed column read/write
- * @property string username computed column read/write
- * @property string email computed column read/write
- * @property string title_front computed column read/write
- * @property string title_rear computed column read/write
- * @property string institute_name computed column read/write
- * @property string id computed column read/write
- * @property SimpleORMapCollection datafields has_many DatafieldEntryModel
- * @property User user belongs_to User
- * @property Institute institute belongs_to Institute
+ * @property int $id database column
+ * @property string $user_id database column
+ * @property string $institut_id database column
+ * @property string $inst_perms database column
+ * @property I18NString $sprechzeiten database column
+ * @property I18NString $raum database column
+ * @property I18NString $telefon database column
+ * @property I18NString $fax database column
+ * @property int $externdefault database column
+ * @property int $priority database column
+ * @property int $visible database column
+ * @property int|null $mkdate database column
+ * @property int|null $chdate database column
+ * @property SimpleORMapCollection|DatafieldEntryModel[] $datafields has_many DatafieldEntryModel
+ * @property User $user belongs_to User
+ * @property Institute $institute belongs_to Institute
+ * @property mixed $vorname additional field
+ * @property mixed $nachname additional field
+ * @property mixed $username additional field
+ * @property mixed $email additional field
+ * @property mixed $title_front additional field
+ * @property mixed $title_rear additional field
+ * @property mixed $user_info additional field
+ * @property mixed $institute_name additional field
*/
class InstituteMember extends SimpleORMap implements PrivacyObject
{
diff --git a/lib/models/InstitutePlanColumn.class.php b/lib/models/InstitutePlanColumn.class.php
index eb5c49f..b5ec876 100644
--- a/lib/models/InstitutePlanColumn.class.php
+++ b/lib/models/InstitutePlanColumn.class.php
@@ -12,12 +12,14 @@
* @license GPL2 or any version
* @since Stud.IP 4.5
* *
- * @property string range_id database column
- * @property string column database column
- * @property string name database column
- * @property string visible database column
- * @property string mkdate database column
- * @property string chdate database column
+ *
+ * @property array $id alias for pk
+ * @property string $range_id database column
+ * @property int $column database column
+ * @property string|null $name database column
+ * @property int $visible database column
+ * @property int $mkdate database column
+ * @property int $chdate database column
*/
class InstitutePlanColumn extends SimpleORMap
{
diff --git a/lib/models/Kategorie.class.php b/lib/models/Kategorie.class.php
index 13c9c3a..a43629f 100644
--- a/lib/models/Kategorie.class.php
+++ b/lib/models/Kategorie.class.php
@@ -12,16 +12,15 @@
* @category Stud.IP
* @since 2.4
*
- * @property string $kategorie_id database column
* @property string $id alias column for kategorie_id
+ * @property string $kategorie_id database column
* @property string $range_id database column
- * @property string|I18NString $name database column
- * @property string|I18NString $content database column
+ * @property I18NString $name database column
+ * @property I18NString $content database column
* @property int $mkdate database column
* @property int $chdate database column
* @property int $priority database column
- *
- * @property User $user
+ * @property User $user belongs_to User
*/
class Kategorie extends SimpleORMap
diff --git a/lib/models/License.php b/lib/models/License.php
index 9dac65f..88ef26f 100644
--- a/lib/models/License.php
+++ b/lib/models/License.php
@@ -1,5 +1,19 @@
<?php
+/**
+ * @license GPL2 or any later version
+ *
+ * @property string $id alias column for identifier
+ * @property string $identifier database column
+ * @property string|null $name database column
+ * @property string|null $link database column
+ * @property int|null $default database column
+ * @property string|null $description database column
+ * @property string|null $twillo_licensekey database column
+ * @property string|null $twillo_cclicenseversion database column
+ * @property int|null $chdate database column
+ * @property int|null $mkdate database column
+ */
class License extends SimpleORMap
{
protected static function configure($config = [])
diff --git a/lib/models/LikertScale.php b/lib/models/LikertScale.php
index 5e55e3c..5b2b4f5 100644
--- a/lib/models/LikertScale.php
+++ b/lib/models/LikertScale.php
@@ -1,6 +1,21 @@
<?php
require_once 'lib/classes/QuestionType.interface.php';
+/**
+ * @license GPL2 or any later version
+ *
+ * @property string $id alias column for question_id
+ * @property string $question_id database column
+ * @property string $questionnaire_id database column
+ * @property string $questiontype database column
+ * @property string|null $internal_name database column
+ * @property JSONArrayObject $questiondata database column
+ * @property int $position database column
+ * @property int $chdate database column
+ * @property int $mkdate database column
+ * @property SimpleORMapCollection|QuestionnaireAnswer[] $answers has_many QuestionnaireAnswer
+ * @property Questionnaire $questionnaire belongs_to Questionnaire
+ */
class LikertScale extends QuestionnaireQuestion implements QuestionType
{
public static function getIcon(bool $active = false) : Icon
diff --git a/lib/models/LockRule.class.php b/lib/models/LockRule.class.php
index 3f07a10..a3ef271 100644
--- a/lib/models/LockRule.class.php
+++ b/lib/models/LockRule.class.php
@@ -23,14 +23,16 @@
* @license http://www.gnu.org/licenses/gpl-2.0.html GPL version 2
* @category Stud.IP
*
- * @property string lock_id database column
- * @property string id alias column for lock_id
- * @property string permission database column
- * @property string name database column
- * @property string description database column
- * @property string attributes database column
- * @property string object_type database column
- * @property string user_id database column
+ * @property string $id alias column for lock_id
+ * @property string $lock_id database column
+ * @property string $permission database column
+ * @property string $name database column
+ * @property string $description database column
+ * @property JSONArrayObject $attributes database column
+ * @property string $object_type database column
+ * @property string $user_id database column
+ * @property int|null $mkdate database column
+ * @property int|null $chdate database column
*/
class LockRule extends SimpleORMap
@@ -39,7 +41,7 @@ class LockRule extends SimpleORMap
{
$config['db_table'] = 'lock_rules';
- $config['serialized_fields']['attributes'] = 'JSONArrayObject';
+ $config['serialized_fields']['attributes'] = JSONArrayObject::class;
parent::configure($config);
}
diff --git a/lib/models/LogAction.php b/lib/models/LogAction.php
index 2f00420..5ec4b7d 100644
--- a/lib/models/LogAction.php
+++ b/lib/models/LogAction.php
@@ -13,17 +13,20 @@
* @license http://www.gnu.org/licenses/gpl-2.0.html GPL version 2
* @category Stud.IP
* @since 3.0
- * @property string action_id database column
- * @property string id alias column for action_id
- * @property string name database column
- * @property string description database column
- * @property string info_template database column
- * @property string active database column
- * @property string expires database column
- * @property string filename database column
- * @property string class database column
- * @property string type database column
- * @property SimpleORMapCollection events has_many LogEvent
+ *
+ * @property string $id alias column for action_id
+ * @property string $action_id database column
+ * @property string $name database column
+ * @property string|null $description database column
+ * @property string|null $info_template database column
+ * @property int $active database column
+ * @property int $expires database column
+ * @property string|null $filename database column
+ * @property string|null $class database column
+ * @property string|null $type database column
+ * @property int|null $mkdate database column
+ * @property int|null $chdate database column
+ * @property SimpleORMapCollection|LogEvent[] $events has_many LogEvent
*/
class LogAction extends SimpleORMap
{
diff --git a/lib/models/LogEvent.php b/lib/models/LogEvent.php
index 7205dba..547447e 100644
--- a/lib/models/LogEvent.php
+++ b/lib/models/LogEvent.php
@@ -13,17 +13,18 @@
* @license http://www.gnu.org/licenses/gpl-2.0.html GPL version 2
* @category Stud.IP
* @since 3.0
- * @property string event_id database column
- * @property string id alias column for event_id
- * @property string user_id database column
- * @property string action_id database column
- * @property string affected_range_id database column
- * @property string coaffected_range_id database column
- * @property string info database column
- * @property string dbg_info database column
- * @property string mkdate database column
- * @property LogAction action belongs_to LogAction
- * @property User user belongs_to User
+ *
+ * @property int $id alias column for event_id
+ * @property int $event_id database column
+ * @property string $user_id database column
+ * @property string $action_id database column
+ * @property string|null $affected_range_id database column
+ * @property string|null $coaffected_range_id database column
+ * @property string|null $info database column
+ * @property string|null $dbg_info database column
+ * @property int $mkdate database column
+ * @property LogAction $action belongs_to LogAction
+ * @property User $user belongs_to User
*/
diff --git a/lib/models/LoginBackground.class.php b/lib/models/LoginBackground.class.php
index df7fb9e..3ede275 100644
--- a/lib/models/LoginBackground.class.php
+++ b/lib/models/LoginBackground.class.php
@@ -12,11 +12,14 @@
* @license http://www.gnu.org/licenses/gpl-2.0.html GPL version 2
* @category Stud.IP
*
- * @property string background_id database column
- * @property string id alias column for background_id
- * @property string filename database column
- * @property string active database column
- * @property string in_release database column
+ * @property int $id alias column for background_id
+ * @property int $background_id database column
+ * @property string $filename database column
+ * @property int $mobile database column
+ * @property int $desktop database column
+ * @property int $in_release database column
+ * @property int|null $mkdate database column
+ * @property int|null $chdate database column
*/
class LoginBackground extends SimpleORMap
{
diff --git a/lib/models/LtiData.php b/lib/models/LtiData.php
index 2f0a08d..3434287 100644
--- a/lib/models/LtiData.php
+++ b/lib/models/LtiData.php
@@ -9,6 +9,20 @@
*
* @author Elmar Ludwig
* @license http://www.gnu.org/licenses/gpl-2.0.html GPL version 2
+ *
+ * @property int $id database column
+ * @property int $position database column
+ * @property string $course_id database column
+ * @property string $title database column
+ * @property string $description database column
+ * @property int $tool_id database column
+ * @property string $launch_url database column
+ * @property int $mkdate database column
+ * @property int $chdate database column
+ * @property JSONArrayObject|null $options database column
+ * @property SimpleORMapCollection|LtiGrade[] $grades has_many LtiGrade
+ * @property Course $course belongs_to Course
+ * @property LtiTool $tool belongs_to LtiTool
*/
class LtiData extends SimpleORMap
@@ -20,7 +34,7 @@ class LtiData extends SimpleORMap
{
$config['db_table'] = 'lti_data';
- $config['serialized_fields']['options'] = 'JSONArrayObject';
+ $config['serialized_fields']['options'] = JSONArrayObject::class;
$config['belongs_to']['course'] = [
'class_name' => Course::class,
diff --git a/lib/models/LtiGrade.php b/lib/models/LtiGrade.php
index 43fdc9a..167ea58 100644
--- a/lib/models/LtiGrade.php
+++ b/lib/models/LtiGrade.php
@@ -9,6 +9,15 @@
*
* @author Elmar Ludwig
* @license http://www.gnu.org/licenses/gpl-2.0.html GPL version 2
+ *
+ * @property array $id alias for pk
+ * @property int $link_id database column
+ * @property string $user_id database column
+ * @property float $score database column
+ * @property int $mkdate database column
+ * @property int $chdate database column
+ * @property LtiData $link belongs_to LtiData
+ * @property User $user belongs_to User
*/
class LtiGrade extends SimpleORMap
diff --git a/lib/models/LtiTool.php b/lib/models/LtiTool.php
index 41b6f32..53be2bc 100644
--- a/lib/models/LtiTool.php
+++ b/lib/models/LtiTool.php
@@ -9,6 +9,20 @@
*
* @author Elmar Ludwig
* @license http://www.gnu.org/licenses/gpl-2.0.html GPL version 2
+ *
+ * @property int $id database column
+ * @property string $name database column
+ * @property string $launch_url database column
+ * @property string $consumer_key database column
+ * @property string $consumer_secret database column
+ * @property string $custom_parameters database column
+ * @property int $allow_custom_url database column
+ * @property int $deep_linking database column
+ * @property int $send_lis_person database column
+ * @property int $mkdate database column
+ * @property int $chdate database column
+ * @property string $oauth_signature_method database column
+ * @property SimpleORMapCollection|LtiData[] $links has_many LtiData
*/
class LtiTool extends SimpleORMap
diff --git a/lib/models/Lvgruppe.php b/lib/models/Lvgruppe.php
index 3355f77..138d28e 100644
--- a/lib/models/Lvgruppe.php
+++ b/lib/models/Lvgruppe.php
@@ -12,6 +12,22 @@
* @license http://www.gnu.org/licenses/gpl-2.0.html GPL version 2
* @category Stud.IP
* @since 3.5
+ *
+ * @property string $id alias column for lvgruppe_id
+ * @property string $lvgruppe_id database column
+ * @property string $name database column
+ * @property I18NString|null $alttext database column
+ * @property string $author_id database column
+ * @property string $editor_id database column
+ * @property int $mkdate database column
+ * @property int $chdate database column
+ * @property SimpleORMapCollection|Modulteil[] $modulteile has_and_belongs_to_many Modulteil
+ * @property SimpleORMapCollection|Course[] $courses has_and_belongs_to_many Course
+ * @property SimpleORMapCollection|ArchivedCourse[] $archived_courses has_and_belongs_to_many ArchivedCourse
+ * @property mixed $count_seminare additional field
+ * @property mixed $count_archiv additional field
+ * @property mixed $count_modulteile additional field
+ * @property mixed $count_semester additional field
*/
class Lvgruppe extends ModuleManagementModelTreeItem
diff --git a/lib/models/LvgruppeModulteil.php b/lib/models/LvgruppeModulteil.php
index da64a4b..06dd169 100644
--- a/lib/models/LvgruppeModulteil.php
+++ b/lib/models/LvgruppeModulteil.php
@@ -13,6 +13,19 @@
* @license http://www.gnu.org/licenses/gpl-2.0.html GPL version 2
* @category Stud.IP
* @since 3.5
+ *
+ * @property array $id alias for pk
+ * @property string $lvgruppe_id database column
+ * @property string $modulteil_id database column
+ * @property int $position database column
+ * @property string|null $fn_id database column
+ * @property string|null $flexnow_id alias column for fn_id
+ * @property string $author_id database column
+ * @property string $editor_id database column
+ * @property int $mkdate database column
+ * @property int $chdate database column
+ * @property Lvgruppe $lvgruppe belongs_to Lvgruppe
+ * @property Modulteil $modulteil belongs_to Modulteil
*/
class LvgruppeModulteil extends ModuleManagementModel
diff --git a/lib/models/LvgruppeSeminar.php b/lib/models/LvgruppeSeminar.php
index 99d6e09..ae6543d 100644
--- a/lib/models/LvgruppeSeminar.php
+++ b/lib/models/LvgruppeSeminar.php
@@ -13,6 +13,16 @@
* @license http://www.gnu.org/licenses/gpl-2.0.html GPL version 2
* @category Stud.IP
* @since 3.5
+ *
+ * @property array $id alias for pk
+ * @property string $lvgruppe_id database column
+ * @property string $seminar_id database column
+ * @property string|null $author_id database column
+ * @property string|null $editor_id database column
+ * @property int $mkdate database column
+ * @property int $chdate database column
+ * @property Lvgruppe $lvgruppe belongs_to Lvgruppe
+ * @property Course $course belongs_to Course
*/
class LvgruppeSeminar extends ModuleManagementModel
diff --git a/lib/models/MailQueueEntry.class.php b/lib/models/MailQueueEntry.class.php
index 11d0a2f..7fe63f6 100644
--- a/lib/models/MailQueueEntry.class.php
+++ b/lib/models/MailQueueEntry.class.php
@@ -14,15 +14,16 @@
* Use MailQueueEntry::add($mail, $message_id, $user_id) to add a mail to the queue
* and MailQueueEntry::sendAll() or MailQueueEntry::sendNew() to flush the queue
* and send the mails.
- * @property string mail_queue_id database column
- * @property string id alias column for mail_queue_id
- * @property string mail database column
- * @property string message_id database column
- * @property string user_id database column
- * @property string tries database column
- * @property string last_try database column
- * @property string mkdate database column
- * @property string chdate database column
+ *
+ * @property string $id alias column for mail_queue_id
+ * @property string $mail_queue_id database column
+ * @property JSONArrayObject $mail database column
+ * @property string|null $message_id database column
+ * @property string|null $user_id database column
+ * @property int $tries database column
+ * @property int $last_try database column
+ * @property int $mkdate database column
+ * @property int $chdate database column
*/
class MailQueueEntry extends SimpleORMap
{
@@ -30,7 +31,7 @@ class MailQueueEntry extends SimpleORMap
{
$config['db_table'] = 'mail_queue_entries';
- $config['serialized_fields']['mail'] = 'JSONArrayObject';
+ $config['serialized_fields']['mail'] = JSONArrayObject::class;
parent::configure($config);
}
diff --git a/lib/models/Message.class.php b/lib/models/Message.class.php
index 05cfc39..e4f938b 100644
--- a/lib/models/Message.class.php
+++ b/lib/models/Message.class.php
@@ -11,19 +11,18 @@
* @author mlunzena
* @copyright (c) Authors
*
- * @property string message_id database column
- * @property string id alias column for message_id
- * @property string chat_id database column
- * @property string autor_id database column
- * @property string subject database column
- * @property string message database column
- * @property string mkdate database column
- * @property string readed database column
- * @property string priority database column
- * @property SimpleORMapCollection receivers has_many MessageUser
- * @property SimpleORMapCollection attachment_folder has_one Folder
- * @property User author has_one User
- * @property MessageUser originator has_one MessageUser
+ * @property string $id alias column for message_id
+ * @property string $message_id database column
+ * @property string $autor_id database column
+ * @property string $subject database column
+ * @property string $message database column
+ * @property int $show_adressees database column
+ * @property int $mkdate database column
+ * @property string $priority database column
+ * @property SimpleORMapCollection|MessageUser[] $receivers has_many MessageUser
+ * @property User $author belongs_to User
+ * @property MessageUser $originator has_one MessageUser
+ * @property Folder $attachment_folder has_one Folder
*/
class Message extends SimpleORMap implements PrivacyObject
diff --git a/lib/models/MessageUser.class.php b/lib/models/MessageUser.class.php
index c8a406c..0ae6dd5 100644
--- a/lib/models/MessageUser.class.php
+++ b/lib/models/MessageUser.class.php
@@ -11,17 +11,16 @@
* @author mlunzena
* @copyright (c) Authors
*
- * @property string user_id database column
- * @property string message_id database column
- * @property string readed database column
- * @property string deleted database column
- * @property string snd_rec database column
- * @property string confirmed_read database column
- * @property string answered database column
- * @property string mkdate database column
- * @property string id computed column read/write
- * @property User user belongs_to User
- * @property Message message belongs_to Message
+ * @property array $id alias for pk
+ * @property string $user_id database column
+ * @property string $message_id database column
+ * @property int $readed database column
+ * @property int $deleted database column
+ * @property string $snd_rec database column
+ * @property int $answered database column
+ * @property int $mkdate database column
+ * @property User $user belongs_to User
+ * @property Message $message belongs_to Message
*/
class MessageUser extends SimpleORMap implements PrivacyObject
diff --git a/lib/models/Modul.php b/lib/models/Modul.php
index 80e2753..5476426 100644
--- a/lib/models/Modul.php
+++ b/lib/models/Modul.php
@@ -12,6 +12,49 @@
* @license http://www.gnu.org/licenses/gpl-2.0.html GPL version 2
* @category Stud.IP
* @since 3.5
+ *
+ * @property string $id alias column for modul_id
+ * @property string $modul_id database column
+ * @property string|null $quelle database column
+ * @property string|null $variante database column
+ * @property string|null $flexnow_modul database column
+ * @property string|null $flexnow_id alias column for flexnow_modul
+ * @property string|null $code database column
+ * @property string|null $start database column
+ * @property string|null $end database column
+ * @property int|null $beschlussdatum database column
+ * @property int|null $fassung_nr database column
+ * @property string|null $fassung_typ database column
+ * @property string $version database column
+ * @property string|null $dauer database column
+ * @property string $kapazitaet database column
+ * @property float|null $kp database column
+ * @property int|null $wl_selbst database column
+ * @property int|null $wl_pruef database column
+ * @property string|null $pruef_ebene database column
+ * @property string $faktor_note database column
+ * @property string|null $stat database column
+ * @property string|null $kommentar_status database column
+ * @property string|null $verantwortlich database column
+ * @property string $author_id database column
+ * @property string $editor_id database column
+ * @property int $mkdate database column
+ * @property int $chdate database column
+ * @property SimpleORMapCollection|Modulteil[] $modulteile has_many Modulteil
+ * @property SimpleORMapCollection|ModulInst[] $assigned_institutes has_many ModulInst
+ * @property SimpleORMapCollection|MvvContactRange[] $contact_assignments has_many MvvContactRange
+ * @property SimpleORMapCollection|StgteilabschnittModul[] $abschnitte_modul has_many StgteilabschnittModul
+ * @property SimpleORMapCollection|ModulLanguage[] $languages has_many ModulLanguage
+ * @property Semester|null $start_semester belongs_to Semester
+ * @property Semester|null $end_semester belongs_to Semester
+ * @property ModulDeskriptor $deskriptoren has_one ModulDeskriptor
+ * @property Modul|null $modul_quelle has_one Modul
+ * @property Modul|null $modul_variante has_one Modul
+ * @property ModulInst $responsible_institute has_one ModulInst
+ * @property SimpleORMapCollection|StgteilAbschnitt[] $abschnitte has_and_belongs_to_many StgteilAbschnitt
+ * @property mixed $count_modulteile additional field
+ * @property mixed $languagesofinstruction additional field
+ * @property-read mixed $display_name additional field
*/
class Modul extends ModuleManagementModelTreeItem
diff --git a/lib/models/ModulDeskriptor.php b/lib/models/ModulDeskriptor.php
index 330e325..5a3d071 100644
--- a/lib/models/ModulDeskriptor.php
+++ b/lib/models/ModulDeskriptor.php
@@ -12,6 +12,34 @@
* @license http://www.gnu.org/licenses/gpl-2.0.html GPL version 2
* @category Stud.IP
* @since 3.5
+ *
+ * @property string $id alias column for deskriptor_id
+ * @property string $deskriptor_id database column
+ * @property string $modul_id database column
+ * @property I18NString|null $verantwortlich database column
+ * @property I18NString|null $bezeichnung database column
+ * @property I18NString|null $voraussetzung database column
+ * @property I18NString|null $kompetenzziele database column
+ * @property I18NString|null $inhalte database column
+ * @property I18NString|null $literatur database column
+ * @property I18NString|null $links database column
+ * @property I18NString|null $kommentar database column
+ * @property I18NString|null $turnus database column
+ * @property I18NString|null $kommentar_kapazitaet database column
+ * @property I18NString|null $kommentar_sws database column
+ * @property I18NString|null $kommentar_wl_selbst database column
+ * @property I18NString|null $kommentar_wl_pruef database column
+ * @property I18NString|null $kommentar_note database column
+ * @property I18NString|null $pruef_vorleistung database column
+ * @property I18NString|null $pruef_leistung database column
+ * @property I18NString|null $pruef_wiederholung database column
+ * @property I18NString|null $ersatztext database column
+ * @property string|null $author_id database column
+ * @property string|null $editor_id database column
+ * @property int $mkdate database column
+ * @property int $chdate database column
+ * @property SimpleORMapCollection|DatafieldEntryModel[] $datafields has_many DatafieldEntryModel
+ * @property Modul $modul belongs_to Modul
*/
class ModulDeskriptor extends ModuleManagementModel
diff --git a/lib/models/ModulInst.php b/lib/models/ModulInst.php
index 7393bdf..2c39c76 100644
--- a/lib/models/ModulInst.php
+++ b/lib/models/ModulInst.php
@@ -13,6 +13,18 @@
* @license http://www.gnu.org/licenses/gpl-2.0.html GPL version 2
* @category Stud.IP
* @since 3.5
+ *
+ * @property array $id alias for pk
+ * @property string $modul_id database column
+ * @property string $institut_id database column
+ * @property string $gruppe database column
+ * @property int $position database column
+ * @property string $author_id database column
+ * @property string $editor_id database column
+ * @property int $mkdate database column
+ * @property int $chdate database column
+ * @property Fachbereich $institute belongs_to Fachbereich
+ * @property Modul $modul belongs_to Modul
*/
class ModulInst extends ModuleManagementModel
diff --git a/lib/models/ModulLanguage.php b/lib/models/ModulLanguage.php
index 160a101..e8bf1cb 100644
--- a/lib/models/ModulLanguage.php
+++ b/lib/models/ModulLanguage.php
@@ -13,6 +13,17 @@
* @license http://www.gnu.org/licenses/gpl-2.0.html GPL version 2
* @category Stud.IP
* @since 3.5
+ *
+ * @property array $id alias for pk
+ * @property string $modul_id database column
+ * @property string $lang database column
+ * @property string $language alias column for lang
+ * @property int $position database column
+ * @property string $author_id database column
+ * @property string $editor_id database column
+ * @property int $mkdate database column
+ * @property int $chdate database column
+ * @property Modul $modul belongs_to Modul
*/
class ModulLanguage extends ModuleManagementModel
diff --git a/lib/models/Modulteil.php b/lib/models/Modulteil.php
index 14a34ba..55ef6fd 100644
--- a/lib/models/Modulteil.php
+++ b/lib/models/Modulteil.php
@@ -12,6 +12,38 @@
* @license http://www.gnu.org/licenses/gpl-2.0.html GPL version 2
* @category Stud.IP
* @since 3.5
+ *
+ * @property string $id alias column for modulteil_id
+ * @property string $modulteil_id database column
+ * @property string $modul_id database column
+ * @property int $position database column
+ * @property string|null $flexnow_modul database column
+ * @property string|null $nummer database column
+ * @property string|null $num_bezeichnung database column
+ * @property string|null $lernlehrform database column
+ * @property string|null $semester database column
+ * @property string|null $kapazitaet database column
+ * @property float|null $kp database column
+ * @property int|null $sws database column
+ * @property int|null $wl_praesenz database column
+ * @property int|null $wl_bereitung database column
+ * @property int|null $wl_selbst database column
+ * @property int|null $wl_pruef database column
+ * @property int|null $anteil_note database column
+ * @property int $ausgleichbar database column
+ * @property int $pflicht database column
+ * @property string $author_id database column
+ * @property string $editor_id database column
+ * @property int $mkdate database column
+ * @property int $chdate database column
+ * @property SimpleORMapCollection|ModulteilStgteilabschnitt[] $abschnitt_assignments has_many ModulteilStgteilabschnitt
+ * @property SimpleORMapCollection|LvgruppeModulteil[] $lvgruppen_assignments has_many LvgruppeModulteil
+ * @property SimpleORMapCollection|ModulteilLanguage[] $languages has_many ModulteilLanguage
+ * @property Modul $modul belongs_to Modul
+ * @property ModulteilDeskriptor $deskriptoren has_one ModulteilDeskriptor
+ * @property SimpleORMapCollection|StgteilAbschnitt[] $abschnitte has_and_belongs_to_many StgteilAbschnitt
+ * @property SimpleORMapCollection|Lvgruppe[] $lvgruppen has_and_belongs_to_many Lvgruppe
+ * @property mixed $count_lvgruppen additional field
*/
class Modulteil extends ModuleManagementModelTreeItem
diff --git a/lib/models/ModulteilDeskriptor.php b/lib/models/ModulteilDeskriptor.php
index 8b1801c..aa6ddf7 100644
--- a/lib/models/ModulteilDeskriptor.php
+++ b/lib/models/ModulteilDeskriptor.php
@@ -12,6 +12,27 @@
* @license http://www.gnu.org/licenses/gpl-2.0.html GPL version 2
* @category Stud.IP
* @since 3.5
+ *
+ * @property string $id alias column for deskriptor_id
+ * @property string $deskriptor_id database column
+ * @property string $modulteil_id database column
+ * @property I18NString $bezeichnung database column
+ * @property I18NString|null $voraussetzung database column
+ * @property I18NString|null $kommentar database column
+ * @property I18NString|null $kommentar_kapazitaet database column
+ * @property I18NString|null $kommentar_wl_praesenz database column
+ * @property I18NString|null $kommentar_wl_bereitung database column
+ * @property I18NString|null $kommentar_wl_selbst database column
+ * @property I18NString|null $kommentar_wl_pruef database column
+ * @property I18NString|null $pruef_vorleistung database column
+ * @property I18NString|null $pruef_leistung database column
+ * @property I18NString|null $kommentar_pflicht database column
+ * @property string $author_id database column
+ * @property string $editor_id database column
+ * @property int $mkdate database column
+ * @property int $chdate database column
+ * @property SimpleORMapCollection|DatafieldEntryModel[] $datafields has_many DatafieldEntryModel
+ * @property Modulteil $modulteil belongs_to Modulteil
*/
class ModulteilDeskriptor extends ModuleManagementModel
diff --git a/lib/models/ModulteilLanguage.php b/lib/models/ModulteilLanguage.php
index ed09bff..af510c5 100644
--- a/lib/models/ModulteilLanguage.php
+++ b/lib/models/ModulteilLanguage.php
@@ -13,6 +13,17 @@
* @license http://www.gnu.org/licenses/gpl-2.0.html GPL version 2
* @category Stud.IP
* @since 3.5
+ *
+ * @property array $id alias for pk
+ * @property string $modulteil_id database column
+ * @property string $lang database column
+ * @property string $language alias column for lang
+ * @property int $position database column
+ * @property string $author_id database column
+ * @property string $editor_id database column
+ * @property int $mkdate database column
+ * @property int $chdate database column
+ * @property Modulteil $modulteil belongs_to Modulteil
*/
class ModulteilLanguage extends ModuleManagementModel
diff --git a/lib/models/ModulteilStgteilabschnitt.php b/lib/models/ModulteilStgteilabschnitt.php
index 4f84c30..d16c3a0 100644
--- a/lib/models/ModulteilStgteilabschnitt.php
+++ b/lib/models/ModulteilStgteilabschnitt.php
@@ -13,6 +13,18 @@
* @license http://www.gnu.org/licenses/gpl-2.0.html GPL version 2
* @category Stud.IP
* @since 3.5
+ *
+ * @property array $id alias for pk
+ * @property string $modulteil_id database column
+ * @property string $abschnitt_id database column
+ * @property int $fachsemester database column
+ * @property string $differenzierung database column
+ * @property string $author_id database column
+ * @property string $editor_id database column
+ * @property int $mkdate database column
+ * @property int $chdate database column
+ * @property Modulteil $modulteil belongs_to Modulteil
+ * @property StgteilAbschnitt $abschnitt belongs_to StgteilAbschnitt
*/
class ModulteilStgteilabschnitt extends ModuleManagementModel
diff --git a/lib/models/MvvContact.php b/lib/models/MvvContact.php
index 26ff5f0..3aa72d6 100644
--- a/lib/models/MvvContact.php
+++ b/lib/models/MvvContact.php
@@ -11,6 +11,18 @@
* @license http://www.gnu.org/licenses/gpl-2.0.html GPL version 2
* @category Stud.IP
* @since 4.5
+ *
+ * @property string $id alias column for contact_id
+ * @property string $contact_id database column
+ * @property string $contact_status database column
+ * @property string $alt_mail database column
+ * @property string|null $author_id database column
+ * @property string|null $editor_id database column
+ * @property int $mkdate database column
+ * @property int $chdate database column
+ * @property SimpleORMapCollection|MvvContactRange[] $ranges has_many MvvContactRange
+ * @property-read mixed $name additional field
+ * @property-read mixed $count_relations additional field
*/
class MvvContact extends ModuleManagementModel
diff --git a/lib/models/MvvContactRange.php b/lib/models/MvvContactRange.php
index 85bdf63..8881e59 100644
--- a/lib/models/MvvContactRange.php
+++ b/lib/models/MvvContactRange.php
@@ -12,24 +12,22 @@
* @category Stud.IP
* @since 4.5
*
- * @property string $id
- * @property string $contact_range_id
- * @property string $contact_id
- * @property string $range_id
- * @property string $range_type
- * @property string $type
- * @property string $category
- * @property int|null $position
- * @property string $author_id
- * @property string $editor_id
- * @property int $mkdate
- * @property int $chdate
- *
- * @property MvvContact $contact
- *
- * @property int $count_relations
- * @property string $name
- * @property string $contact_status
+ * @property string $id alias column for contact_range_id
+ * @property string $contact_range_id database column
+ * @property string $contact_id database column
+ * @property string $range_id database column
+ * @property string $range_type database column
+ * @property string $type database column
+ * @property string $category database column
+ * @property int|null $position database column
+ * @property string|null $author_id database column
+ * @property string|null $editor_id database column
+ * @property int $mkdate database column
+ * @property int $chdate database column
+ * @property MvvContact $contact belongs_to MvvContact
+ * @property-read mixed $count_relations additional field
+ * @property-read mixed $name additional field
+ * @property-read mixed $contact_status additional field
*/
class MvvContactRange extends ModuleManagementModel
diff --git a/lib/models/MvvCourse.php b/lib/models/MvvCourse.php
index 0e82d3b..78b6aec 100644
--- a/lib/models/MvvCourse.php
+++ b/lib/models/MvvCourse.php
@@ -12,6 +12,43 @@
* @license http://www.gnu.org/licenses/gpl-2.0.html GPL version 2
* @category Stud.IP
* @since 3.5
+ *
+ * @property string $id alias column for seminar_id
+ * @property string $seminar_id database column
+ * @property string|null $veranstaltungsnummer database column
+ * @property string $institut_id database column
+ * @property string $name database column
+ * @property string|null $untertitel database column
+ * @property int $status database column
+ * @property string $beschreibung database column
+ * @property string|null $ort database column
+ * @property string|null $sonstiges database column
+ * @property int $lesezugriff database column
+ * @property int $schreibzugriff database column
+ * @property int|null $start_time database column
+ * @property int|null $duration_time database column
+ * @property string|null $art database column
+ * @property string|null $teilnehmer database column
+ * @property string|null $vorrausetzungen database column
+ * @property string|null $lernorga database column
+ * @property string|null $leistungsnachweis database column
+ * @property int $mkdate database column
+ * @property int $chdate database column
+ * @property string|null $ects database column
+ * @property int|null $admission_turnout database column
+ * @property int|null $admission_binding database column
+ * @property int $admission_prelim database column
+ * @property string|null $admission_prelim_txt database column
+ * @property int $admission_disable_waitlist database column
+ * @property int $visible database column
+ * @property int|null $showscore database column
+ * @property string|null $aux_lock_rule database column
+ * @property int $aux_lock_rule_forced database column
+ * @property string|null $lock_rule database column
+ * @property int $admission_waitlist_max database column
+ * @property int $admission_disable_waitlist_move database column
+ * @property int $completion database column
+ * @property string|null $parent_course database column
*/
class MvvCourse extends ModuleManagementModelTreeItem
diff --git a/lib/models/MvvExternContact.php b/lib/models/MvvExternContact.php
index 855d276..504de65 100644
--- a/lib/models/MvvExternContact.php
+++ b/lib/models/MvvExternContact.php
@@ -11,6 +11,19 @@
* @license http://www.gnu.org/licenses/gpl-2.0.html GPL version 2
* @category Stud.IP
* @since 4.5
+ *
+ * @property string $id alias column for extern_contact_id
+ * @property string $extern_contact_id database column
+ * @property I18NString $name database column
+ * @property string|null $vorname database column
+ * @property I18NString $homepage database column
+ * @property string $mail database column
+ * @property string $tel database column
+ * @property string|null $author_id database column
+ * @property string|null $editor_id database column
+ * @property int $mkdate database column
+ * @property int $chdate database column
+ * @property MvvContact $MvvContact belongs_to MvvContact
*/
class MvvExternContact extends ModuleManagementModel
diff --git a/lib/models/MvvFile.php b/lib/models/MvvFile.php
index 109ac2b..50cd9b2 100644
--- a/lib/models/MvvFile.php
+++ b/lib/models/MvvFile.php
@@ -11,6 +11,21 @@
* @license http://www.gnu.org/licenses/gpl-2.0.html GPL version 2
* @category Stud.IP
* @since 4.5
+ *
+ * @property string $id alias column for mvvfile_id
+ * @property string $mvvfile_id database column
+ * @property int|null $year database column
+ * @property string|null $type database column
+ * @property string|null $category database column
+ * @property string|null $tags database column
+ * @property int|null $extern_visible database column
+ * @property string|null $author_id database column
+ * @property string|null $editor_id database column
+ * @property int $mkdate database column
+ * @property int $chdate database column
+ * @property SimpleORMapCollection|MvvFileFileref[] $file_refs has_many MvvFileFileref
+ * @property SimpleORMapCollection|MvvFileRange[] $ranges has_many MvvFileRange
+ * @property-read mixed $count_relations additional field
*/
class MvvFile extends ModuleManagementModel
diff --git a/lib/models/MvvFileFileref.php b/lib/models/MvvFileFileref.php
index 0771055..fe2e9e6 100644
--- a/lib/models/MvvFileFileref.php
+++ b/lib/models/MvvFileFileref.php
@@ -11,6 +11,20 @@
* @license http://www.gnu.org/licenses/gpl-2.0.html GPL version 2
* @category Stud.IP
* @since 4.5
+ *
+ * @property array $id alias for pk
+ * @property string $mvvfile_id database column
+ * @property string $file_language database column
+ * @property string $name database column
+ * @property string $fileref_id database column
+ * @property string|null $author_id database column
+ * @property string|null $editor_id database column
+ * @property int $mkdate database column
+ * @property int $chdate database column
+ * @property MvvFile $mvv_file belongs_to MvvFile
+ * @property FileRef $file_ref belongs_to FileRef
+ * @property-read mixed $filetype additional field
+ * @property-read mixed $filename additional field
*/
class MvvFileFileref extends ModuleManagementModel
diff --git a/lib/models/MvvFileRange.php b/lib/models/MvvFileRange.php
index 35e2329..9f0dc8d 100644
--- a/lib/models/MvvFileRange.php
+++ b/lib/models/MvvFileRange.php
@@ -11,6 +11,17 @@
* @license http://www.gnu.org/licenses/gpl-2.0.html GPL version 2
* @category Stud.IP
* @since 4.5
+ *
+ * @property array $id alias for pk
+ * @property string $mvvfile_id database column
+ * @property string $range_id database column
+ * @property-read mixed $range_type additional field
+ * @property int|null $position database column
+ * @property string|null $author_id database column
+ * @property string|null $editor_id database column
+ * @property int $mkdate database column
+ * @property int $chdate database column
+ * @property MvvFile $mvv_file belongs_to MvvFile
*/
class MvvFileRange extends ModuleManagementModel
diff --git a/lib/models/MvvOverlappingConflict.class.php b/lib/models/MvvOverlappingConflict.class.php
index a36f6bf..6ac8e29 100644
--- a/lib/models/MvvOverlappingConflict.class.php
+++ b/lib/models/MvvOverlappingConflict.class.php
@@ -12,6 +12,29 @@
* @license http://www.gnu.org/licenses/gpl-2.0.html GPL version 2
* @category Stud.IP
* @since 4.4
+ *
+ * @property int $id alias column for conflict_id
+ * @property int $conflict_id database column
+ * @property int $selection_id database column
+ * @property string $base_abschnitt_id database column
+ * @property string $base_modulteil_id database column
+ * @property string $base_course_id database column
+ * @property string $base_metadate_id database column
+ * @property string $comp_abschnitt_id database column
+ * @property string $comp_modulteil_id database column
+ * @property string $comp_course_id database column
+ * @property string $comp_metadate_id database column
+ * @property int|null $mkdate database column
+ * @property int|null $chdate database column
+ * @property MvvOverlappingSelection $selection belongs_to MvvOverlappingSelection
+ * @property StgteilAbschnitt $base_abschnitt belongs_to StgteilAbschnitt
+ * @property Modulteil $base_modulteil belongs_to Modulteil
+ * @property SeminarCycleDate $base_cycle belongs_to SeminarCycleDate
+ * @property Course $base_course belongs_to Course
+ * @property StgteilAbschnitt $comp_abschnitt belongs_to StgteilAbschnitt
+ * @property Modulteil $comp_modulteil belongs_to Modulteil
+ * @property SeminarCycleDate $comp_cycle belongs_to SeminarCycleDate
+ * @property Course $comp_course belongs_to Course
*/
class MvvOverlappingConflict extends SimpleORMap
diff --git a/lib/models/MvvOverlappingExclude.php b/lib/models/MvvOverlappingExclude.php
index a940787..d199e30 100644
--- a/lib/models/MvvOverlappingExclude.php
+++ b/lib/models/MvvOverlappingExclude.php
@@ -13,6 +13,14 @@
* @license http://www.gnu.org/licenses/gpl-2.0.html GPL version 2
* @category Stud.IP
* @since 4.4
+ *
+ * @property array $id alias for pk
+ * @property string $selection_id database column
+ * @property string $course_id database column
+ * @property int|null $mkdate database column
+ * @property int|null $chdate database column
+ * @property MvvOverlappingSelection $selection belongs_to MvvOverlappingSelection
+ * @property Course $course belongs_to Course
*/
class MvvOverlappingExclude extends SimpleORMap
diff --git a/lib/models/MvvOverlappingSelection.class.php b/lib/models/MvvOverlappingSelection.class.php
index 8dc2ef0..9d159e2 100644
--- a/lib/models/MvvOverlappingSelection.class.php
+++ b/lib/models/MvvOverlappingSelection.class.php
@@ -12,6 +12,23 @@
* @license http://www.gnu.org/licenses/gpl-2.0.html GPL version 2
* @category Stud.IP
* @since 4.4
+ *
+ * @property int $id database column
+ * @property string $selection_id database column
+ * @property string $semester_id database column
+ * @property string $base_version_id database column
+ * @property string $comp_version_id database column
+ * @property string $fachsems database column
+ * @property string $semtypes database column
+ * @property string $user_id database column
+ * @property int $show_excluded database column
+ * @property int $mkdate database column
+ * @property SimpleORMapCollection|MvvOverlappingConflict[] $conflicts has_many MvvOverlappingConflict
+ * @property SimpleORMapCollection|MvvOverlappingExclude[] $excludes has_many MvvOverlappingExclude
+ * @property Semester $semester belongs_to Semester
+ * @property StgteilVersion $base_version belongs_to StgteilVersion
+ * @property StgteilVersion $comp_version belongs_to StgteilVersion
+ * @property User $user belongs_to User
*/
class MvvOverlappingSelection extends SimpleORMap
diff --git a/lib/models/NewsRange.class.php b/lib/models/NewsRange.class.php
index 0bcaaa6..d780b55 100644
--- a/lib/models/NewsRange.class.php
+++ b/lib/models/NewsRange.class.php
@@ -12,14 +12,16 @@
* @license http://www.gnu.org/licenses/gpl-2.0.html GPL version 2
* @category Stud.IP
*
- * @property string news_id database column
- * @property string range_id database column
- * @property string type computed column
- * @property string name computed column
- * @property string id computed column read/write
- * @property User user belongs_to User
- * @property Course course belongs_to Course
- * @property Institute institute belongs_to Institute
+ * @property array $id alias for pk
+ * @property string $news_id database column
+ * @property string $range_id database column
+ * @property int|null $mkdate database column
+ * @property int|null $chdate database column
+ * @property User $user belongs_to User
+ * @property Course $course belongs_to Course
+ * @property Institute $institute belongs_to Institute
+ * @property mixed $type additional field
+ * @property mixed $name additional field
*/
class NewsRange extends SimpleORMap
{
diff --git a/lib/models/NewsRoles.class.php b/lib/models/NewsRoles.class.php
index e2de5f8..56da6ec 100644
--- a/lib/models/NewsRoles.class.php
+++ b/lib/models/NewsRoles.class.php
@@ -14,8 +14,10 @@
* @package admin
* @since 5.1
*
- * @property string news_id database column
- * @property int roleid database column
+ * @property array $id alias for pk
+ * @property string $news_id database column
+ * @property int $roleid database column
+ * @property StudipNews $news_ranges belongs_to StudipNews
*/
class NewsRoles extends SimpleORMap
diff --git a/lib/models/OERDownloadcounter.php b/lib/models/OERDownloadcounter.php
index 4e0a687..c772eaa 100644
--- a/lib/models/OERDownloadcounter.php
+++ b/lib/models/OERDownloadcounter.php
@@ -1,4 +1,14 @@
<?php
+/**
+ * @license GPL2 or any later version
+ *
+ * @property string $id alias column for counter_id
+ * @property string $counter_id database column
+ * @property string $material_id database column
+ * @property float|null $longitude database column
+ * @property float|null $latitude database column
+ * @property int|null $mkdate database column
+ */
class OERDownloadcounter extends SimpleORMap
{
protected static function configure($config = [])
diff --git a/lib/models/OERHost.php b/lib/models/OERHost.php
index 6db0747..5e6d71c 100644
--- a/lib/models/OERHost.php
+++ b/lib/models/OERHost.php
@@ -1,5 +1,22 @@
<?php
+/**
+ * @license GPL2 or any later version
+ *
+ * @property string $id alias column for host_id
+ * @property string $host_id database column
+ * @property string $sorm_class database column
+ * @property string $name database column
+ * @property string $url database column
+ * @property string $public_key database column
+ * @property string|null $private_key database column
+ * @property int $active database column
+ * @property int $index_server database column
+ * @property int $allowed_as_index_server database column
+ * @property int $last_updated database column
+ * @property int $chdate database column
+ * @property int $mkdate database column
+ */
class OERHost extends OERIdentity
{
diff --git a/lib/models/OERHostOERSI.php b/lib/models/OERHostOERSI.php
index a6c5591..1b5528b 100644
--- a/lib/models/OERHostOERSI.php
+++ b/lib/models/OERHostOERSI.php
@@ -1,5 +1,22 @@
<?php
+/**
+ * @license GPL2 or any later version
+ *
+ * @property string $id alias column for host_id
+ * @property string $host_id database column
+ * @property string $sorm_class database column
+ * @property string $name database column
+ * @property string $url database column
+ * @property string $public_key database column
+ * @property string|null $private_key database column
+ * @property int $active database column
+ * @property int $index_server database column
+ * @property int $allowed_as_index_server database column
+ * @property int $last_updated database column
+ * @property int $chdate database column
+ * @property int $mkdate database column
+ */
class OERHostOERSI extends OERHost
{
diff --git a/lib/models/OERMaterial.php b/lib/models/OERMaterial.php
index f0e101d..d72853f 100644
--- a/lib/models/OERMaterial.php
+++ b/lib/models/OERMaterial.php
@@ -1,37 +1,37 @@
<?php
/**
- * @property string $id
- * @property string $material_id
- * @property string|null $foreign_material_id
- * @property string|null $host_id
- * @property string $name
- * @property string $category
- * @property bool $draft
- * @property string $filename
- * @property string|null $short_description
- * @property string $description
- * @property int $difficulty_start
- * @property int $difficulty_end
- * @property string|null $player_url
- * @property string|null $tool
- * @property string $content_type
- * @property string|null $front_image_content_type
- * @property JSONArrayObject $structure
- * @property float $rating
- * @property string $license_identifier
- * @property string $uri
- * @property string $uri_hash
- * @property string|null $published_id_on_twillo
- * @property string|null $source_url
- * @property JSONArrayObject $data
- * @property int $chdate
- * @property int $mkdate
*
- * @property OERHost $host
- * @property OERReview[]|SimpleORMapCollection $reviews
- * @property OERMaterialUser[]|SimpleORMapCollection $users
- * @property License $license
+ * @property string $id alias column for material_id
+ * @property string $material_id database column
+ * @property string|null $foreign_material_id database column
+ * @property string|null $host_id database column
+ * @property string $name database column
+ * @property string $category database column
+ * @property int $draft database column
+ * @property string $filename database column
+ * @property string|null $short_description database column
+ * @property string $description database column
+ * @property int $difficulty_start database column
+ * @property int $difficulty_end database column
+ * @property string|null $player_url database column
+ * @property string|null $tool database column
+ * @property string $content_type database column
+ * @property string|null $front_image_content_type database column
+ * @property JSONArrayObject|null $structure database column
+ * @property float|null $rating database column
+ * @property string $license_identifier database column
+ * @property string $uri database column
+ * @property string $uri_hash database column
+ * @property string|null $published_id_on_twillo database column
+ * @property string|null $source_url database column
+ * @property JSONArrayObject|null $data database column
+ * @property int $chdate database column
+ * @property int $mkdate database column
+ * @property SimpleORMapCollection|OERReview[] $reviews has_many OERReview
+ * @property SimpleORMapCollection|OERMaterialUser[] $users has_many OERMaterialUser
+ * @property OERHost|null $host belongs_to OERHost
+ * @property License $license belongs_to License
*/
class OERMaterial extends SimpleORMap
{
@@ -55,8 +55,8 @@ class OERMaterial extends SimpleORMap
'class_name' => License::class,
'foreign_key' => 'license_identifier'
];
- $config['serialized_fields']['structure'] = 'JSONArrayObject';
- $config['serialized_fields']['data'] = 'JSONArrayObject';
+ $config['serialized_fields']['structure'] = JSONArrayObject::class;
+ $config['serialized_fields']['data'] = JSONArrayObject::class;
$config['registered_callbacks']['before_store'][] = "cbHashURI";
$config['registered_callbacks']['before_delete'][] = "cbDeleteFile";
parent::configure($config);
diff --git a/lib/models/OERMaterialUser.php b/lib/models/OERMaterialUser.php
index 9b4e1aa..b31a711 100644
--- a/lib/models/OERMaterialUser.php
+++ b/lib/models/OERMaterialUser.php
@@ -1,5 +1,18 @@
<?php
+/**
+ * @license GPL2 or any later version
+ *
+ * @property array $id alias for pk
+ * @property string $material_id database column
+ * @property string $user_id database column
+ * @property int $external_contact database column
+ * @property int $position database column
+ * @property int $chdate database column
+ * @property int $mkdate database column
+ * @property ExternalUser $oeruser belongs_to ExternalUser
+ * @property OERMaterial $material belongs_to OERMaterial
+ */
class OERMaterialUser extends SimpleORMap
{
protected static function configure($config = [])
diff --git a/lib/models/OERPostUpload.php b/lib/models/OERPostUpload.php
index 8bf7386..1fab620 100644
--- a/lib/models/OERPostUpload.php
+++ b/lib/models/OERPostUpload.php
@@ -12,11 +12,14 @@
* @license http://www.gnu.org/licenses/gpl-2.0.html GPL version 2
* @category Stud.IP
* @since 5.3
- * @property string file_ref_id database column
- * @property string user_id database column
- * @property int reminder_date database column
- * @property string mkdate database column
- * @property string chdate database column
+ *
+ * @property array $id alias for pk
+ * @property string $file_ref_id database column
+ * @property string $user_id database column
+ * @property int|null $reminder_date database column
+ * @property int $mkdate database column
+ * @property int $chdate database column
+ * @property File $file belongs_to File
*/
class OERPostUpload extends SimpleORMap
{
diff --git a/lib/models/OERReview.php b/lib/models/OERReview.php
index 58a25e4..3655c57 100644
--- a/lib/models/OERReview.php
+++ b/lib/models/OERReview.php
@@ -1,5 +1,28 @@
<?php
+/**
+ * @license GPL2 or any later version
+ *
+ * @property string $id alias column for thread_id
+ * @property string $thread_id database column
+ * @property string $context_type database column
+ * @property string $context_id database column
+ * @property string $user_id database column
+ * @property int $external_contact database column
+ * @property string|null $content database column
+ * @property string|null $display_class database column
+ * @property int $visible_in_stream database column
+ * @property int $commentable database column
+ * @property JSONArrayObject|null $metadata database column
+ * @property int|null $chdate database column
+ * @property int|null $mkdate database column
+ * @property SimpleORMapCollection|BlubberComment[] $comments has_many BlubberComment
+ * @property SimpleORMapCollection|BlubberMention[] $mentions has_many BlubberMention
+ * @property SimpleORMapCollection|ObjectUserVisit[] $visits has_many ObjectUserVisit
+ * @property OERMaterial $material belongs_to OERMaterial
+ * @property User $user belongs_to User
+ * @property OERHost $host has_one OERHost
+ */
class OERReview extends BlubberThread
{
protected static function configure($config = [])
diff --git a/lib/models/OERTag.php b/lib/models/OERTag.php
index cfefcc6..a1e4961 100644
--- a/lib/models/OERTag.php
+++ b/lib/models/OERTag.php
@@ -1,5 +1,12 @@
<?php
+/**
+ * @license GPL2 or any later version
+ *
+ * @property string $id alias column for tag_hash
+ * @property string $tag_hash database column
+ * @property string $name database column
+ */
class OERTag extends SimpleORMap
{
protected static function configure($config = [])
diff --git a/lib/models/ObjectUserVisit.php b/lib/models/ObjectUserVisit.php
index 90a331e..167ae8c 100644
--- a/lib/models/ObjectUserVisit.php
+++ b/lib/models/ObjectUserVisit.php
@@ -1,13 +1,14 @@
<?php
/**
- * @property array $id
- * @property string $object_id
- * @property string $user_id
- * @property int $plugin_id
- * @property int $visitdate
- * @property int $last_visitdate
- * @property User $user
+ *
+ * @property array $id alias for pk
+ * @property string $object_id database column
+ * @property string $user_id database column
+ * @property int $plugin_id database column
+ * @property int $visitdate database column
+ * @property int $last_visitdate database column
+ * @property User $user belongs_to User
*/
class ObjectUserVisit extends SimpleORMap
{
diff --git a/lib/models/OpenGraphURL.class.php b/lib/models/OpenGraphURL.class.php
index 62eecc4..29e5718 100644
--- a/lib/models/OpenGraphURL.class.php
+++ b/lib/models/OpenGraphURL.class.php
@@ -12,17 +12,20 @@
* A model class to handle the database table "opengraphdata", fetch data from
* an Opengraph-URL and render a fitting box with the opengraph information to
* the user.
- * @property string url database column
- * @property string id alias column for url
- * @property string is_opengraph database column
- * @property string title database column
- * @property string image database column
- * @property string description database column
- * @property string type database column
- * @property string data database column
- * @property string last_update database column
- * @property string chdate database column
- * @property string mkdate database column
+ *
+ * @property int $id alias column for opengraph_id
+ * @property int $opengraph_id database column
+ * @property string $hash database column
+ * @property string $url database column
+ * @property int|null $is_opengraph database column
+ * @property string|null $title database column
+ * @property string|null $image database column
+ * @property string|null $description database column
+ * @property string|null $type database column
+ * @property JSONArrayObject $data database column
+ * @property int $last_update database column
+ * @property int $chdate database column
+ * @property int $mkdate database column
*/
class OpenGraphURL extends SimpleORMap
{
@@ -37,7 +40,7 @@ class OpenGraphURL extends SimpleORMap
{
$config['db_table'] = 'opengraphdata';
- $config['serialized_fields']['data'] = 'JSONArrayObject';
+ $config['serialized_fields']['data'] = JSONArrayObject::class;
parent::configure($config);
}
diff --git a/lib/models/PersonalNotifications.class.php b/lib/models/PersonalNotifications.class.php
index 9218bc0..efa44c1 100644
--- a/lib/models/PersonalNotifications.class.php
+++ b/lib/models/PersonalNotifications.class.php
@@ -29,13 +29,15 @@
* @category Stud.IP
* @since 2.4
*
- * @property string personal_notification_id database column
- * @property string id alias column for personal_notification_id
- * @property string url database column
- * @property string text database column
- * @property string avatar database column
- * @property string html_id database column
- * @property string mkdate database column
+ * @property int $id alias column for personal_notification_id
+ * @property int $personal_notification_id database column
+ * @property string $url database column
+ * @property string $text database column
+ * @property string $avatar database column
+ * @property int $dialog database column
+ * @property string $html_id database column
+ * @property int $mkdate database column
+ * @property mixed $more_unseen additional field
*/
class PersonalNotifications extends SimpleORMap
{
diff --git a/lib/models/PersonalNotificationsUser.php b/lib/models/PersonalNotificationsUser.php
index 3363bb5..e8f74d8 100644
--- a/lib/models/PersonalNotificationsUser.php
+++ b/lib/models/PersonalNotificationsUser.php
@@ -1,5 +1,14 @@
<?php
+/**
+ * @license GPL2 or any later version
+ *
+ * @property array $id alias for pk
+ * @property int $personal_notification_id database column
+ * @property string $user_id database column
+ * @property int $seen database column
+ * @property PersonalNotifications $notification belongs_to PersonalNotifications
+ */
class PersonalNotificationsUser extends SimpleORMap
{
protected static function configure($config = [])
diff --git a/lib/models/Plugin.php b/lib/models/Plugin.php
index 2030e8a..7e4343a 100644
--- a/lib/models/Plugin.php
+++ b/lib/models/Plugin.php
@@ -1,17 +1,22 @@
<?php
/**
- * @property int $id
- * @property int $pluginid
- * @property string $pluginclassname
- * @property string $pluginpath
- * @property string $pluginname
- * @property string $plugintype
- * @property string $enabled
- * @property int $navigationpos
- * @property int|null $dependentonid
- * @property string|null $automatic_update_url
- * @property string|null $automatic_update_secret
+ *
+ * @property int $id alias column for pluginid
+ * @property int $pluginid database column
+ * @property string $pluginclassname database column
+ * @property string $pluginpath database column
+ * @property string $pluginname database column
+ * @property string $plugintype database column
+ * @property string $enabled database column
+ * @property int $navigationpos database column
+ * @property int|null $dependentonid database column
+ * @property string|null $automatic_update_url database column
+ * @property string|null $automatic_update_secret database column
+ * @property I18NString|null $description database column
+ * @property string|null $description_mode database column
+ * @property int|null $highlight_until database column
+ * @property I18NString|null $highlight_text database column
*/
class Plugin extends SimpleORMap
{
diff --git a/lib/models/PluginAsset.php b/lib/models/PluginAsset.php
index dbd4c2b..5f9a73d 100644
--- a/lib/models/PluginAsset.php
+++ b/lib/models/PluginAsset.php
@@ -5,6 +5,16 @@
* @author Jan-Hendrik Willms <tleilax+studip@gmail.com>
* @license GPL2 or any later version
* @since Stud.IP 3.4
+ *
+ * @property string $id alias column for asset_id
+ * @property string $asset_id database column
+ * @property int $plugin_id database column
+ * @property string|null $type database column
+ * @property string $filename database column
+ * @property string $storagename database column
+ * @property int|null $size database column
+ * @property int $mkdate database column
+ * @property int $chdate database column
*/
class PluginAsset extends SimpleORMap
{
diff --git a/lib/models/Questionnaire.php b/lib/models/Questionnaire.php
index 7a25044..f29a2de 100644
--- a/lib/models/Questionnaire.php
+++ b/lib/models/Questionnaire.php
@@ -1,23 +1,23 @@
<?php
/**
- * @property string $id
- * @property string $questionnaire_id
- * @property string $title
- * @property string $description
- * @property string $user_id
- * @property int|null $startdate
- * @property int|null $stopdate
- * @property bool $visible
- * @property bool $anonymous
- * @property string $resultvisibility
- * @property bool $editanswers
- * @property bool $copyable
- * @property string $chdate
- * @property string $mkdate
*
- * @property QuestionnaireQuestion[]|SimpleORMapCollection $questions
- * @property QuestionnaireAssignment[]|SimpleORMapCollection $assignments
- * @property QuestionnaireAnonymousAnswer[]|SimpleORMapCollection $anonymousanswers
+ * @property string $id alias column for questionnaire_id
+ * @property string $questionnaire_id database column
+ * @property string $title database column
+ * @property string|null $description database column
+ * @property string $user_id database column
+ * @property int|null $startdate database column
+ * @property int|null $stopdate database column
+ * @property int $visible database column
+ * @property int $anonymous database column
+ * @property string $resultvisibility database column
+ * @property int $editanswers database column
+ * @property int $copyable database column
+ * @property int $chdate database column
+ * @property int $mkdate database column
+ * @property SimpleORMapCollection|QuestionnaireQuestion[] $questions has_many QuestionnaireQuestion
+ * @property SimpleORMapCollection|QuestionnaireAssignment[] $assignments has_many QuestionnaireAssignment
+ * @property SimpleORMapCollection|QuestionnaireAnonymousAnswer[] $anonymousanswers has_many QuestionnaireAnonymousAnswer
*/
class Questionnaire extends SimpleORMap implements PrivacyObject
{
diff --git a/lib/models/QuestionnaireAnonymousAnswer.php b/lib/models/QuestionnaireAnonymousAnswer.php
index e2bf1ca..d72ba8f 100644
--- a/lib/models/QuestionnaireAnonymousAnswer.php
+++ b/lib/models/QuestionnaireAnonymousAnswer.php
@@ -1,5 +1,16 @@
<?php
+/**
+ * @license GPL2 or any later version
+ *
+ * @property string $id alias column for anonymous_answer_id
+ * @property string $anonymous_answer_id database column
+ * @property string $questionnaire_id database column
+ * @property string $user_id database column
+ * @property int $chdate database column
+ * @property int $mkdate database column
+ * @property Questionnaire $questionnaire belongs_to Questionnaire
+ */
class QuestionnaireAnonymousAnswer extends SimpleORMap implements PrivacyObject
{
protected static function configure($config = [])
diff --git a/lib/models/QuestionnaireAnswer.php b/lib/models/QuestionnaireAnswer.php
index 4713b7f..a204d86 100644
--- a/lib/models/QuestionnaireAnswer.php
+++ b/lib/models/QuestionnaireAnswer.php
@@ -1,5 +1,18 @@
<?php
+/**
+ * @license GPL2 or any later version
+ *
+ * @property string $id alias column for answer_id
+ * @property string $answer_id database column
+ * @property string $question_id database column
+ * @property string|null $user_id database column
+ * @property JSONArrayObject $answerdata database column
+ * @property int $chdate database column
+ * @property int $mkdate database column
+ * @property QuestionnaireQuestion $question belongs_to QuestionnaireQuestion
+ * @property User|null $user belongs_to User
+ */
class QuestionnaireAnswer extends SimpleORMap implements PrivacyObject
{
protected static function configure($config = [])
@@ -13,7 +26,7 @@ class QuestionnaireAnswer extends SimpleORMap implements PrivacyObject
'class_name' => User::class,
'foreign_key' => 'user_id'
];
- $config['serialized_fields']['answerdata'] = "JSONArrayObject";
+ $config['serialized_fields']['answerdata'] = JSONArrayObject::class;
parent::configure($config);
}
diff --git a/lib/models/QuestionnaireAssignment.php b/lib/models/QuestionnaireAssignment.php
index e8ef6d9..be921f8 100644
--- a/lib/models/QuestionnaireAssignment.php
+++ b/lib/models/QuestionnaireAssignment.php
@@ -1,5 +1,18 @@
<?php
+/**
+ * @license GPL2 or any later version
+ *
+ * @property string $id alias column for assignment_id
+ * @property string $assignment_id database column
+ * @property string $questionnaire_id database column
+ * @property string $range_id database column
+ * @property string $range_type database column
+ * @property string $user_id database column
+ * @property int $chdate database column
+ * @property int $mkdate database column
+ * @property Questionnaire $questionnaire belongs_to Questionnaire
+ */
class QuestionnaireAssignment extends SimpleORMap implements PrivacyObject
{
protected static function configure($config = [])
diff --git a/lib/models/QuestionnaireInfo.php b/lib/models/QuestionnaireInfo.php
index e68a1e6..fc6efc7 100644
--- a/lib/models/QuestionnaireInfo.php
+++ b/lib/models/QuestionnaireInfo.php
@@ -1,4 +1,19 @@
<?php
+/**
+ * @license GPL2 or any later version
+ *
+ * @property string $id alias column for question_id
+ * @property string $question_id database column
+ * @property string $questionnaire_id database column
+ * @property string $questiontype database column
+ * @property string|null $internal_name database column
+ * @property JSONArrayObject $questiondata database column
+ * @property int $position database column
+ * @property int $chdate database column
+ * @property int $mkdate database column
+ * @property SimpleORMapCollection|QuestionnaireAnswer[] $answers has_many QuestionnaireAnswer
+ * @property Questionnaire $questionnaire belongs_to Questionnaire
+ */
class QuestionnaireInfo extends QuestionnaireQuestion implements QuestionType
{
public static function getIcon(bool $active = false) : Icon
diff --git a/lib/models/QuestionnaireQuestion.php b/lib/models/QuestionnaireQuestion.php
index 1e37340..e5a5947 100644
--- a/lib/models/QuestionnaireQuestion.php
+++ b/lib/models/QuestionnaireQuestion.php
@@ -2,6 +2,21 @@
use eTask\Task;
+/**
+ * @license GPL2 or any later version
+ *
+ * @property string $id alias column for question_id
+ * @property string $question_id database column
+ * @property string $questionnaire_id database column
+ * @property string $questiontype database column
+ * @property string|null $internal_name database column
+ * @property JSONArrayObject $questiondata database column
+ * @property int $position database column
+ * @property int $chdate database column
+ * @property int $mkdate database column
+ * @property SimpleORMapCollection|QuestionnaireAnswer[] $answers has_many QuestionnaireAnswer
+ * @property Questionnaire $questionnaire belongs_to Questionnaire
+ */
class QuestionnaireQuestion extends SimpleORMap
{
protected static function configure($config = [])
@@ -17,7 +32,7 @@ class QuestionnaireQuestion extends SimpleORMap
'on_delete' => 'delete',
'on_store' => 'store'
];
- $config['serialized_fields']['questiondata'] = 'JSONArrayObject';
+ $config['serialized_fields']['questiondata'] = JSONArrayObject::class;
parent::configure($config);
}
diff --git a/lib/models/RangeScale.php b/lib/models/RangeScale.php
index 3c89195..8d0cfaf 100644
--- a/lib/models/RangeScale.php
+++ b/lib/models/RangeScale.php
@@ -1,6 +1,21 @@
<?php
require_once 'lib/classes/QuestionType.interface.php';
+/**
+ * @license GPL2 or any later version
+ *
+ * @property string $id alias column for question_id
+ * @property string $question_id database column
+ * @property string $questionnaire_id database column
+ * @property string $questiontype database column
+ * @property string|null $internal_name database column
+ * @property JSONArrayObject $questiondata database column
+ * @property int $position database column
+ * @property int $chdate database column
+ * @property int $mkdate database column
+ * @property SimpleORMapCollection|QuestionnaireAnswer[] $answers has_many QuestionnaireAnswer
+ * @property Questionnaire $questionnaire belongs_to Questionnaire
+ */
class RangeScale extends QuestionnaireQuestion implements QuestionType
{
public static function getIcon(bool $active = false) : Icon
diff --git a/lib/models/RangeTreeNode.php b/lib/models/RangeTreeNode.php
index c142579..4c4ae0d 100644
--- a/lib/models/RangeTreeNode.php
+++ b/lib/models/RangeTreeNode.php
@@ -15,15 +15,17 @@
* @category Stud.IP
* @since 5.3
*
- *
- * @property string id database column
- * @property string item_id database column
- * @property string parent_id database column
- * @property int level database column
- * @property int priority database column
- * @property string name database column
- * @property string studip_object database column
- * @property string studip_object_id database column
+ * @property string $id alias column for item_id
+ * @property string $item_id database column
+ * @property string $parent_id database column
+ * @property int $level database column
+ * @property int $priority database column
+ * @property string $name database column
+ * @property string|null $studip_object database column
+ * @property string|null $studip_object_id database column
+ * @property SimpleORMapCollection|RangeTreeNode[] $children has_many RangeTreeNode
+ * @property Institute|null $institute belongs_to Institute
+ * @property RangeTreeNode $parent belongs_to RangeTreeNode
*/
class RangeTreeNode extends SimpleORMap implements StudipTreeNode
{
diff --git a/lib/models/Semester.class.php b/lib/models/Semester.class.php
index a380781..4eefa3b 100644
--- a/lib/models/Semester.class.php
+++ b/lib/models/Semester.class.php
@@ -13,17 +13,28 @@
* @license http://www.gnu.org/licenses/gpl-2.0.html GPL version 2
* @category Stud.IP
*
- * @property string semester_id database column
- * @property string id alias column for semester_id
- * @property string name database column
- * @property string semester_token database column
- * @property string beginn database column
- * @property string ende database column
- * @property string vorles_beginn database column
- * @property string vorles_ende database column
- * @property string first_sem_week computed column
- * @property string last_sem_week computed column
- * @property string past computed column
+ * @property string $id alias column for semester_id
+ * @property string $semester_id database column
+ * @property I18NString $name database column
+ * @property I18NString $semester_token database column
+ * @property I18NString $token alias column for semester_token
+ * @property int|null $beginn database column
+ * @property int|null $ende database column
+ * @property int|null $sem_wechsel database column
+ * @property int|null $vorles_beginn database column
+ * @property int|null $vorles_ende database column
+ * @property int $visible database column
+ * @property string|null $external_id database column
+ * @property int|null $mkdate database column
+ * @property int|null $chdate database column
+ * @property-read mixed $first_sem_week additional field
+ * @property-read mixed $last_sem_week additional field
+ * @property-read mixed $current additional field
+ * @property-read mixed $past additional field
+ * @property-read mixed $short_name additional field
+ * @property mixed $absolute_seminars_count additional field
+ * @property mixed $duration_seminars_count additional field
+ * @property mixed $continuous_seminars_count additional field
*/
class Semester extends SimpleORMap
{
diff --git a/lib/models/SemesterCourse.class.php b/lib/models/SemesterCourse.class.php
index 0fc6af3..04590e3 100644
--- a/lib/models/SemesterCourse.class.php
+++ b/lib/models/SemesterCourse.class.php
@@ -16,15 +16,13 @@
* @license http://www.gnu.org/licenses/gpl-2.0.html GPL version 2
* @category Stud.IP
*
- * @property string semester_id The ID of a semester.
- * @property string course_id The ID of a course.
- * @property string mkdate The database entry's creation date.
- * @property string chdate The database entry's last modification date.
- *
- * @property Semester $semester
- * @property Course $course
- *
- * The combination of semester_id and course_id form the primary key.
+ * @property array $id alias for pk
+ * @property string $semester_id database column
+ * @property string $course_id database column
+ * @property int $mkdate database column
+ * @property int $chdate database column
+ * @property Semester $semester belongs_to Semester
+ * @property Course $course belongs_to Course
*/
class SemesterCourse extends SimpleORMap
{
diff --git a/lib/models/SemesterHoliday.class.php b/lib/models/SemesterHoliday.class.php
index ee3d2bc..90f9ecd 100644
--- a/lib/models/SemesterHoliday.class.php
+++ b/lib/models/SemesterHoliday.class.php
@@ -12,13 +12,16 @@
* @license http://www.gnu.org/licenses/gpl-2.0.html GPL version 2
* @category Stud.IP
*
- * @property string holiday_id database column
- * @property string id alias column for holiday_id
- * @property string semester_id database column
- * @property string name database column
- * @property string description database column
- * @property string beginn database column
- * @property string ende database column
+ * @property string $id alias column for holiday_id
+ * @property string $holiday_id database column
+ * @property string $semester_id database column
+ * @property string $name database column
+ * @property string $description database column
+ * @property int|null $beginn database column
+ * @property int $ende database column
+ * @property int|null $mkdate database column
+ * @property int|null $chdate database column
+ * @property mixed $current additional field
*/
class SemesterHoliday extends SimpleORMap
diff --git a/lib/models/SeminarCycleDate.class.php b/lib/models/SeminarCycleDate.class.php
index 50f7105..36884f0 100644
--- a/lib/models/SeminarCycleDate.class.php
+++ b/lib/models/SeminarCycleDate.class.php
@@ -18,28 +18,30 @@ require_once 'lib/dates.inc.php';
* @license http://www.gnu.org/licenses/gpl-2.0.html GPL version 2
* @category Stud.IP
* @since 2.0
- * @property string metadate_id database column
- * @property string id alias column for metadate_id
- * @property string seminar_id database column
- * @property string start_time database column
- * @property string end_time database column
- * @property string weekday database column
- * @property string description database column
- * @property string sws database column
- * @property string cycle database column
- * @property string week_offset database column
- * @property string end_offset database column
- * @property string sorter database column
- * @property string mkdate database column
- * @property string chdate database column
- * @property string start_hour computed column read/write
- * @property string start_minute computed column read/write
- * @property string end_hour computed column read/write
- * @property string end_minute computed column read/write
- * @property SimpleORMapCollection dates has_many CourseDate
- * @property Course course belongs_to Course
- * @property RoomRequest room_requests has_many RoomRequest
- * @property bool is_visible computed column read
+ *
+ * @property string $id alias column for metadate_id
+ * @property string $metadate_id database column
+ * @property string $seminar_id database column
+ * @property string $start_time database column
+ * @property string $end_time database column
+ * @property int $weekday database column
+ * @property string $description database column
+ * @property float $sws database column
+ * @property int $cycle database column
+ * @property int $week_offset database column
+ * @property int|null $end_offset database column
+ * @property int $sorter database column
+ * @property int $mkdate database column
+ * @property int $chdate database column
+ * @property SimpleORMapCollection|RoomRequest[] $room_requests has_many RoomRequest
+ * @property SimpleORMapCollection|CourseDate[] $dates has_many CourseDate
+ * @property SimpleORMapCollection|CourseExDate[] $exdates has_many CourseExDate
+ * @property Course $course belongs_to Course
+ * @property mixed $start_hour additional field
+ * @property mixed $start_minute additional field
+ * @property mixed $end_hour additional field
+ * @property mixed $end_minute additional field
+ * @property-read mixed $is_visible additional field
*/
class SeminarCycleDate extends SimpleORMap
{
diff --git a/lib/models/StatusgruppeUser.php b/lib/models/StatusgruppeUser.php
index 44fda26..7bd3133 100644
--- a/lib/models/StatusgruppeUser.php
+++ b/lib/models/StatusgruppeUser.php
@@ -15,14 +15,22 @@
* @license http://www.gnu.org/licenses/gpl-2.0.html GPL version 2
* @category Stud.IP
*
- * @property string statusgruppe_id database column
- * @property string user_id database column
- * @property string position database column
- * @property string visible database column
- * @property string inherit database column
- * @property string id computed column read/write
- * @property Statusgruppen group belongs_to Statusgruppen
- * @property User user belongs_to User
+ * @property array $id alias for pk
+ * @property string $statusgruppe_id database column
+ * @property string $user_id database column
+ * @property int $position database column
+ * @property int $visible database column
+ * @property int $inherit database column
+ * @property int|null $mkdate database column
+ * @property SimpleORMapCollection|DatafieldEntryModel[] $datafields has_many DatafieldEntryModel
+ * @property Statusgruppen $group belongs_to Statusgruppen
+ * @property User $user belongs_to User
+ * @property mixed $vorname additional field
+ * @property mixed $nachname additional field
+ * @property mixed $username additional field
+ * @property mixed $email additional field
+ * @property mixed $title_front additional field
+ * @property mixed $title_rear additional field
*/
class StatusgruppeUser extends SimpleORMap implements PrivacyObject
{
diff --git a/lib/models/Statusgruppen.php b/lib/models/Statusgruppen.php
index ebf8e13..5775abd 100644
--- a/lib/models/Statusgruppen.php
+++ b/lib/models/Statusgruppen.php
@@ -17,28 +17,31 @@
* @license http://www.gnu.org/licenses/gpl-2.0.html GPL version 2
* @category Stud.IP
*
- * @property string statusgruppe_id database column
- * @property string id alias column for statusgruppe_id
- * @property string name database column
- * @property string range_id database column
- * @property string position database column
- * @property string size database column
- * @property string selfassign database column
- * @property string selfassign_start database column
- * @property string mkdate database column
- * @property string chdate database column
- * @property string calendar_group database column
- * @property string name_w database column
- * @property string name_m database column
- * @property string children computed column
- * @property SimpleORMapCollection members has_many StatusgruppeUser
- * @property Statusgruppen parent belongs_to Statusgruppen
- * @property Course course belongs_to course
- * @property Institute institute belongs_to institute
- * @property User user belongs_to user
- *
- * @property ConsultationBlock[]|SimpleORMapCollection $consultation_blocks
- * @property ConsultationResponsibility[]|SimpleORMapCollection $consultation_responsibilities
+ * @property string $id alias column for statusgruppe_id
+ * @property string $statusgruppe_id database column
+ * @property I18NString $name database column
+ * @property string|null $description database column
+ * @property string $range_id database column
+ * @property int $position database column
+ * @property int $size database column
+ * @property int $selfassign database column
+ * @property int $selfassign_start database column
+ * @property int $selfassign_end database column
+ * @property int $mkdate database column
+ * @property int $chdate database column
+ * @property int $calendar_group database column
+ * @property I18NString|null $name_w database column
+ * @property I18NString|null $name_m database column
+ * @property SimpleORMapCollection|StatusgruppeUser[] $members has_many StatusgruppeUser
+ * @property SimpleORMapCollection|ConsultationBlock[] $consultation_blocks has_many ConsultationBlock
+ * @property SimpleORMapCollection|ConsultationResponsibility[] $consultation_responsibilities has_many ConsultationResponsibility
+ * @property Statusgruppen $parent belongs_to Statusgruppen
+ * @property Course $course belongs_to Course
+ * @property Institute $institute belongs_to Institute
+ * @property User $user belongs_to User
+ * @property BlubberStatusgruppeThread $blubberthread has_one BlubberStatusgruppeThread
+ * @property SimpleORMapCollection|CourseDate[] $dates has_and_belongs_to_many CourseDate
+ * @property mixed $children additional field
*/
class Statusgruppen extends SimpleORMap implements PrivacyObject
{
diff --git a/lib/models/StgteilAbschnitt.php b/lib/models/StgteilAbschnitt.php
index 6e758a5..75a6cc8 100644
--- a/lib/models/StgteilAbschnitt.php
+++ b/lib/models/StgteilAbschnitt.php
@@ -12,6 +12,24 @@
* @license http://www.gnu.org/licenses/gpl-2.0.html GPL version 2
* @category Stud.IP
* @since 3.5
+ *
+ * @property string $id alias column for abschnitt_id
+ * @property string $abschnitt_id database column
+ * @property string $version_id database column
+ * @property int $position database column
+ * @property I18NString $name database column
+ * @property I18NString|null $kommentar database column
+ * @property float|null $kp database column
+ * @property I18NString|null $ueberschrift database column
+ * @property string $author_id database column
+ * @property string $editor_id database column
+ * @property int $mkdate database column
+ * @property int $chdate database column
+ * @property SimpleORMapCollection|StgteilabschnittModul[] $modul_zuordnungen has_many StgteilabschnittModul
+ * @property SimpleORMapCollection|ModulteilStgteilabschnitt[] $modulteil_abschnitte has_many ModulteilStgteilabschnitt
+ * @property StgteilVersion $version belongs_to StgteilVersion
+ * @property SimpleORMapCollection|Modul[] $module has_and_belongs_to_many Modul
+ * @property mixed $count_module additional field
*/
class StgteilAbschnitt extends ModuleManagementModelTreeItem
diff --git a/lib/models/StgteilBezeichnung.php b/lib/models/StgteilBezeichnung.php
index 926e6ab..ba6ddd9 100644
--- a/lib/models/StgteilBezeichnung.php
+++ b/lib/models/StgteilBezeichnung.php
@@ -12,6 +12,18 @@
* @license http://www.gnu.org/licenses/gpl-2.0.html GPL version 2
* @category Stud.IP
* @since 3.5
+ *
+ * @property string $id alias column for stgteil_bez_id
+ * @property string $stgteil_bez_id database column
+ * @property I18NString $name database column
+ * @property I18NString $name_kurz database column
+ * @property int $position database column
+ * @property string $author_id database column
+ * @property string $editor_id database column
+ * @property int $mkdate database column
+ * @property int $chdate database column
+ * @property mixed $count_stgteile additional field
+ * @property mixed $count_studiengaenge additional field
*/
class StgteilBezeichnung extends ModuleManagementModel
diff --git a/lib/models/StgteilVersion.php b/lib/models/StgteilVersion.php
index 7d71374..b2b56e2 100644
--- a/lib/models/StgteilVersion.php
+++ b/lib/models/StgteilVersion.php
@@ -12,6 +12,29 @@
* @license http://www.gnu.org/licenses/gpl-2.0.html GPL version 2
* @category Stud.IP
* @since 3.5
+ *
+ * @property string $id alias column for version_id
+ * @property string $version_id database column
+ * @property string $stgteil_id database column
+ * @property string|null $start_sem database column
+ * @property string|null $end_sem database column
+ * @property string|null $code database column
+ * @property int|null $beschlussdatum database column
+ * @property int|null $fassung_nr database column
+ * @property string|null $fassung_typ database column
+ * @property I18NString|null $beschreibung database column
+ * @property string|null $stat database column
+ * @property string|null $kommentar_status database column
+ * @property string $author_id database column
+ * @property string $editor_id database column
+ * @property int $mkdate database column
+ * @property int $chdate database column
+ * @property SimpleORMapCollection|StgteilAbschnitt[] $abschnitte has_many StgteilAbschnitt
+ * @property SimpleORMapCollection|MvvFile[] $documents has_many MvvFile
+ * @property SimpleORMapCollection|MvvFile[] $document_assignments has_many MvvFile
+ * @property StudiengangTeil $studiengangteil belongs_to StudiengangTeil
+ * @property-read mixed $count_abschnitte additional field
+ * @property-read mixed $count_dokumente additional field
*/
class StgteilVersion extends ModuleManagementModelTreeItem
diff --git a/lib/models/StgteilabschnittModul.php b/lib/models/StgteilabschnittModul.php
index 020c0de..6b2f01f 100644
--- a/lib/models/StgteilabschnittModul.php
+++ b/lib/models/StgteilabschnittModul.php
@@ -13,6 +13,21 @@
* @license http://www.gnu.org/licenses/gpl-2.0.html GPL version 2
* @category Stud.IP
* @since 3.5
+ *
+ * @property string $id alias column for abschnitt_modul_id
+ * @property string $abschnitt_modul_id database column
+ * @property string $abschnitt_id database column
+ * @property string $modul_id database column
+ * @property string|null $flexnow_modul database column
+ * @property string|null $modulcode database column
+ * @property int $position database column
+ * @property I18NString|null $bezeichnung database column
+ * @property string $author_id database column
+ * @property string $editor_id database column
+ * @property int $mkdate database column
+ * @property int $chdate database column
+ * @property Modul $modul belongs_to Modul
+ * @property StgteilAbschnitt $abschnitt belongs_to StgteilAbschnitt
*/
class StgteilabschnittModul extends ModuleManagementModelTreeItem
diff --git a/lib/models/StockImage.php b/lib/models/StockImage.php
index 54d0992..0885536 100644
--- a/lib/models/StockImage.php
+++ b/lib/models/StockImage.php
@@ -1,19 +1,20 @@
<?php
/**
- * @property string $id database column
- * @property string $title database column
+ *
+ * @property int $id database column
+ * @property string $title database column
* @property string $description database column
- * @property string $license database column
- * @property string $author database column
- * @property string $mime_type database column
- * @property int $size database column
- * @property int $width database column
- * @property int $height database column
- * @property string $palette database column
- * @property string $tags database column
- * @property int $mkdate database column
- * @property int $chdate database column
+ * @property string $license database column
+ * @property string $author database column
+ * @property string $mime_type database column
+ * @property int $size database column
+ * @property int $width database column
+ * @property int $height database column
+ * @property string $palette database column
+ * @property string $tags database column
+ * @property int $mkdate database column
+ * @property int $chdate database column
*/
class StockImage extends \SimpleORMap
{
diff --git a/lib/models/Studiengang.php b/lib/models/Studiengang.php
index eccd0cd..9c9be77 100644
--- a/lib/models/Studiengang.php
+++ b/lib/models/Studiengang.php
@@ -12,6 +12,50 @@
* @license http://www.gnu.org/licenses/gpl-2.0.html GPL version 2
* @category Stud.IP
* @since 3.5
+ *
+ * @property string $id alias column for studiengang_id
+ * @property string $studiengang_id database column
+ * @property string|null $abschluss_id database column
+ * @property string $typ database column
+ * @property I18NString $name database column
+ * @property I18NString|null $name_kurz database column
+ * @property I18NString|null $beschreibung database column
+ * @property string|null $institut_id database column
+ * @property string|null $start database column
+ * @property string|null $end database column
+ * @property int|null $beschlussdatum database column
+ * @property int|null $fassung_nr database column
+ * @property string|null $fassung_typ database column
+ * @property string|null $stat database column
+ * @property string|null $kommentar_status database column
+ * @property string|null $schlagworte database column
+ * @property int|null $studienzeit database column
+ * @property int|null $studienplaetze database column
+ * @property string|null $abschlussgrad database column
+ * @property string|null $enroll database column
+ * @property string $author_id database column
+ * @property string $editor_id database column
+ * @property int $mkdate database column
+ * @property int $chdate database column
+ * @property SimpleORMapCollection|StudiengangStgteil[] $stgteil_assignments has_many StudiengangStgteil
+ * @property SimpleORMapCollection|MvvFile[] $documents has_many MvvFile
+ * @property SimpleORMapCollection|MvvFileRange[] $document_assignments has_many MvvFileRange
+ * @property SimpleORMapCollection|MvvContactRange[] $contact_assignments has_many MvvContactRange
+ * @property SimpleORMapCollection|StudycourseType[] $studycourse_types has_many StudycourseType
+ * @property SimpleORMapCollection|StudycourseLanguage[] $languages has_many StudycourseLanguage
+ * @property SimpleORMapCollection|DatafieldEntryModel[] $datafields has_many DatafieldEntryModel
+ * @property SimpleORMapCollection|Aufbaustudiengang[] $grundstg_assignments has_many Aufbaustudiengang
+ * @property SimpleORMapCollection|Aufbaustudiengang[] $aufbaustg_assignments has_many Aufbaustudiengang
+ * @property Abschluss|null $abschluss belongs_to Abschluss
+ * @property Fachbereich|null $responsible_institute has_one Fachbereich
+ * @property SimpleORMapCollection|StudiengangTeil[] $studiengangteile has_and_belongs_to_many StudiengangTeil
+ * @property SimpleORMapCollection|StgteilBezeichnung[] $stgteil_bezeichnungen has_and_belongs_to_many StgteilBezeichnung
+ * @property-read mixed $count_dokumente additional field
+ * @property-read mixed $count_faecher additional field
+ * @property-read mixed $count_module additional field
+ * @property-read mixed $institut_name additional field
+ * @property-read mixed $kategorie_name additional field
+ * @property-read mixed $display_name additional field
*/
class Studiengang extends ModuleManagementModelTreeItem
diff --git a/lib/models/StudiengangStgteil.php b/lib/models/StudiengangStgteil.php
index 9914022..b37cd53 100644
--- a/lib/models/StudiengangStgteil.php
+++ b/lib/models/StudiengangStgteil.php
@@ -13,6 +13,22 @@
* @license http://www.gnu.org/licenses/gpl-2.0.html GPL version 2
* @category Stud.IP
* @since 3.5
+ *
+ * @property array $id alias for pk
+ * @property string $studiengang_id database column
+ * @property string $stgteil_id database column
+ * @property string $stgteil_bez_id database column
+ * @property int $position database column
+ * @property string $author_id database column
+ * @property string $editor_id database column
+ * @property int $mkdate database column
+ * @property int $chdate database column
+ * @property Studiengang $studiengang belongs_to Studiengang
+ * @property StudiengangTeil $studiengangteil belongs_to StudiengangTeil
+ * @property StgteilBezeichnung $stgteil_bezeichnung has_one StgteilBezeichnung
+ * @property-read mixed $stgteil_name additional field
+ * @property-read mixed $stgbez_id additional field
+ * @property-read mixed $stgbez_name additional field
*/
class StudiengangStgteil extends ModuleManagementModel
diff --git a/lib/models/StudiengangTeil.php b/lib/models/StudiengangTeil.php
index 0d73c3d..9292dd9 100644
--- a/lib/models/StudiengangTeil.php
+++ b/lib/models/StudiengangTeil.php
@@ -12,6 +12,26 @@
* @license http://www.gnu.org/licenses/gpl-2.0.html GPL version 2
* @category Stud.IP
* @since 3.5
+ *
+ * @property string $id alias column for stgteil_id
+ * @property string $stgteil_id database column
+ * @property string|null $fach_id database column
+ * @property string|null $kp database column
+ * @property int|null $semester database column
+ * @property I18NString $zusatz database column
+ * @property string $author_id database column
+ * @property string $editor_id database column
+ * @property int $mkdate database column
+ * @property int $chdate database column
+ * @property SimpleORMapCollection|StgteilVersion[] $versionen has_many StgteilVersion
+ * @property SimpleORMapCollection|MvvContactRange[] $contact_assignments has_many MvvContactRange
+ * @property SimpleORMapCollection|StudiengangStgteil[] $studiengang_assignments has_many StudiengangStgteil
+ * @property Fach|null $fach belongs_to Fach
+ * @property SimpleORMapCollection|Studiengang[] $studiengang has_and_belongs_to_many Studiengang
+ * @property-read mixed $count_versionen additional field
+ * @property-read mixed $fach_name additional field
+ * @property-read mixed $count_contacts additional field
+ * @property-read mixed $stgteil_name additional field
*/
class StudiengangTeil extends ModuleManagementModelTreeItem
diff --git a/lib/models/StudipCacheOperation.php b/lib/models/StudipCacheOperation.php
index 938a75a..e9c8738 100644
--- a/lib/models/StudipCacheOperation.php
+++ b/lib/models/StudipCacheOperation.php
@@ -11,6 +11,13 @@
* @author Jan-Hendrik Willms <tleilax+studip@gmail.com>
* @license GPL2 or any later version
* @since Stud.IP 3.3
+ *
+ * @property array $id alias for pk
+ * @property string $cache_key database column
+ * @property string $operation database column
+ * @property string $parameters database column
+ * @property int $mkdate database column
+ * @property int $chdate database column
*/
class StudipCacheOperation extends SimpleORMap
{
diff --git a/lib/models/StudipComment.class.php b/lib/models/StudipComment.class.php
index 226daab..2e0389d 100644
--- a/lib/models/StudipComment.class.php
+++ b/lib/models/StudipComment.class.php
@@ -31,14 +31,14 @@
* @author André Noack <noack@data-quest>, Suchi & Berg GmbH <info@data-quest.de>
* @access public
*
- * @property string comment_id database column
- * @property string id alias column for comment_id
- * @property string object_id database column
- * @property string user_id database column
- * @property string content database column
- * @property string mkdate database column
- * @property string chdate database column
- * @property StudipNews news belongs_to StudipNews
+ * @property string $id alias column for comment_id
+ * @property string $comment_id database column
+ * @property string $object_id database column
+ * @property string $user_id database column
+ * @property string $content database column
+ * @property int $mkdate database column
+ * @property int $chdate database column
+ * @property StudipNews $news belongs_to StudipNews
*/
class StudipComment extends SimpleORMap implements PrivacyObject
diff --git a/lib/models/StudipEvaluation.php b/lib/models/StudipEvaluation.php
index 58a8f53..5441db8 100644
--- a/lib/models/StudipEvaluation.php
+++ b/lib/models/StudipEvaluation.php
@@ -13,22 +13,23 @@
* @license http://www.gnu.org/licenses/gpl-2.0.html GPL version 2
* @category Stud.IP
* @since 3.0
- * @property string eval_id database column
- * @property string id alias column for eval_id
- * @property string author_id database column
- * @property string title database column
- * @property string text database column
- * @property string startdate database column
- * @property string stopdate database column
- * @property string timespan database column
- * @property string mkdate database column
- * @property string chdate database column
- * @property string anonymous database column
- * @property string visible database column
- * @property string shared database column
- * @property string enddate computed column
- * @property User author belongs_to User
- * @property SimpleORMapCollection participants has_and_belongs_to_many User
+ *
+ * @property string $id alias column for eval_id
+ * @property string $eval_id database column
+ * @property string $author_id database column
+ * @property string $title database column
+ * @property string $text database column
+ * @property int|null $startdate database column
+ * @property int|null $stopdate database column
+ * @property int|null $timespan database column
+ * @property int $mkdate database column
+ * @property int $chdate database column
+ * @property int $anonymous database column
+ * @property int $visible database column
+ * @property int $shared database column
+ * @property User $author belongs_to User
+ * @property SimpleORMapCollection|User[] $participants has_and_belongs_to_many User
+ * @property mixed $enddate additional field
*/
class StudipEvaluation extends SimpleORMap
{
diff --git a/lib/models/StudipNews.class.php b/lib/models/StudipNews.class.php
index 57e42bf..f909fb4 100644
--- a/lib/models/StudipNews.class.php
+++ b/lib/models/StudipNews.class.php
@@ -27,22 +27,23 @@ require_once 'lib/object.inc.php';
* @author Arne Schröder <schroeder@data-quest>
* @access public
*
- * @property string news_id database column
- * @property string id alias column for news_id
- * @property string topic database column
- * @property string body database column
- * @property string author database column
- * @property string date database column
- * @property string user_id database column
- * @property string expire database column
- * @property string allow_comments database column
- * @property int prio database column
- * @property string chdate database column
- * @property string chdate_uid database column
- * @property string mkdate database column
- * @property SimpleORMapCollection news_ranges has_many NewsRange
- * @property SimpleORMapCollection comments has_many StudipComment
- * @property User owner belongs_to User
+ * @property string $id alias column for news_id
+ * @property string $news_id database column
+ * @property I18NString $topic database column
+ * @property I18NString $body database column
+ * @property string $author database column
+ * @property int $date database column
+ * @property string $user_id database column
+ * @property int $expire database column
+ * @property int $allow_comments database column
+ * @property int $prio database column
+ * @property int $chdate database column
+ * @property string $chdate_uid database column
+ * @property int $mkdate database column
+ * @property SimpleORMapCollection|NewsRange[] $news_ranges has_many NewsRange
+ * @property SimpleORMapCollection|StudipComment[] $comments has_many StudipComment
+ * @property SimpleORMapCollection|NewsRoles[] $news_roles has_many NewsRoles
+ * @property User $owner belongs_to User
*/
class StudipNews extends SimpleORMap implements PrivacyObject
{
diff --git a/lib/models/StudipScmEntry.class.php b/lib/models/StudipScmEntry.class.php
index 2eeff5a..7001a4a 100644
--- a/lib/models/StudipScmEntry.class.php
+++ b/lib/models/StudipScmEntry.class.php
@@ -10,17 +10,17 @@
* @author André Noack <noack@data-quest>, Suchi & Berg GmbH <info@data-quest.de>
* @author Jan-Hendrik Willms <tleilax+studip@gmail.com>
*
- * @property string scm_id database column
- * @property string id alias column for scm_id
- * @property string range_id database column
- * @property string user_id database column
- * @property string tab_name database column
- * @property string content database column
- * @property string mkdate database column
- * @property string chdate database column
- * @property string position database column
- * @property User user belongs_to User
- * @property Course course belongs_to Course
+ * @property string $id alias column for scm_id
+ * @property string $scm_id database column
+ * @property string $range_id database column
+ * @property string $user_id database column
+ * @property I18NString $tab_name database column
+ * @property I18NString $content database column
+ * @property int $mkdate database column
+ * @property int $chdate database column
+ * @property int $position database column
+ * @property User $user belongs_to User
+ * @property Course $course belongs_to Course
*/
class StudipScmEntry extends SimpleORMap
diff --git a/lib/models/StudipStudyArea.class.php b/lib/models/StudipStudyArea.class.php
index 518e6c1..444ca21 100644
--- a/lib/models/StudipStudyArea.class.php
+++ b/lib/models/StudipStudyArea.class.php
@@ -15,17 +15,19 @@
* @author André Noack <noack@data-quest.de>
* @copyright (c) Authors
*
- * @property string sem_tree_id database column
- * @property string id alias column for sem_tree_id
- * @property string parent_id database column
- * @property string priority database column
- * @property string info database column
- * @property string name database column
- * @property string type database column
- * @property SimpleORMapCollection _children has_many StudipStudyArea
- * @property Institute institute belongs_to Institute
- * @property StudipStudyArea _parent belongs_to StudipStudyArea
- * @property SimpleORMapCollection courses has_and_belongs_to_many Course
+ * @property string $id alias column for sem_tree_id
+ * @property string $sem_tree_id database column
+ * @property string $parent_id database column
+ * @property int $priority database column
+ * @property string $info database column
+ * @property string $name database column
+ * @property string|null $studip_object_id database column
+ * @property int $type database column
+ * @property int|null $mkdate database column
+ * @property int|null $chdate database column
+ * @property SimpleORMapCollection|StudipStudyArea[] $_children has_many StudipStudyArea
+ * @property StudipStudyArea $_parent belongs_to StudipStudyArea
+ * @property SimpleORMapCollection|Course[] $courses has_and_belongs_to_many Course
*/
class StudipStudyArea extends SimpleORMap implements StudipTreeNode
diff --git a/lib/models/StudyCourse.class.php b/lib/models/StudyCourse.class.php
index a99e1cd..faf6df4 100644
--- a/lib/models/StudyCourse.class.php
+++ b/lib/models/StudyCourse.class.php
@@ -13,12 +13,18 @@
* @license http://www.gnu.org/licenses/gpl-2.0.html GPL version 2
* @category Stud.IP
*
- * @property string studiengang_id database column
- * @property string id alias column for studiengang_id
- * @property string name database column
- * @property string beschreibung database column
- * @property string mkdate database column
- * @property string chdate database column
+ * @property string $id alias column for fach_id
+ * @property string $fach_id database column
+ * @property string $name database column
+ * @property string|null $name_kurz database column
+ * @property string|null $beschreibung database column
+ * @property string|null $schlagworte database column
+ * @property string $author_id database column
+ * @property string $editor_id database column
+ * @property int $mkdate database column
+ * @property int $chdate database column
+ * @property SimpleORMapCollection|Degree[] $degrees has_and_belongs_to_many Degree
+ * @property-read mixed $count_user additional field
*/
class StudyCourse extends SimpleORMap
{
diff --git a/lib/models/StudycourseLanguage.php b/lib/models/StudycourseLanguage.php
index 22747b3..3e1a860 100644
--- a/lib/models/StudycourseLanguage.php
+++ b/lib/models/StudycourseLanguage.php
@@ -13,6 +13,18 @@
* @license http://www.gnu.org/licenses/gpl-2.0.html GPL version 2
* @category Stud.IP
* @since 4.5
+ *
+ * @property array $id alias for pk
+ * @property string $studiengang_id database column
+ * @property string $lang database column
+ * @property string $language alias column for lang
+ * @property int $position database column
+ * @property string|null $author_id database column
+ * @property string|null $editor_id database column
+ * @property int $mkdate database column
+ * @property int $chdate database column
+ * @property Studiengang $studycourse belongs_to Studiengang
+ * @property-read mixed $display_name additional field
*/
class StudycourseLanguage extends ModuleManagementModel
diff --git a/lib/models/StudycourseType.php b/lib/models/StudycourseType.php
index ad2ee68..07367eb 100644
--- a/lib/models/StudycourseType.php
+++ b/lib/models/StudycourseType.php
@@ -13,6 +13,15 @@
* @license http://www.gnu.org/licenses/gpl-2.0.html GPL version 2
* @category Stud.IP
* @since 4.4
+ *
+ * @property array $id alias for pk
+ * @property string $studiengang_id database column
+ * @property string $type database column
+ * @property string|null $author_id database column
+ * @property string|null $editor_id database column
+ * @property int $mkdate database column
+ * @property int $chdate database column
+ * @property Studiengang $studycourse belongs_to Studiengang
*/
class StudycourseType extends ModuleManagementModel
diff --git a/lib/models/TFASecret.php b/lib/models/TFASecret.php
index 6d14c81..a841d5c 100644
--- a/lib/models/TFASecret.php
+++ b/lib/models/TFASecret.php
@@ -8,16 +8,15 @@ use OTPHP\TOTP;
* @license GPL2 or any later version
* @since Stud.IP 4.4
*
- * @property string $id
- * @property string $user_id
- * @property string $secret
- * @property string $type
- * @property bool $confirmed
- * @property int $mkdate
- * @property int $chdate
- *
- * @property User $user
- * @property TFAToken[]|SimpleORMapCollection $tokens
+ * @property string $id alias column for user_id
+ * @property string $user_id database column
+ * @property string $secret database column
+ * @property int $confirmed database column
+ * @property string $type database column
+ * @property int $mkdate database column
+ * @property int $chdate database column
+ * @property SimpleORMapCollection|TFAToken[] $tokens has_many TFAToken
+ * @property User $user belongs_to User
*/
class TFASecret extends SimpleORMap
{
diff --git a/lib/models/TFAToken.php b/lib/models/TFAToken.php
index 2eb7873..3b79d93 100644
--- a/lib/models/TFAToken.php
+++ b/lib/models/TFAToken.php
@@ -5,6 +5,11 @@
* @author Jan-Hendrik Willms <tleilax+studip@gmail.com>
* @license GPL2 or any later version
* @since Stud.IP 4.4
+ *
+ * @property array $id alias for pk
+ * @property string $user_id database column
+ * @property string $token database column
+ * @property int $mkdate database column
*/
class TFAToken extends SimpleORMap
{
diff --git a/lib/models/Token.php b/lib/models/Token.php
index a42cf77..63c6ebc 100644
--- a/lib/models/Token.php
+++ b/lib/models/Token.php
@@ -6,12 +6,12 @@
* @author Marco Diedrich <mdiedric@uos.de>
* @license GPL2 or any later version
*
- * @property string $id
- * @property string $token
- * @property string $user_id
- * @property int $expiration
- * @property int $mkdate
- * @property User $user
+ * @property string $id alias column for token
+ * @property string $token database column
+ * @property string $user_id database column
+ * @property int $expiration database column
+ * @property int|null $mkdate database column
+ * @property User $user belongs_to User
*/
class Token extends SimpleORMap
{
diff --git a/lib/models/ToolActivation.php b/lib/models/ToolActivation.php
index f399878..a4a4de2 100644
--- a/lib/models/ToolActivation.php
+++ b/lib/models/ToolActivation.php
@@ -13,13 +13,16 @@
* @license http://www.gnu.org/licenses/gpl-2.0.html GPL version 2
* @category Stud.IP
*
- * @property string range_id database column
- * @property string range_type database column
- * @property string plugin_id database column
- * @property string position database column
- * @property array metadata database column
- * @property string mkdate database column
- * @property string chdate database column
+ * @property array $id alias for pk
+ * @property string $range_id database column
+ * @property string $range_type database column
+ * @property int $plugin_id database column
+ * @property int $position database column
+ * @property JSONArrayObject|null $metadata database column
+ * @property int $mkdate database column
+ * @property int $chdate database column
+ * @property Institute $institute belongs_to Institute
+ * @property Course $course belongs_to Course
*/
class ToolActivation extends SimpleORMap
{
@@ -36,7 +39,7 @@ class ToolActivation extends SimpleORMap
'foreign_key' => 'range_id',
];
- $config['serialized_fields']['metadata'] = 'JSONArrayObject';
+ $config['serialized_fields']['metadata'] = JSONArrayObject::class;
$config['registered_callbacks']['before_create'][] = 'setMaxPosition';
diff --git a/lib/models/User.class.php b/lib/models/User.class.php
index 99a06ef..bb23ca3 100644
--- a/lib/models/User.class.php
+++ b/lib/models/User.class.php
@@ -22,57 +22,62 @@
* @license http://www.gnu.org/licenses/gpl-2.0.html GPL version 2
* @category Stud.IP
*
- * @property string user_id database column
- * @property string id alias column for user_id
- * @property string username database column
- * @property string password database column
- * @property string perms database column
- * @property string vorname database column
- * @property string nachname database column
- * @property string email database column
- * @property string validation_key database column
- * @property string auth_plugin database column
- * @property string locked database column
- * @property string lock_comment database column
- * @property string locked_by database column
- * @property string visible database column
- * @property string hobby computed column read/write
- * @property string lebenslauf computed column read/write
- * @property string publi computed column read/write
- * @property string schwerp computed column read/write
- * @property string home computed column read/write
- * @property string privatnr computed column read/write
- * @property string privatcell computed column read/write
- * @property string privadr computed column read/write
- * @property string score computed column read/write
- * @property string geschlecht computed column read/write
- * @property string mkdate computed column read/write
- * @property string chdate computed column read/write
- * @property string title_front computed column read/write
- * @property string title_rear computed column read/write
- * @property string preferred_language computed column read/write
- * @property string smsforward_copy computed column read/write
- * @property string smsforward_rec computed column read/write
- * @property string guestbook computed column read/write
- * @property string email_forward computed column read/write
- * @property string motto computed column read/write
- * @property string lock_rule computed column read/write
- * @property SimpleORMapCollection course_memberships has_many CourseMember
- * @property SimpleORMapCollection institute_memberships has_many InstituteMember
- * @property SimpleORMapCollection admission_applications has_many AdmissionApplication
- * @property SimpleORMapCollection archived_course_memberships has_many ArchivedCourseMember
- * @property SimpleORMapCollection datafields has_many DatafieldEntryModel
- * @property SimpleORMapCollection studycourses has_many UserStudyCourse
- * @property SimpleORMapCollection contacts has_many Contact
- * @property UserInfo info has_one UserInfo
- * @property UserOnline online has_one UserOnline
- * @property Kategorie[]|SimpleORMapCollection $profile_categories has_many Kategorie
- * @property UserDomain[]|SimpleORMapCollection $domains
- * @property ConsultationBlock[]|SimpleORMapCollection $consultation_blocks
- * @property ConsultationBooking[]|SimpleORMapCollection $consultation_bookings
- * @property ConsultationResponsibility[]|SimpleORMapCollection $consultation_responsibilities
- *
- * @property UserConfig config
+ * @property string $id alias column for user_id
+ * @property string $user_id database column
+ * @property string $username database column
+ * @property string $password database column
+ * @property string $perms database column
+ * @property string $vorname database column
+ * @property string $nachname database column
+ * @property string $email database column
+ * @property string $validation_key database column
+ * @property string|null $auth_plugin database column
+ * @property int $locked database column
+ * @property string|null $lock_comment database column
+ * @property string|null $locked_by database column
+ * @property string $visible database column
+ * @property SimpleORMapCollection|CourseMember[] $course_memberships has_many CourseMember
+ * @property SimpleORMapCollection|InstituteMember[] $institute_memberships has_many InstituteMember
+ * @property SimpleORMapCollection|AdmissionApplication[] $admission_applications has_many AdmissionApplication
+ * @property SimpleORMapCollection|ArchivedCourseMember[] $archived_course_memberships has_many ArchivedCourseMember
+ * @property SimpleORMapCollection|DatafieldEntryModel[] $datafields has_many DatafieldEntryModel
+ * @property SimpleORMapCollection|UserStudyCourse[] $studycourses has_many UserStudyCourse
+ * @property SimpleORMapCollection|Statusgruppen[] $contactgroups has_many Statusgruppen
+ * @property SimpleORMapCollection|ResourcePermission[] $resource_permissions has_many ResourcePermission
+ * @property SimpleORMapCollection|ResourceTemporaryPermission[] $resource_temporary_permissions has_many ResourceTemporaryPermission
+ * @property SimpleORMapCollection|ConsultationBlock[] $consultation_blocks has_many ConsultationBlock
+ * @property SimpleORMapCollection|ConsultationBooking[] $consultation_bookings has_many ConsultationBooking
+ * @property SimpleORMapCollection|ConsultationResponsibility[] $consultation_responsibilities has_many ConsultationResponsibility
+ * @property SimpleORMapCollection|Kategorie[] $profile_categories has_many Kategorie
+ * @property SimpleORMapCollection|MvvContact[] $mvv_assignments has_many MvvContact
+ * @property SimpleORMapCollection|CourseMemberNotification[] $course_notifications has_many CourseMemberNotification
+ * @property UserInfo $info has_one UserInfo
+ * @property UserOnline $online has_one UserOnline
+ * @property Courseware\Unit $courseware_units has_one Courseware\Unit
+ * @property SimpleORMapCollection|User[] $contacts has_and_belongs_to_many User
+ * @property SimpleORMapCollection|UserDomain[] $domains has_and_belongs_to_many UserDomain
+ * @property-read mixed $config additional field
+ * @property mixed $hobby additional field
+ * @property mixed $lebenslauf additional field
+ * @property mixed $publi additional field
+ * @property mixed $schwerp additional field
+ * @property mixed $home additional field
+ * @property mixed $privatnr additional field
+ * @property mixed $privatcell additional field
+ * @property mixed $privadr additional field
+ * @property mixed $score additional field
+ * @property mixed $geschlecht additional field
+ * @property mixed $mkdate additional field
+ * @property mixed $chdate additional field
+ * @property mixed $title_front additional field
+ * @property mixed $title_rear additional field
+ * @property mixed $preferred_language additional field
+ * @property mixed $smsforward_copy additional field
+ * @property mixed $smsforward_rec additional field
+ * @property mixed $email_forward additional field
+ * @property mixed $motto additional field
+ * @property mixed $lock_rule additional field
+ * @property mixed $oercampus_description additional field
*/
class User extends AuthUserMd5 implements Range, PrivacyObject
{
diff --git a/lib/models/UserDomain.php b/lib/models/UserDomain.php
index 49abbbc..74681d2 100644
--- a/lib/models/UserDomain.php
+++ b/lib/models/UserDomain.php
@@ -6,6 +6,15 @@
* @author Jan-Hendrik Willms <tleilax+studip@gmail.com>
* @copyright 2008
* @license GPL2 or any later version
+ *
+ * @property string $id alias column for userdomain_id
+ * @property string $userdomain_id database column
+ * @property string $name database column
+ * @property int $restricted_access database column
+ * @property int $mkdate database column
+ * @property int $chdate database column
+ * @property SimpleORMapCollection|User[] $users has_and_belongs_to_many User
+ * @property SimpleORMapCollection|Course[] $courses has_and_belongs_to_many Course
*/
class UserDomain extends SimpleORMap
{
diff --git a/lib/models/UserInfo.class.php b/lib/models/UserInfo.class.php
index 403e70b..28808a2 100644
--- a/lib/models/UserInfo.class.php
+++ b/lib/models/UserInfo.class.php
@@ -13,29 +13,29 @@
* @license http://www.gnu.org/licenses/gpl-2.0.html GPL version 2
* @category Stud.IP
*
- * @property string user_id database column
- * @property string id alias column for user_id
- * @property string hobby database column
- * @property string lebenslauf database column
- * @property string publi database column
- * @property string schwerp database column
- * @property string home database column
- * @property string privatnr database column
- * @property string privatcell database column
- * @property string privadr database column
- * @property string score database column
- * @property string geschlecht database column
- * @property string mkdate database column
- * @property string chdate database column
- * @property string title_front database column
- * @property string title_rear database column
- * @property string preferred_language database column
- * @property string smsforward_copy database column
- * @property string smsforward_rec database column
- * @property string guestbook database column
- * @property string email_forward database column
- * @property string motto database column
- * @property string lock_rule database column
+ * @property string $id alias column for user_id
+ * @property string $user_id database column
+ * @property I18NString $hobby database column
+ * @property I18NString $lebenslauf database column
+ * @property I18NString $publi database column
+ * @property I18NString $schwerp database column
+ * @property string $home database column
+ * @property string $privatnr database column
+ * @property string $privatcell database column
+ * @property string $privadr database column
+ * @property int $score database column
+ * @property int $geschlecht database column
+ * @property int $mkdate database column
+ * @property int $chdate database column
+ * @property string $title_front database column
+ * @property string $title_rear database column
+ * @property string|null $preferred_language database column
+ * @property int $smsforward_copy database column
+ * @property string $smsforward_rec database column
+ * @property int $email_forward database column
+ * @property string $motto database column
+ * @property string $lock_rule database column
+ * @property string|null $oercampus_description database column
*/
class UserInfo extends SimpleORMap
diff --git a/lib/models/UserOnline.class.php b/lib/models/UserOnline.class.php
index ec3c0cb..e18322d 100644
--- a/lib/models/UserOnline.class.php
+++ b/lib/models/UserOnline.class.php
@@ -13,9 +13,9 @@
* @license http://www.gnu.org/licenses/gpl-2.0.html GPL version 2
* @category Stud.IP
*
- * @property string user_id database column
- * @property string id alias column for user_id
- * @property string last_lifesign computed column read/write
+ * @property string $id alias column for user_id
+ * @property string $user_id database column
+ * @property int $last_lifesign database column
*/
class UserOnline extends SimpleORMap
{
diff --git a/lib/models/UserStudyCourse.class.php b/lib/models/UserStudyCourse.class.php
index 7f7ad34..cac37c8 100644
--- a/lib/models/UserStudyCourse.class.php
+++ b/lib/models/UserStudyCourse.class.php
@@ -13,16 +13,19 @@
* @license http://www.gnu.org/licenses/gpl-2.0.html GPL version 2
* @category Stud.IP
*
- * @property string user_id database column
- * @property string studiengang_id database column
- * @property string semester database column
- * @property string abschluss_id database column
- * @property string degree_name computed column read/write
- * @property string studycourse_name computed column read/write
- * @property string id computed column read/write
- * @property User user belongs_to User
- * @property Degree degree belongs_to Degree
- * @property StudyCourse studycourse belongs_to StudyCourse
+ * @property array $id alias for pk
+ * @property string $user_id database column
+ * @property string $fach_id database column
+ * @property int|null $semester database column
+ * @property string $abschluss_id database column
+ * @property string|null $version_id database column
+ * @property int|null $mkdate database column
+ * @property int|null $chdate database column
+ * @property User $user belongs_to User
+ * @property Abschluss $degree belongs_to Abschluss
+ * @property Fach $studycourse belongs_to Fach
+ * @property mixed $degree_name additional field
+ * @property mixed $studycourse_name additional field
*/
class UserStudyCourse extends SimpleORMap implements PrivacyObject
{
diff --git a/lib/models/Vote.php b/lib/models/Vote.php
index d3d6d75..0520401 100644
--- a/lib/models/Vote.php
+++ b/lib/models/Vote.php
@@ -1,6 +1,21 @@
<?php
require_once 'lib/classes/QuestionType.interface.php';
+/**
+ * @license GPL2 or any later version
+ *
+ * @property string $id alias column for question_id
+ * @property string $question_id database column
+ * @property string $questionnaire_id database column
+ * @property string $questiontype database column
+ * @property string|null $internal_name database column
+ * @property JSONArrayObject $questiondata database column
+ * @property int $position database column
+ * @property int $chdate database column
+ * @property int $mkdate database column
+ * @property SimpleORMapCollection|QuestionnaireAnswer[] $answers has_many QuestionnaireAnswer
+ * @property Questionnaire $questionnaire belongs_to Questionnaire
+ */
class Vote extends QuestionnaireQuestion implements QuestionType
{
public static function getIcon(bool $active = false) : Icon
diff --git a/lib/models/WebserviceAccessRule.class.php b/lib/models/WebserviceAccessRule.class.php
index 51eceee..48da0ef 100644
--- a/lib/models/WebserviceAccessRule.class.php
+++ b/lib/models/WebserviceAccessRule.class.php
@@ -24,18 +24,20 @@
* @license http://www.gnu.org/licenses/gpl-2.0.html GPL version 2
* @category Stud.IP
*
- * @property string api_key database column
- * @property string method database column
- * @property string ip_range database column
- * @property string type database column
- * @property string id database column
+ * @property string $api_key database column
+ * @property string $method database column
+ * @property CSVArrayObject $ip_range database column
+ * @property string $type database column
+ * @property int $id database column
+ * @property int|null $mkdate database column
+ * @property int|null $chdate database column
*/
class WebserviceAccessRule extends SimpleORMap
{
protected static function configure($config = [])
{
$config['db_table'] = 'webservice_access_rules';
- $config['serialized_fields']['ip_range'] = 'CSVArrayObject';
+ $config['serialized_fields']['ip_range'] = CSVArrayObject::class;
parent::configure($config);
}
diff --git a/lib/models/WikiPage.class.php b/lib/models/WikiPage.class.php
index 82abcd4..b6cc4d2 100644
--- a/lib/models/WikiPage.class.php
+++ b/lib/models/WikiPage.class.php
@@ -11,15 +11,20 @@
* @author mlunzena
* @copyright (c) Authors
*
- * @property string range_id database column
- * @property string user_id database column
- * @property string keyword database column
- * @property string body database column
- * @property string ancestor database column
- * @property string chdate database column
- * @property string version database column
- * @property string id computed column read/write
- * @property User author belongs_to User
+ * @property array $id alias for pk
+ * @property string $range_id database column
+ * @property string|null $user_id database column
+ * @property string $keyword database column
+ * @property string $body database column
+ * @property string|null $ancestor database column
+ * @property int|null $chdate database column
+ * @property int $version database column
+ * @property int|null $mkdate database column
+ * @property User|null $author belongs_to User
+ * @property Course $course belongs_to Course
+ * @property-read mixed $parent additional field
+ * @property-read mixed $children additional field
+ * @property-read mixed $config additional field
*/
class WikiPage extends SimpleORMap implements PrivacyObject
{
diff --git a/lib/models/WikiPageConfig.php b/lib/models/WikiPageConfig.php
index 722356d..e82d694 100644
--- a/lib/models/WikiPageConfig.php
+++ b/lib/models/WikiPageConfig.php
@@ -9,6 +9,16 @@
*
* @author Elmar Ludwig
* @license http://www.gnu.org/licenses/gpl-2.0.html GPL version 2
+ *
+ * @property array $id alias for pk
+ * @property string $range_id database column
+ * @property string $keyword database column
+ * @property int $read_restricted database column
+ * @property int $edit_restricted database column
+ * @property int|null $mkdate database column
+ * @property int|null $chdate database column
+ * @property Course $course belongs_to Course
+ * @property Institute $institute belongs_to Institute
*/
class WikiPageConfig extends SimpleORMap
{
diff --git a/lib/models/eTask/Assignment.php b/lib/models/eTask/Assignment.php
index 6320684..22636da 100644
--- a/lib/models/eTask/Assignment.php
+++ b/lib/models/eTask/Assignment.php
@@ -2,23 +2,26 @@
namespace eTask;
+use JSONArrayObject;
+
/**
* eTask conforming assignment definition.
*
- * @property int id database column
- * @property int test_id database column
- * @property string range_type database column
- * @property string range_id database column
- * @property string type database column
- * @property string start database column
- * @property string end database column
- * @property int active database column
- * @property string options database column
- * @property eTask\Test test belongs_to etask\Test
- * @property SimpleORMapCollection attempts has_many etask\Attempt
- * @property SimpleORMapCollection ranges has_many etask\AssignmentRange
- * @property SimpleORMapCollection responses has_many etask\Response
- * @property JSONArrayobject options serialized database column
+ * @property int $id database column
+ * @property int $test_id database column
+ * @property string|null $range_type database column
+ * @property string|null $range_id database column
+ * @property string $type database column
+ * @property int|null $start database column
+ * @property int|null $end database column
+ * @property int $active database column
+ * @property \JSONArrayObject $options database column
+ * @property int|null $mkdate database column
+ * @property int|null $chdate database column
+ * @property \SimpleORMapCollection|Attempt[] $attempts has_many Attempt
+ * @property \SimpleORMapCollection|AssignmentRange[] $ranges has_many AssignmentRange
+ * @property \SimpleORMapCollection|Response[] $responses has_many Response
+ * @property Test $test belongs_to Test
*/
class Assignment extends \SimpleORMap
{
@@ -59,7 +62,7 @@ class Assignment extends \SimpleORMap
'on_store' => 'store'
];
- $config['serialized_fields']['options'] = 'JSONArrayObject';
+ $config['serialized_fields']['options'] = JSONArrayObject::class;
parent::configure($config);
}
diff --git a/lib/models/eTask/AssignmentRange.php b/lib/models/eTask/AssignmentRange.php
index c0c3a3d..76d2a69 100644
--- a/lib/models/eTask/AssignmentRange.php
+++ b/lib/models/eTask/AssignmentRange.php
@@ -2,14 +2,19 @@
namespace eTask;
+use JSONArrayObject;
+
/**
* eTask conforming assignment-range relation definition.
*
- * @property int assignment_id database column
- * @property string range_type database column
- * @property string range_id database column
- * @property eTask\Assignment assignment belongs_to etask\Assignment
- * @property JSONArrayobject options serialized database column
+ * @property int $id database column
+ * @property int $assignment_id database column
+ * @property string $range_type database column
+ * @property string $range_id database column
+ * @property \JSONArrayObject $options database column
+ * @property int|null $mkdate database column
+ * @property int|null $chdate database column
+ * @property Assignment $assignment belongs_to Assignment
*/
class AssignmentRange extends \SimpleORMap
{
@@ -29,7 +34,7 @@ class AssignmentRange extends \SimpleORMap
'foreign_key' => 'assignment_id'
];
- $config['serialized_fields']['options'] = 'JSONArrayObject';
+ $config['serialized_fields']['options'] = JSONArrayObject::class;
parent::configure($config);
}
diff --git a/lib/models/eTask/Attempt.php b/lib/models/eTask/Attempt.php
index f4a6cbe..2720f47 100644
--- a/lib/models/eTask/Attempt.php
+++ b/lib/models/eTask/Attempt.php
@@ -1,17 +1,20 @@
<?php
namespace eTask;
+use JSONArrayObject;
+
/**
* eTask conforming assignment attempt definition.
*
- * @property int id database column
- * @property int assignment_id database column
- * @property string user_id database column
- * @property string start database column
- * @property string end database column
- * @property string options database column
- * @property eTask\Assignment assignment belongs_to etask\Assignment
- * @property JSONArrayobject options serialized database column
+ * @property int $id database column
+ * @property int $assignment_id database column
+ * @property string $user_id database column
+ * @property int|null $start database column
+ * @property int|null $end database column
+ * @property \JSONArrayObject $options database column
+ * @property int|null $mkdate database column
+ * @property int|null $chdate database column
+ * @property Assignment $assignment belongs_to Assignment
*/
class Attempt extends \SimpleORMap implements \PrivacyObject
{
@@ -31,7 +34,7 @@ class Attempt extends \SimpleORMap implements \PrivacyObject
'foreign_key' => 'assignment_id'
];
- $config['serialized_fields']['options'] = 'JSONArrayObject';
+ $config['serialized_fields']['options'] = JSONArrayObject::class;
parent::configure($config);
}
diff --git a/lib/models/eTask/ConfigureTrait.php b/lib/models/eTask/ConfigureTrait.php
index 10f4dda..39b8b71 100644
--- a/lib/models/eTask/ConfigureTrait.php
+++ b/lib/models/eTask/ConfigureTrait.php
@@ -38,13 +38,13 @@ trait ConfigureTrait
private static function configureClassNames($config = [])
{
$defaultTypes = [
- 'Assignment' => '\\eTask\\Assignment',
- 'AssignmentRange' => '\\eTask\\AssignmentRange',
- 'Attempt' => '\\eTask\\Attempt',
- 'Response' => '\\eTask\\Response',
- 'Task' => '\\eTask\\Task',
- 'Test' => '\\eTask\\Test',
- 'TestTask' => '\\eTask\\TestTask'
+ 'Assignment' => Assignment::class,
+ 'AssignmentRange' => AssignmentRange::class,
+ 'Attempt' => Attempt::class,
+ 'Response' => Response::class,
+ 'Task' => Task::class,
+ 'Test' => Test::class,
+ 'TestTask' => TestTask::class,
];
$types = [];
diff --git a/lib/models/eTask/Response.php b/lib/models/eTask/Response.php
index 5b2edb5..fbed047 100644
--- a/lib/models/eTask/Response.php
+++ b/lib/models/eTask/Response.php
@@ -1,27 +1,29 @@
<?php
namespace eTask;
+use JSONArrayObject;
+use StoredUserData;
+use User;
+
/**
* eTask conforming assignment definition.
*
- * @property int id database column
- * @property int assignment_id database column
- * @property int task_id database column
- * @property string user_id database column
- * @property string response database column
- * @property int state database column
- * @property float points database column
- * @property string feedback database column
- * @property string grader_id database column
- * @property string mkdate database column
- * @property string chdate database column
- * @property string options database column
- * @property eTask\Assignment assignment belongs_to etask\Assignment
- * @property eTask\Task task belongs_to etask\Task
- * @property User user belongs_to User
- * @property User grader belongs_to User
- * @property JSONArrayobject response serialized database column
- * @property JSONArrayobject options serialized database column
+ * @property int $id database column
+ * @property int $assignment_id database column
+ * @property int $task_id database column
+ * @property string $user_id database column
+ * @property \JSONArrayObject $response database column
+ * @property int|null $state database column
+ * @property float|null $points database column
+ * @property string|null $feedback database column
+ * @property string|null $grader_id database column
+ * @property int $mkdate database column
+ * @property int $chdate database column
+ * @property \JSONArrayObject $options database column
+ * @property Assignment $assignment belongs_to Assignment
+ * @property Task $task belongs_to Task
+ * @property \User $user belongs_to \User
+ * @property \User $grader belongs_to \User
*/
class Response extends \SimpleORMap implements \PrivacyObject
{
@@ -47,17 +49,17 @@ class Response extends \SimpleORMap implements \PrivacyObject
];
$config['belongs_to']['user'] = [
- 'class_name' => '\\User',
+ 'class_name' => User::class,
'foreign_key' => 'user_id'
];
$config['belongs_to']['grader'] = [
- 'class_name' => '\\User',
+ 'class_name' => User::class,
'foreign_key' => 'user_id'
];
- $config['serialized_fields']['response'] = 'JSONArrayObject';
- $config['serialized_fields']['options'] = 'JSONArrayObject';
+ $config['serialized_fields']['response'] = JSONArrayObject::class;
+ $config['serialized_fields']['options'] = JSONArrayObject::class;
parent::configure($config);
}
@@ -68,7 +70,7 @@ class Response extends \SimpleORMap implements \PrivacyObject
*
* @param StoredUserData $storage object to store data into
*/
- public static function exportUserData(\StoredUserData $storage)
+ public static function exportUserData(StoredUserData $storage)
{
$sorm = self::findBySQL("user_id = ?", [$storage->user_id]);
if ($sorm) {
diff --git a/lib/models/eTask/Task.php b/lib/models/eTask/Task.php
index 989915d..40c5404 100644
--- a/lib/models/eTask/Task.php
+++ b/lib/models/eTask/Task.php
@@ -2,24 +2,25 @@
namespace eTask;
+use JSONArrayObject;
+use User;
+
/**
* eTask conforming task definition.
*
- * @property int id database column
- * @property string type database column
- * @property string title database column
- * @property string description database column
- * @property string task database column
- * @property string user_id database column
- * @property string mkdate database column
- * @property string chdate database column
- * @property string options database column
- * @property User owner belongs_to User
- * @property SimpleORMapCollection tests additional field etask\Test
- * @property SimpleORMapCollection test_tasks has_many etask\TestTask
- * @property SimpleORMapCollection responses has_many etask\Response
- * @property JSONArrayobject task serialized database column
- * @property JSONArrayobject options serialized database column
+ * @property int $id database column
+ * @property string $type database column
+ * @property string $title database column
+ * @property string $description database column
+ * @property \JSONArrayObject $task database column
+ * @property string $user_id database column
+ * @property int $mkdate database column
+ * @property int $chdate database column
+ * @property \JSONArrayObject $options database column
+ * @property \SimpleORMapCollection|TestTask[] $test_tasks has_many TestTask
+ * @property \SimpleORMapCollection|Response[] $responses has_many Response
+ * @property \User $owner belongs_to \User
+ * @property \SimpleORMapCollection|Test[] $tests has_and_belongs_to_many Test
*/
class Task extends \SimpleORMap implements \PrivacyObject
{
@@ -35,7 +36,7 @@ class Task extends \SimpleORMap implements \PrivacyObject
$config['relationTypes'] = self::configureClassNames($config);
$config['belongs_to']['owner'] = [
- 'class_name' => '\\User',
+ 'class_name' => User::class,
'foreign_key' => 'user_id'
];
@@ -61,8 +62,8 @@ class Task extends \SimpleORMap implements \PrivacyObject
'on_store' => 'store'
];
- $config['serialized_fields']['task'] = 'JSONArrayObject';
- $config['serialized_fields']['options'] = 'JSONArrayObject';
+ $config['serialized_fields']['task'] = JSONArrayObject::class;
+ $config['serialized_fields']['options'] = JSONArrayObject::class;
parent::configure($config);
}
diff --git a/lib/models/eTask/Test.php b/lib/models/eTask/Test.php
index 2f35cd4..8554a06 100644
--- a/lib/models/eTask/Test.php
+++ b/lib/models/eTask/Test.php
@@ -2,21 +2,23 @@
namespace eTask;
+use JSONArrayObject;
+use User;
+
/**
* eTask conforming test definition.
*
- * @property int id database column
- * @property string title database column
- * @property string description database column
- * @property string user_id database column
- * @property string mkdate database column
- * @property string chdate database column
- * @property string options database column
- * @property SimpleORMapCollection tasks additional field etask\Task
- * @property SimpleORMapCollection testtasks has_many etask\TestTask
- * @property User owner belongs_to User
- * @property SimpleORMapCollection assignments has_many etask\Assignment
- * @property JSONArrayobject options serialized database column
+ * @property int $id database column
+ * @property string $title database column
+ * @property string $description database column
+ * @property string $user_id database column
+ * @property int $mkdate database column
+ * @property int $chdate database column
+ * @property \JSONArrayObject $options database column
+ * @property \SimpleORMapCollection|TestTask[] $testtasks has_many TestTask
+ * @property \SimpleORMapCollection|Assignment[] $assignments has_many Assignment
+ * @property \User $owner belongs_to \User
+ * @property \SimpleORMapCollection|Task[] $tasks has_and_belongs_to_many Task
*/
class Test extends \SimpleORMap implements \PrivacyObject
{
@@ -48,7 +50,7 @@ class Test extends \SimpleORMap implements \PrivacyObject
];
$config['belongs_to']['owner'] = [
- 'class_name' => '\\User',
+ 'class_name' => User::class,
'foreign_key' => 'user_id'
];
@@ -59,7 +61,7 @@ class Test extends \SimpleORMap implements \PrivacyObject
'on_store' => 'store'
];
- $config['serialized_fields']['options'] = 'JSONArrayObject';
+ $config['serialized_fields']['options'] = JSONArrayObject::class;
parent::configure($config);
}
diff --git a/lib/models/eTask/TestTask.php b/lib/models/eTask/TestTask.php
index ecedad7..6759491 100644
--- a/lib/models/eTask/TestTask.php
+++ b/lib/models/eTask/TestTask.php
@@ -2,17 +2,21 @@
namespace eTask;
+use JSONArrayObject;
+
/**
* eTask conforming test task relation.
*
- * @property int test_id database column
- * @property int task_id database column
- * @property int position database column
- * @property float points database column
- * @property string options database column
- * @property eTask\Test test belongs_to etask\Test
- * @property eTask\Task task belongs_to etask\Task
- * @property JSONArrayobject options serialized database column
+ * @property array $id alias for pk
+ * @property int $test_id database column
+ * @property int $task_id database column
+ * @property int $position database column
+ * @property float|null $points database column
+ * @property \JSONArrayObject $options database column
+ * @property int|null $mkdate database column
+ * @property int|null $chdate database column
+ * @property Test $test belongs_to Test
+ * @property Task $task belongs_to Task
*/
class TestTask extends \SimpleORMap
{
@@ -35,7 +39,7 @@ class TestTask extends \SimpleORMap
'class_name' => $config['relationTypes']['Task'],
'foreign_key' => 'task_id'];
- $config['serialized_fields']['options'] = 'JSONArrayObject';
+ $config['serialized_fields']['options'] = JSONArrayObject::class;
parent::configure($config);
}
diff --git a/lib/models/resources/BrokenResource.class.php b/lib/models/resources/BrokenResource.class.php
index d1014ef..5266b4f 100644
--- a/lib/models/resources/BrokenResource.class.php
+++ b/lib/models/resources/BrokenResource.class.php
@@ -3,6 +3,11 @@
/**
* ResourceLabel.class.php - model class for a resource label
*
+ * The BrokenResource class represents resources whose class
+ * cannot be found due to missing Resource specialisations
+ * that cannot be loaded. This can happen if a plugin is uninstalled
+ * without removing the resources that are handled by the plugin.
+ *
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of
@@ -16,14 +21,26 @@
* @since 4.5
*
* All properties are inherited from the parent class (Resource).
- */
-
-
-/**
- * The BrokenResource class represents resources whose class
- * cannot be found due to missing Resource specialisations
- * that cannot be loaded. This can happen if a plugin is uninstalled
- * without removing the resources that are handled by the plugin.
+ *
+ * @property string $id database column
+ * @property string $parent_id database column
+ * @property string $category_id database column
+ * @property int|null $level database column
+ * @property string $name database column
+ * @property I18NString|null $description database column
+ * @property int $requestable database column
+ * @property int $lockable database column
+ * @property int $mkdate database column
+ * @property int $chdate database column
+ * @property int $sort_position database column
+ * @property SimpleORMapCollection|ResourceProperty[] $properties has_many ResourceProperty
+ * @property SimpleORMapCollection|ResourcePermission[] $permissions has_many ResourcePermission
+ * @property SimpleORMapCollection|ResourceRequest[] $requests has_many ResourceRequest
+ * @property SimpleORMapCollection|ResourceBooking[] $bookings has_many ResourceBooking
+ * @property SimpleORMapCollection|Resource[] $children has_many Resource
+ * @property ResourceCategory $category belongs_to ResourceCategory
+ * @property Resource $parent belongs_to Resource
+ * @property mixed $class_name additional field
*/
class BrokenResource extends Resource
{
@@ -56,7 +73,7 @@ class BrokenResource extends Resource
$preparation_time = 0,
$description = '',
$internal_comment = '',
- $booking_type = 0
+ $booking_type = ResourceBooking::TYPE_NORMAL
)
{
return null;
@@ -68,7 +85,7 @@ class BrokenResource extends Resource
$preparation_time = 0,
$description = '',
$internal_comment = '',
- $booking_type = 0,
+ $booking_type = ResourceBooking::TYPE_NORMAL,
$prepend_preparation_time = false,
$notify_lecturers = false
)
@@ -86,7 +103,7 @@ class BrokenResource extends Resource
$preparation_time = 0,
$description = '',
$internal_comment = '',
- $booking_type = 0,
+ $booking_type = ResourceBooking::TYPE_NORMAL,
$force_booking = false
) {
return null;
diff --git a/lib/models/resources/Building.class.php b/lib/models/resources/Building.class.php
index f6bb5a1..0edb983 100644
--- a/lib/models/resources/Building.class.php
+++ b/lib/models/resources/Building.class.php
@@ -3,6 +3,9 @@
/**
* Building.class.php - model class for a resource which is a building
*
+ * The building class is a derived class from the Resource class
+ * which includes specialisations for Building resource types.
+ *
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of
@@ -15,15 +18,31 @@
* @package resources
* @since 4.1
*
- * @property string id building-ID (equal to Resource.resource_id)
- * @property Location Location
- * Other properties are inherited from the parent class (Resource).
- */
-
-
-/**
- * The building class is a derived class from the Resource class
- * which includes specialisations for Building resource types.
+ * @property string $id database column
+ * @property string $parent_id database column
+ * @property string $category_id database column
+ * @property int|null $level database column
+ * @property string $name database column
+ * @property I18NString|null $description database column
+ * @property int $requestable database column
+ * @property int $lockable database column
+ * @property int $mkdate database column
+ * @property int $chdate database column
+ * @property int $sort_position database column
+ * @property SimpleORMapCollection|ResourceProperty[] $properties has_many ResourceProperty
+ * @property SimpleORMapCollection|ResourcePermission[] $permissions has_many ResourcePermission
+ * @property SimpleORMapCollection|ResourceRequest[] $requests has_many ResourceRequest
+ * @property SimpleORMapCollection|ResourceBooking[] $bookings has_many ResourceBooking
+ * @property SimpleORMapCollection|Resource[] $children has_many Resource
+ * @property ResourceCategory $category belongs_to ResourceCategory
+ * @property Resource $parent belongs_to Resource
+ * @property mixed $address additional field
+ * @property mixed $number additional field
+ * @property mixed $geo_coordinates additional field
+ * @property-read mixed $location additional field
+ * @property-read mixed $rooms additional field
+ * @property mixed $facility_manager additional field
+ * @property mixed $class_name additional field
*/
class Building extends Resource
{
@@ -407,7 +426,7 @@ class Building extends Resource
$preparation_time = 0,
$description = '',
$internal_comment = '',
- $booking_type = 0
+ $booking_type = ResourceBooking::TYPE_NORMAL
)
{
return null;
@@ -419,7 +438,7 @@ class Building extends Resource
$preparation_time = 0,
$description = '',
$internal_comment = '',
- $booking_type = 0,
+ $booking_type = ResourceBooking::TYPE_NORMAL,
$prepend_preparation_time = false,
$notify_lecturers = false
)
@@ -438,7 +457,7 @@ class Building extends Resource
$preparation_time = 0,
$description = '',
$internal_comment = '',
- $booking_type = 0,
+ $booking_type = ResourceBooking::TYPE_NORMAL,
$force_booking = false
)
{
diff --git a/lib/models/resources/GlobalResourceLock.class.php b/lib/models/resources/GlobalResourceLock.class.php
index 541cc0f..b1753f5 100644
--- a/lib/models/resources/GlobalResourceLock.class.php
+++ b/lib/models/resources/GlobalResourceLock.class.php
@@ -15,15 +15,14 @@
* @package resources
* @since 4.5
*
- * @property string lock_id database column
- * @property string id alias for lock_id
- * @property string user_id database column
- * @property string begin database column
- * @property string end database column
- * @property string type database column
- * @property string mkdate database column
- * @property string chdate database column
- * @property Resource resource belongs_to Resource
+ * @property string $id alias column for lock_id
+ * @property string $lock_id database column
+ * @property int $begin database column
+ * @property int $end database column
+ * @property string $type database column
+ * @property string $user_id database column
+ * @property int $mkdate database column
+ * @property int $chdate database column
*/
class GlobalResourceLock extends SimpleORMap
{
diff --git a/lib/models/resources/Location.class.php b/lib/models/resources/Location.class.php
index c543153..8e79382 100644
--- a/lib/models/resources/Location.class.php
+++ b/lib/models/resources/Location.class.php
@@ -15,8 +15,28 @@
* @package resources
* @since 4.1
*
- * @property string id location-ID (equal to Resource.resource_id)
- * Other properties are inherited from the parent class (Resource).
+ * @property string $id database column
+ * @property string $parent_id database column
+ * @property string $category_id database column
+ * @property int|null $level database column
+ * @property string $name database column
+ * @property I18NString|null $description database column
+ * @property int $requestable database column
+ * @property int $lockable database column
+ * @property int $mkdate database column
+ * @property int $chdate database column
+ * @property int $sort_position database column
+ * @property SimpleORMapCollection|ResourceProperty[] $properties has_many ResourceProperty
+ * @property SimpleORMapCollection|ResourcePermission[] $permissions has_many ResourcePermission
+ * @property SimpleORMapCollection|ResourceRequest[] $requests has_many ResourceRequest
+ * @property SimpleORMapCollection|ResourceBooking[] $bookings has_many ResourceBooking
+ * @property SimpleORMapCollection|Resource[] $children has_many Resource
+ * @property ResourceCategory $category belongs_to ResourceCategory
+ * @property Resource $parent belongs_to Resource
+ * @property mixed $geo_coordinates additional field
+ * @property-read mixed $buildings additional field
+ * @property mixed $director additional field
+ * @property mixed $class_name additional field
*/
class Location extends Resource
{
@@ -328,7 +348,7 @@ class Location extends Resource
$preparation_time = 0,
$description = '',
$internal_comment = '',
- $booking_type = 0
+ $booking_type = ResourceBooking::TYPE_NORMAL
)
{
return null;
@@ -340,7 +360,7 @@ class Location extends Resource
$preparation_time = 0,
$description = '',
$internal_comment = '',
- $booking_type = 0,
+ $booking_type = ResourceBooking::TYPE_NORMAL,
$prepend_preparation_time = false,
$notify_lecturers = false
)
@@ -358,7 +378,7 @@ class Location extends Resource
$preparation_time = 0,
$description = '',
$internal_comment = '',
- $booking_type = 0,
+ $booking_type = ResourceBooking::TYPE_NORMAL,
$force_booking = false
)
{
diff --git a/lib/models/resources/Resource.class.php b/lib/models/resources/Resource.class.php
index 9050734..531bc4c 100644
--- a/lib/models/resources/Resource.class.php
+++ b/lib/models/resources/Resource.class.php
@@ -3,6 +3,11 @@
/**
* Resource.class.php - model class for a resource
*
+ * The Resource class is the base class of the new
+ * Room and Resource management system in Stud.IP.
+ * It provides core functionality for handling general resources
+ * and can be derived for handling special resources.
+ *
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of
@@ -15,31 +20,25 @@
* @package resources
* @since 4.5
*
- * @property string resource_id database column
- * @property string id alias column for resource_id
- * @property string parent_id database column
- * @property string category_id database column
- * @property string level database column
- * @property string name database column
- * @property string description database column
- * @property string requestable database column
- * @property string sort_position database column
- * @property string mkdate database column
- * @property string chdate database column
- * @property SimpleORMapCollection category belongs_to ResourceCategory
- * @property SimpleORMapCollection properties has_many ResourceProperty
- * @property SimpleORMapCollection permissions has_many ResourcePermission
- * @property SimpleORMapCollection bookings has_many ResourceBooking
- * @property SimpleORMapCollection children has_many Resource
- * @property FolderType folder
- */
-
-
-/**
- * The Resource class is the base class of the new
- * Room and Resource management system in Stud.IP.
- * It provides core functionality for handling general resources
- * and can be derived for handling special resources.
+ * @property string $id database column
+ * @property string $parent_id database column
+ * @property string $category_id database column
+ * @property int|null $level database column
+ * @property string $name database column
+ * @property I18NString|null $description database column
+ * @property int $requestable database column
+ * @property int $lockable database column
+ * @property int $mkdate database column
+ * @property int $chdate database column
+ * @property int $sort_position database column
+ * @property SimpleORMapCollection|ResourceProperty[] $properties has_many ResourceProperty
+ * @property SimpleORMapCollection|ResourcePermission[] $permissions has_many ResourcePermission
+ * @property SimpleORMapCollection|ResourceRequest[] $requests has_many ResourceRequest
+ * @property SimpleORMapCollection|ResourceBooking[] $bookings has_many ResourceBooking
+ * @property SimpleORMapCollection|Resource[] $children has_many Resource
+ * @property ResourceCategory $category belongs_to ResourceCategory
+ * @property Resource $parent belongs_to Resource
+ * @property mixed $class_name additional field
*/
class Resource extends SimpleORMap implements StudipItem
{
@@ -454,7 +453,7 @@ class Resource extends SimpleORMap implements StudipItem
$preparation_time = 0,
$description = '',
$internal_comment = '',
- $booking_type = 0
+ $booking_type = ResourceBooking::TYPE_NORMAL
)
{
return $this->createBooking(
@@ -505,7 +504,7 @@ class Resource extends SimpleORMap implements StudipItem
$preparation_time = 0,
$description = '',
$internal_comment = '',
- $booking_type = 0,
+ $booking_type = ResourceBooking::TYPE_NORMAL,
$prepend_preparation_time = false,
$notify_lecturers = false
)
@@ -684,7 +683,7 @@ class Resource extends SimpleORMap implements StudipItem
$preparation_time = 0,
$description = '',
$internal_comment = '',
- $booking_type = 0,
+ $booking_type = ResourceBooking::TYPE_NORMAL,
$force_booking = false
)
{
@@ -1275,7 +1274,7 @@ class Resource extends SimpleORMap implements StudipItem
}
$lock = new ResourceBooking();
- $lock->booking_type = '2';
+ $lock->booking_type = ResourceBooking::TYPE_LOCK;
$lock->range_id = $user->id;
$lock->resource_id = $this->id;
$lock->begin = $begin->getTimestamp();
diff --git a/lib/models/resources/ResourceBooking.class.php b/lib/models/resources/ResourceBooking.class.php
index 51c7aed..e496867 100644
--- a/lib/models/resources/ResourceBooking.class.php
+++ b/lib/models/resources/ResourceBooking.class.php
@@ -3,6 +3,10 @@
/**
* ResourceBooking.class.php - model class for resource bookings
*
+ * The ResourceBooking class is responsible for storing
+ * bookings of resources in a specified time range
+ * or a time interval.
+ *
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of
@@ -14,54 +18,46 @@
* @category Stud.IP
* @package resources
* @since 4.5
- */
-
-
-/**
- * The ResourceBooking class is responsible for storing
- * bookings of resources in a specified time range
- * or a time interval.
- *
- * @property string id database column
- * @property string resource_id database column
- * @property string range_id database column
- * The user, course etc. where the booking (booking)
- * is associated with.
- * @property string booking_user_id database column
- * The user who created the booking (booking).
- * @property string description database column
- * @property int begin database column
- * @property int end database column
- * @property int $preparation_time database column
- * @property int booking_type database column: The booking type.
- * The following types are defined:
- * 0 = normal booking
- * 1 = reservation
- * 2 = lock
- * 3 = planned booking (reservation from external tools)
- *
- * @property int repeat_end database column
- * @property string repetition_interval database column
- * The repetition_interval column contains a date interval string in a
- * format that is accepted by the DateInterval class constructor.
- * Examples for values of the repetition_interval column:
- * - For an one month interval, the value is "P1M".
- * - For an interval of two days, the value is "P2D".
- * See the DateInterval documentation for more examples:
- * https://secure.php.net/manual/en/class.dateinterval.php
*
- * @property string internal_comment database column
- * @property int mkdate database column
- * @property int chdate database column
- * @property Resource resource belongs_to Resource
- * @property User assigned_user belongs_to User
- * @property CourseDate assigned_course_date belongs_to CourseDate
+ * The repetition_interval column contains a date interval string in a
+ * format that is accepted by the DateInterval class constructor.
+ * Examples for values of the repetition_interval column:
+ * - For an one month interval, the value is "P1M".
+ * - For an interval of two days, the value is "P2D".
+ * See the DateInterval documentation for more examples:
+ * https://secure.php.net/manual/en/class.dateinterval.php
*
- * @property-read int $real_begin
- * @property-read DateTime $real_begin_dt
+ * @property string $id database column
+ * @property string $resource_id database column
+ * @property string $range_id database column
+ * @property string|null $description database column
+ * @property int $begin database column
+ * @property int $end database column
+ * @property int|null $repeat_end database column
+ * @property int $mkdate database column
+ * @property int $chdate database column
+ * @property string|null $internal_comment database column
+ * @property int $preparation_time database column
+ * @property int $booking_type database column
+ * @property string $booking_user_id database column
+ * @property string $repetition_interval database column
+ * @property SimpleORMapCollection|ResourceBookingInterval[] $time_intervals has_many ResourceBookingInterval
+ * @property Resource $resource belongs_to Resource
+ * @property User $assigned_user belongs_to User
+ * @property CourseDate $assigned_course_date belongs_to CourseDate
+ * @property User $booking_user belongs_to User
+ * @property mixed $course_id additional field
+ * @property mixed $room_name additional field
+ * @property-read mixed $real_begin additional field
+ * @property-read mixed $real_begin_dt additional field
*/
class ResourceBooking extends SimpleORMap implements PrivacyObject, Studip\Calendar\EventSource
{
+ const TYPE_NORMAL = 0;
+ const TYPE_RESERVATION = 1;
+ const TYPE_LOCK = 2;
+ const TYPE_PLANNED = 3;
+
protected static function configure($config = [])
{
$config['db_table'] = 'resource_bookings';
@@ -546,7 +542,7 @@ class ResourceBooking extends SimpleORMap implements PrivacyObject, Studip\Calen
$other_booking = self::findByResourceAndTimeRanges(
$derived_resource,
[$time_interval],
- [0, 2],
+ [self::TYPE_NORMAL, self::TYPE_LOCK],
[$this->id]
);
$course = null;
@@ -875,7 +871,7 @@ class ResourceBooking extends SimpleORMap implements PrivacyObject, Studip\Calen
'end' => $this->end,
]
],
- [1, 3],
+ [self::TYPE_RESERVATION, self::TYPE_PLANNED],
[$this->id]
);
foreach ($affected_reservations as $reservation) {
@@ -1634,7 +1630,7 @@ class ResourceBooking extends SimpleORMap implements PrivacyObject, Studip\Calen
$text_colour = $booking_plan_booking_fg->__toString();
$event_classes = [];
- if ($this->booking_type == '0') {
+ if ($this->booking_type == self::TYPE_NORMAL) {
$event_classes[] = 'resource-booking';
//Check if the booking is a course booking:
if ($this->getAssignedUserType() === 'course') {
@@ -1643,15 +1639,15 @@ class ResourceBooking extends SimpleORMap implements PrivacyObject, Studip\Calen
$colour = $booking_plan_course_booking_bg->__toString();
$text_colour = $booking_plan_course_booking_fg->__toString();
}
- } elseif ($this->booking_type == '1') {
+ } elseif ($this->booking_type == self::TYPE_RESERVATION) {
$event_classes[] = 'resource-reservation';
$colour = $booking_plan_reservation_bg->__toString();
$text_colour = $booking_plan_reservation_fg->__toString();
- } elseif ($this->booking_type == '2') {
+ } elseif ($this->booking_type == self::TYPE_LOCK) {
$event_classes[] = 'resource-lock';
$colour = $booking_plan_lock_bg->__toString();
$text_colour = $booking_plan_lock_fg->__toString();
- } elseif ($this->booking_type == '3') {
+ } elseif ($this->booking_type == self::TYPE_PLANNED) {
$event_classes[] = 'resource-planned-booking';
$colour = $booking_plan_planned_booking_bg->__toString();
$text_colour = $booking_plan_planned_booking_fg->__toString();
@@ -1879,7 +1875,7 @@ class ResourceBooking extends SimpleORMap implements PrivacyObject, Studip\Calen
*/
public function sendDeleteNotification()
{
- if ($this->booking_type != '0') {
+ if ($this->booking_type != self::TYPE_NORMAL) {
//We only handle real bookings in this method.
return;
}
diff --git a/lib/models/resources/ResourceBookingInterval.class.php b/lib/models/resources/ResourceBookingInterval.class.php
index a5b0e43..7908e40 100644
--- a/lib/models/resources/ResourceBookingInterval.class.php
+++ b/lib/models/resources/ResourceBookingInterval.class.php
@@ -5,6 +5,10 @@
* all resource bookings time intervals, including those for
* repetitions.
*
+ * The ResourceBookingEvent class contains all
+ * time intervals of all resources where they are
+ * assigned.
+ *
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of
@@ -17,26 +21,17 @@
* @package resources
* @since 4.1
*
- * @property string interval_id database column (and primary key)
- * @property string id alias for event_id
- * @property string booking_id database column
- * @property string resource_id database column
- * @property string begin database column
- * @property string end database column
- * @property string takes_place database column. This is set to 1
- * if the date specified by the interval takes place.
- * Otherwise it is set to zero which means that the interval
- * is an exception to the repetition in the booking.
- * @property string mkdate database column
- * @property string chdate database column
- * @property Resource resource belongs_to Resource
- */
-
-
-/**
- * The ResourceBookingEvent class contains all
- * time intervals of all resources where they are
- * assigned.
+ * @property string $id alias column for interval_id
+ * @property string $interval_id database column
+ * @property string $resource_id database column
+ * @property string $booking_id database column
+ * @property int $begin database column
+ * @property int $end database column
+ * @property int $mkdate database column
+ * @property int $chdate database column
+ * @property int $takes_place database column
+ * @property ResourceBooking $booking belongs_to ResourceBooking
+ * @property Resource $resource belongs_to Resource
*/
class ResourceBookingInterval extends SimpleORMap
{
diff --git a/lib/models/resources/ResourceCategory.class.php b/lib/models/resources/ResourceCategory.class.php
index 9738cbc..f4ae14d 100644
--- a/lib/models/resources/ResourceCategory.class.php
+++ b/lib/models/resources/ResourceCategory.class.php
@@ -21,15 +21,13 @@
* @property string $id database column
* @property string $name database column
* @property string $description database column
- * @property string $class_name database column: The name of the SORM class
- * that handles the resource object, defaults to Resource.
- * @property bool $system database column
- * @property int $iconnr database column
+ * @property int $system database column
+ * @property int|null $iconnr database column
+ * @property string $class_name database column
* @property int $mkdate database column
* @property int $chdate database column
- *
- * @property ResourcePropertyDefinition[]|SimpleORMapCollection $property_definitions
- * @property ResourceCategoryProperty[]|SimpleORMapCollection $property_links
+ * @property SimpleORMapCollection|ResourceCategoryProperty[] $property_links has_many ResourceCategoryProperty
+ * @property SimpleORMapCollection|ResourcePropertyDefinition[] $property_definitions has_and_belongs_to_many ResourcePropertyDefinition
*/
class ResourceCategory extends SimpleORMap
{
diff --git a/lib/models/resources/ResourceCategoryProperty.class.php b/lib/models/resources/ResourceCategoryProperty.class.php
index 2b46518..b1460cd 100644
--- a/lib/models/resources/ResourceCategoryProperty.class.php
+++ b/lib/models/resources/ResourceCategoryProperty.class.php
@@ -16,14 +16,19 @@
* @package resources
* @since 4.5
*
- * @property string category_id database column
- * @property string property_id database column
- * @property string requestable database column
- * @property string protected database column
- * @property string system database column
- * @property string form_text database column
- * @property string mkdate database column
- * @property string chdate database column
+ * @property array $id alias for pk
+ * @property string $category_id database column
+ * @property string $property_id database column
+ * @property int $requestable database column
+ * @property int $protected database column
+ * @property int $system database column
+ * @property string|null $form_text database column
+ * @property int $mkdate database column
+ * @property int $chdate database column
+ * @property ResourceCategory $category belongs_to ResourceCategory
+ * @property ResourcePropertyDefinition $definition belongs_to ResourcePropertyDefinition
+ * @property mixed $name additional field
+ * @property mixed $type additional field
*/
diff --git a/lib/models/resources/ResourceLabel.class.php b/lib/models/resources/ResourceLabel.class.php
index b75d047..d9c869f 100644
--- a/lib/models/resources/ResourceLabel.class.php
+++ b/lib/models/resources/ResourceLabel.class.php
@@ -3,6 +3,11 @@
/**
* ResourceLabel.class.php - model class for a resource label
*
+ * The ResourceLabel class represents headings or subheadings whose
+ * only purpose is helping with organising the resource tree.
+ * ResourceLabel instances must not be booked, reserved or locked.
+ * Furthermore, they cannot be requested.
+ *
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of
@@ -16,14 +21,26 @@
* @since 4.5
*
* All properties are inherited from the parent class (Resource).
- */
-
-
-/**
- * The ResourceLabel class represents headings or subheadings whose
- * only purpose is helping with organising the resource tree.
- * ResourceLabel instances must not be booked, reserved or locked.
- * Furthermore, they cannot be requested.
+ *
+ * @property string $id database column
+ * @property string $parent_id database column
+ * @property string $category_id database column
+ * @property int|null $level database column
+ * @property string $name database column
+ * @property I18NString|null $description database column
+ * @property int $requestable database column
+ * @property int $lockable database column
+ * @property int $mkdate database column
+ * @property int $chdate database column
+ * @property int $sort_position database column
+ * @property SimpleORMapCollection|ResourceProperty[] $properties has_many ResourceProperty
+ * @property SimpleORMapCollection|ResourcePermission[] $permissions has_many ResourcePermission
+ * @property SimpleORMapCollection|ResourceRequest[] $requests has_many ResourceRequest
+ * @property SimpleORMapCollection|ResourceBooking[] $bookings has_many ResourceBooking
+ * @property SimpleORMapCollection|Resource[] $children has_many Resource
+ * @property ResourceCategory $category belongs_to ResourceCategory
+ * @property Resource $parent belongs_to Resource
+ * @property mixed $class_name additional field
*/
class ResourceLabel extends Resource
{
@@ -49,7 +66,7 @@ class ResourceLabel extends Resource
$preparation_time = 0,
$description = '',
$internal_comment = '',
- $booking_type = 0
+ $booking_type = ResourceBooking::TYPE_NORMAL
)
{
return null;
@@ -61,7 +78,7 @@ class ResourceLabel extends Resource
$preparation_time = 0,
$description = '',
$internal_comment = '',
- $booking_type = 0,
+ $booking_type = ResourceBooking::TYPE_NORMAL,
$prepend_preparation_time = false,
$notify_lecturers = false
)
@@ -79,7 +96,7 @@ class ResourceLabel extends Resource
$preparation_time = 0,
$description = '',
$internal_comment = '',
- $booking_type = 0,
+ $booking_type = ResourceBooking::TYPE_NORMAL,
$force_booking = false
)
{
@@ -223,7 +240,7 @@ class ResourceLabel extends Resource
return [];
}
- public function getResourceBookings(DateTime $begin, DateTime $end, array $booking_types = [0])
+ public function getResourceBookings(DateTime $begin, DateTime $end, array $booking_types = [ResourceBooking::TYPE_NORMAL])
{
return [];
}
diff --git a/lib/models/resources/ResourcePermission.class.php b/lib/models/resources/ResourcePermission.class.php
index 7d6a163..bd33708 100644
--- a/lib/models/resources/ResourcePermission.class.php
+++ b/lib/models/resources/ResourcePermission.class.php
@@ -3,6 +3,13 @@
/**
* ResourcePermission.class.php - model class for resource permissions.
*
+ * Description of the resources permission system:
+ * - admin: An admin may do everything in the resource management:
+ * edit resource bookings and resources.
+ * - tutor: A tutor may edit all resource bookings.
+ * - autor: An autor may edit his own resource bookings only.
+ * - user: A user may read internal comments on resource bookings.
+ *
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of
@@ -15,24 +22,14 @@
* @package resources
* @since 4.5
*
- * @property string id database column
- * @property string user_id database column
- * @property string resource_id database column
- * @property string perms database column
- * @property string mkdate database column
- * @property string chdate database column
- * @property User user belongs_to User
- * @property Resource resource belongs_to Resource
- */
-
-
-/**
- * Description of the resources permission system:
- * - admin: An admin may do everything in the resource management:
- * edit resource bookings and resources.
- * - tutor: A tutor may edit all resource bookings.
- * - autor: An autor may edit his own resource bookings only.
- * - user: A user may read internal comments on resource bookings.
+ * @property array $id alias for pk
+ * @property string $user_id database column
+ * @property string $resource_id database column
+ * @property string $perms database column
+ * @property int $mkdate database column
+ * @property int $chdate database column
+ * @property User $user belongs_to User
+ * @property Resource $resource belongs_to Resource
*/
class ResourcePermission extends SimpleORMap implements PrivacyObject
{
diff --git a/lib/models/resources/ResourceProperty.class.php b/lib/models/resources/ResourceProperty.class.php
index 6db9615..8481644 100644
--- a/lib/models/resources/ResourceProperty.class.php
+++ b/lib/models/resources/ResourceProperty.class.php
@@ -15,15 +15,19 @@
* @package resources
* @since TODO
*
- * @property string property_id database column
- * @property string resource_id database column
- * @property string state database column
- * @property string form_text database column
- * @property string mkdate database column
- * @property string chdate database column
- * @property Resource resource belongs_to Resource
- * @property ResourcePropertyDefinition definition belongs_to
- * ResourcePropertyDefinition
+ * @property array $id alias for pk
+ * @property string $resource_id database column
+ * @property string $property_id database column
+ * @property string $state database column
+ * @property int $mkdate database column
+ * @property int $chdate database column
+ * @property ResourcePropertyDefinition $definition belongs_to ResourcePropertyDefinition
+ * @property Resource $resource belongs_to Resource
+ * @property mixed $name additional field
+ * @property-read mixed $fullname additional field
+ * @property mixed $display_name additional field
+ * @property mixed $type additional field
+ * @property mixed $info_label additional field
*/
class ResourceProperty extends SimpleORMap
{
diff --git a/lib/models/resources/ResourcePropertyDefinition.class.php b/lib/models/resources/ResourcePropertyDefinition.class.php
index 23a6434..e72717f 100644
--- a/lib/models/resources/ResourcePropertyDefinition.class.php
+++ b/lib/models/resources/ResourcePropertyDefinition.class.php
@@ -18,27 +18,23 @@
* @package resources
* @since 4.1
*
+ * @property string $id alias column for property_id
* @property string $property_id database column
- * @property string $id alias for resource_id
- * @property string $name database column The internal name of the property.
- * @property string $display_name The display name of the property.
- * @property string $description database column
- * @property string $type database column ('bool', 'text', 'num', 'select',
- * 'user', 'institute', 'position', 'fileref', 'url')
+ * @property string $name database column
+ * @property I18NString|null $description database column
+ * @property string $type database column
* @property string $options database column
- * @property string $system database column
- * @property string $info_label database column
- * @property bool $searchable database column
- * 0 = not searchable, 1 = searchable
- * @property bool $range_search database column: Whether a search field
- * for this property shall display a range selector (1) or not (0).
- * Setting this attribute is only useful for the property types
- * 'num' and 'position'.
+ * @property int $system database column
+ * @property int $info_label database column
+ * @property I18NString $display_name database column
+ * @property int $searchable database column
+ * @property int $range_search database column
* @property string $write_permission_level database column
+ * @property int|null $property_group_id database column
+ * @property int|null $property_group_pos database column
* @property int $mkdate database column
* @property int $chdate database column
- *
- * @property ResourcePropertyGroup $group
+ * @property ResourcePropertyGroup|null $group belongs_to ResourcePropertyGroup
*/
diff --git a/lib/models/resources/ResourcePropertyGroup.class.php b/lib/models/resources/ResourcePropertyGroup.class.php
index 9da6762..ad53902 100644
--- a/lib/models/resources/ResourcePropertyGroup.class.php
+++ b/lib/models/resources/ResourcePropertyGroup.class.php
@@ -15,11 +15,12 @@
* @package resources
* @since TODO
*
- * @property string id database column
- * @property string name database column
- * @property string position database column
- * @property string mkdate database column
- * @property string chdate database column
+ * @property int $id database column
+ * @property string $name database column
+ * @property int $position database column
+ * @property int $mkdate database column
+ * @property int $chdate database column
+ * @property SimpleORMapCollection|ResourcePropertyDefinition[] $properties has_many ResourcePropertyDefinition
*/
class ResourcePropertyGroup extends SimpleORMap
{
diff --git a/lib/models/resources/ResourceRequest.class.php b/lib/models/resources/ResourceRequest.class.php
index d521781..20baf60 100644
--- a/lib/models/resources/ResourceRequest.class.php
+++ b/lib/models/resources/ResourceRequest.class.php
@@ -14,58 +14,54 @@
* @category Stud.IP
* @package resources
* @since 4.5
- */
-
-
-/**
- * ResourceRequest is a model class for resource requests.
*
- * @property string id database column
- * @property string resource_id database column
- * @property string category_id database column
- * @property string course_id database column
- * @property string termin_id database column
- * @property string metadate_id database column
- * @property string begin database column
- * @property string end database column
- * @property string preparation_time databasse column
- * @property string marked database column
- * There are four marking states:
- * 0 - not marked
- * 1 - red state
- * 2 - yellow state
- * 3 - green state
- * @property string user_id database column
- * @property string last_modified_by database column
- * @property string comment database column
- * @property string reply_comment database column
- * @property string reply_recipients database column:
- * enum('requester', 'lecturer')
- * @property string closed database column, possible states are:
- * 0 - room-request is open
- * 1 - room-request has been processed, but no confirmation has been sent
- * 2 - room-request has been processed and a confirmation has been sent
- * 3 - room-request has been declined
+ * The attributes begin and end are only used in simple resource requests.
+ * The "traditional" resource requests use either course_id, metadate_id
+ * or termin_id to store the time ranges connected to the request.
*
- * @property string mkdate database column
- * @property string chdate database column
- * @property Resource resource belongs_to Resource
- * @property ResourceCategory $category belongs_to Category
- * @property User requester belongs_to User
- * @property User last_modifier belongs_to User
+ * @property string $id database column
+ * @property string $course_id database column
+ * @property string $termin_id database column
+ * @property string $metadate_id database column
+ * @property string $user_id database column
+ * @property string $last_modified_by database column
+ * @property string $resource_id database column
+ * @property string|null $category_id database column
+ * @property string|null $comment database column
+ * @property string|null $reply_comment database column
+ * @property string $reply_recipients database column
+ * @property int $closed database column
+ * @property int|null $mkdate database column
+ * @property int|null $chdate database column
+ * @property int $begin database column
+ * @property int $end database column
+ * @property int $preparation_time database column
+ * @property int $marked database column
+ * @property SimpleORMapCollection|ResourceRequestProperty[] $properties has_many ResourceRequestProperty
+ * @property SimpleORMapCollection|ResourceRequestAppointment[] $appointments has_many ResourceRequestAppointment
+ * @property Resource $resource belongs_to Resource
+ * @property ResourceCategory|null $category belongs_to ResourceCategory
+ * @property User $user belongs_to User
+ * @property User $last_modifier belongs_to User
* @property Course $course belongs_to Course
* @property SeminarCycleDate $cycle belongs_to SeminarCycleDate
* @property CourseDate $date belongs_to CourseDate
- * @property ResourceRequestProperty[]|SimpleORMapCollection $properties has_many ResourceRequestProperty
- * @property ResourceRequestAppointment[]|SimpleORMapCollection $appointments has_many ResourceRequestAppointment
- *
- *
- * The attributes begin and end are only used in simple resource requests.
- * The "traditional" resource requests use either course_id, metadate_id
- * or termin_id to store the time ranges connected to the request.
*/
class ResourceRequest extends SimpleORMap implements PrivacyObject, Studip\Calendar\EventSource
{
+ const MARK_NONE = 0;
+ const MARK_RED = 1;
+ const MARK_YELLOW = 2;
+ const MARK_GREEN = 3;
+
+ const REPLY_REQUESTER = 'requester';
+ const REPLY_LECTURER = 'lecturer';
+
+ const STATE_OPEN = 0; // room-request is open
+ const STATE_PENDING = 1; // room-request has been processed, but no confirmation has been sent
+ const STATE_CLOSED = 2; // room-request has been processed and a confirmation has been sent
+ const STATE_DECLINED = 3; // room-request has been declined
+
/**
* The amount of defined marking states.
*/
@@ -192,7 +188,10 @@ class ResourceRequest extends SimpleORMap implements PrivacyObject, Studip\Calen
*/
public static function findOpen()
{
- return self::findBySql("closed = '0' ORDER BY mkdate ASC");
+ return self::findBySql(
+ 'closed = ? ORDER BY mkdate ASC',
+ [self::STATE_OPEN]
+ );
}
/**
@@ -473,16 +472,17 @@ class ResourceRequest extends SimpleORMap implements PrivacyObject, Studip\Calen
public static function existsByCourse($course_id, $request_is_open = false)
{
+ $parameters = [':course_id' => $course_id];
+
$sql = '';
if ($request_is_open) {
- $sql .= "closed = '0' AND ";
+ $sql .= "closed = :closed_state AND ";
+ $parameters[':closed_state'] = self::STATE_OPEN;
}
$request = self::findOneBySql(
$sql . "termin_id = '' AND metadate_id = '' AND course_id = :course_id",
- [
- 'course_id' => $course_id
- ]
+ $parameters
);
if ($request) {
@@ -494,16 +494,17 @@ class ResourceRequest extends SimpleORMap implements PrivacyObject, Studip\Calen
public static function existsByDate($date_id, $request_is_open = false)
{
+ $parameters = [':date_id' => $date_id];
+
$sql = '';
if ($request_is_open) {
- $sql .= "closed = '0' AND ";
+ $sql .= "closed = :closed_state AND ";
+ $parameters[':closed_state'] = self::STATE_OPEN;
}
$request = self::findOneBySql(
$sql . "termin_id = :date_id",
- [
- 'date_id' => $date_id
- ]
+ $parameters
);
if ($request) {
@@ -515,16 +516,17 @@ class ResourceRequest extends SimpleORMap implements PrivacyObject, Studip\Calen
public static function existsByMetadate($metadate_id, $request_is_open = false)
{
+ $parameters = [':metadate_id' => $metadate_id];
+
$sql = '';
if ($request_is_open) {
- $sql .= "closed = '0' AND ";
+ $sql .= "closed = :closed_state AND ";
+ $parameters[':closed_state'] = self::STATE_OPEN;
}
$request = self::findOneBySql(
$sql . "metadate_id = :metadate_id",
- [
- 'metadate_id' => $metadate_id
- ]
+ $parameters
);
if ($request) {
@@ -551,10 +553,10 @@ class ResourceRequest extends SimpleORMap implements PrivacyObject, Studip\Calen
public function cbAfterStore()
{
if ($this->isFieldDirty('closed')) {
- if ((int)$this->closed === 3) {
+ if ($this->closed == self::STATE_DECLINED) {
$this->sendRequestDeniedMail();
StudipLog::log('RES_REQUEST_DENY', $this->course_id, $this->resource_id, $this->getLoggingInfoText());
- } elseif ((int)$this->closed === 1 || (int)$this->closed === 2) {
+ } elseif ($this->closed == self::STATE_PENDING || $this->closed == self::STATE_CLOSED) {
StudipLog::log('RES_REQUEST_RESOLVE', $this->course_id, $this->resource_id, $this->getLoggingInfoText());
}
} else {
@@ -669,12 +671,15 @@ class ResourceRequest extends SimpleORMap implements PrivacyObject, Studip\Calen
*/
public function closeRequest($notify_lecturers = false, $bookings = [])
{
- if ($this->closed >= 2) {
+ if (
+ $this->closed == self::STATE_CLOSED
+ || $this->closed == self::STATE_DECLINED
+ ) {
//The request has already been closed.
return true;
}
- $this->closed = 1;
+ $this->closed = self::STATE_PENDING;
if ($this->isDirty()) {
$this->store();
}
@@ -687,7 +692,7 @@ class ResourceRequest extends SimpleORMap implements PrivacyObject, Studip\Calen
}
//Sending successful: The request is closed.
- $this->closed = 2;
+ $this->closed = self::STATE_CLOSED;
if ($this->isDirty()) {
return $this->store();
}
@@ -706,7 +711,7 @@ class ResourceRequest extends SimpleORMap implements PrivacyObject, Studip\Calen
return self::findByResourceAndTimeRanges(
$this->resource,
$this->getTimeIntervals(true),
- 0,
+ self::STATE_OPEN,
[$this->id]
);
}
@@ -725,7 +730,7 @@ class ResourceRequest extends SimpleORMap implements PrivacyObject, Studip\Calen
return self::countByResourceAndTimeRanges(
$this->resource,
$this->getTimeIntervals(true),
- 0,
+ self::STATE_OPEN,
[$this->id]
);
}
@@ -744,7 +749,7 @@ class ResourceRequest extends SimpleORMap implements PrivacyObject, Studip\Calen
return ResourceBooking::findByResourceAndTimeRanges(
$this->resource,
$this->getTimeIntervals(true),
- [0, 2]
+ [ResourceBooking::TYPE_NORMAL, ResourceBooking::TYPE_LOCK]
);
}
return [];
@@ -762,7 +767,7 @@ class ResourceRequest extends SimpleORMap implements PrivacyObject, Studip\Calen
return ResourceBooking::countByResourceAndTimeRanges(
$this->resource,
$this->getTimeIntervals(true),
- [0, 2]
+ [ResourceBooking::TYPE_NORMAL, ResourceBooking::TYPE_LOCK]
);
}
return 0;
@@ -1386,13 +1391,13 @@ class ResourceRequest extends SimpleORMap implements PrivacyObject, Studip\Calen
public function getStatus()
{
switch ($this->closed) {
- case '0':
+ case self::STATE_OPEN:
return 'open';
- case '1':
+ case self::STATE_PENDING:
return 'pending';
- case '2':
+ case self::STATE_CLOSED:
return 'closed';
- case '3':
+ case self::STATE_DECLINED:
return 'declined';
default:
return '';
@@ -1408,9 +1413,9 @@ class ResourceRequest extends SimpleORMap implements PrivacyObject, Studip\Calen
if ($this->isNew()) {
return _('Diese Anfrage wurde noch nicht gespeichert.');
}
- if ((int)$this->closed === 0) {
+ if ($this->closed == self::STATE_OPEN) {
return _('Die Anfrage wurde noch nicht bearbeitet.');
- } else if ((int)$this->closed === 3) {
+ } else if ($this->closed == self::STATE_DECLINED) {
return _('Die Anfrage wurde bearbeitet und abgelehnt.');
} else {
return _('Die Anfrage wurde bearbeitet.');
diff --git a/lib/models/resources/ResourceRequestAppointment.class.php b/lib/models/resources/ResourceRequestAppointment.class.php
index 9914462..929733b 100644
--- a/lib/models/resources/ResourceRequestAppointment.class.php
+++ b/lib/models/resources/ResourceRequestAppointment.class.php
@@ -4,6 +4,9 @@
* ResourceRequestAppointment.class.php - Contains a model class for
* the resource_request_appointments table.
*
+ * ResourceRequestAppointment is a model class to connect
+ * resource requests to CourseDate objects.
+ *
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of
@@ -15,21 +18,14 @@
* @category Stud.IP
* @package resources
* @since 4.5
- */
-
-
-/**
- * ResourceRequestAppointment is a model class to connect
- * resource requests to CourseDate objects.
- *
- * @property string id database column
- * @property string request_id database column
- * @property string appointment_id database column
- * @property string mkdate database column
- * @property string chdate database column
- * @property ResourceRequest resource_request belongs_to ResourceRequest
- * @property CourseDate appointment belongs_to CourseDate
*
+ * @property int $id database column
+ * @property string $request_id database column
+ * @property string $appointment_id database column
+ * @property int $mkdate database column
+ * @property int $chdate database column
+ * @property ResourceRequest $resource_request belongs_to ResourceRequest
+ * @property CourseDate $appointment belongs_to CourseDate
*/
class ResourceRequestAppointment extends SimpleORMap
{
diff --git a/lib/models/resources/ResourceRequestProperty.class.php b/lib/models/resources/ResourceRequestProperty.class.php
index ec275de..2952be9 100644
--- a/lib/models/resources/ResourceRequestProperty.class.php
+++ b/lib/models/resources/ResourceRequestProperty.class.php
@@ -16,15 +16,17 @@
* @package resources
* @since 4.1
*
- * @property string id database column
- * @property string request_id database column
- * @property string property_id database column
- * @property string state database column
- * @property string mkdate database column
- * @property string chdate database column
- * @property ResourceRequest request belongs_to ResourceRequest
- * @property ResourcePropertyDefinition definition belongs_to
- * ResourcePropertyDefinition
+ * @property array $id alias for pk
+ * @property string $request_id database column
+ * @property string $property_id database column
+ * @property string|null $state database column
+ * @property int|null $mkdate database column
+ * @property int|null $chdate database column
+ * @property ResourcePropertyDefinition $definition belongs_to ResourcePropertyDefinition
+ * @property ResourceRequest $request belongs_to ResourceRequest
+ * @property mixed $name additional field
+ * @property mixed $display_name additional field
+ * @property mixed $type additional field
*/
class ResourceRequestProperty extends SimpleORMap
{
diff --git a/lib/models/resources/ResourceTemporaryPermission.class.php b/lib/models/resources/ResourceTemporaryPermission.class.php
index 1f0bedb..ddbc397 100644
--- a/lib/models/resources/ResourceTemporaryPermission.class.php
+++ b/lib/models/resources/ResourceTemporaryPermission.class.php
@@ -4,6 +4,9 @@
* ResourceTemporaryPermission.class.php
* Contains the ResourceTemporaryPermission class
*
+ * The ResourceTemporaryPermission class represents temporary permissions
+ * granted to a user for a resource.
+ *
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of
@@ -15,23 +18,17 @@
* @category Stud.IP
* @package resources
* @since 4.5
- */
-
-
-/**
- * The ResourceTemporaryPermission class represents temporary permissions
- * granted to a user for a resource.
*
- * @property string id database column
- * @property string resource_id database column
- * @property string user_id database column
- * @property string begin database column
- * @property string end database column
- * @property string perms database column: The permission level granted
- * in the specified time range.
- * @property string mkdate database column
- * @property string chdate database column
- * @property Resource resource belongs_to Resource
+ * @property int $id database column
+ * @property string $resource_id database column
+ * @property string $user_id database column
+ * @property int $begin database column
+ * @property int $end database column
+ * @property string $perms database column
+ * @property int $mkdate database column
+ * @property int $chdate database column
+ * @property Resource $resource belongs_to Resource
+ * @property User $user belongs_to User
*/
class ResourceTemporaryPermission extends SimpleORMap implements PrivacyObject
{
diff --git a/lib/models/resources/Room.class.php b/lib/models/resources/Room.class.php
index 2cea825..7f1668e 100644
--- a/lib/models/resources/Room.class.php
+++ b/lib/models/resources/Room.class.php
@@ -3,6 +3,9 @@
/**
* Room.class.php - model class for a resource which is a room
*
+ * The Room class is a derived class of the Resource class.
+ * It containts specialisations for room resources.
+ *
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of
@@ -15,19 +18,29 @@
* @package resources
* @since 4.5
*
- * @property string id room-ID (equal to Resource.resource_id)
- * @property Building belongs_to building
- * @property string room_type resource property
- * @property int seats resource property
- * @property bool booking_plan_is_public resource property
- *
- * Other properties are inherited from the parent class (Resource).
- */
-
-
-/**
- * The Room class is a derived class of the Resource class.
- * It containts specialisations for room resources.
+ * @property string $id database column
+ * @property string $parent_id database column
+ * @property string $category_id database column
+ * @property int|null $level database column
+ * @property string $name database column
+ * @property I18NString|null $description database column
+ * @property int $requestable database column
+ * @property int $lockable database column
+ * @property int $mkdate database column
+ * @property int $chdate database column
+ * @property int $sort_position database column
+ * @property SimpleORMapCollection|ResourceProperty[] $properties has_many ResourceProperty
+ * @property SimpleORMapCollection|ResourcePermission[] $permissions has_many ResourcePermission
+ * @property SimpleORMapCollection|ResourceRequest[] $requests has_many ResourceRequest
+ * @property SimpleORMapCollection|ResourceBooking[] $bookings has_many ResourceBooking
+ * @property SimpleORMapCollection|Resource[] $children has_many Resource
+ * @property ResourceCategory $category belongs_to ResourceCategory
+ * @property Resource $parent belongs_to Resource
+ * @property mixed $room_type additional field
+ * @property mixed $seats additional field
+ * @property mixed $booking_plan_is_public additional field
+ * @property-read mixed $building additional field
+ * @property mixed $class_name additional field
*/
class Room extends Resource
{
diff --git a/lib/models/resources/RoomRequest.class.php b/lib/models/resources/RoomRequest.class.php
index c0898d7..6db9c38 100644
--- a/lib/models/resources/RoomRequest.class.php
+++ b/lib/models/resources/RoomRequest.class.php
@@ -8,21 +8,37 @@
* published by the Free Software Foundation; either version 2 of
* the License, or (at your option) any later version.
*
- * @param Room room Link to the Room resource (same as the resource attribute).
- * @param string seats additional field (from ResourceRequestProperty)
- * @param string booking_plan_is_public additional field
- * (from ResourceRequestProperty)
- *
- * All other properties are inherited from the parent class (ResourceRequest).
- * @author Cornelis Kater <ckater@gwdg.de>
- * @author Till Glöggler <tgloeggl@uos.de>
- * @author André Noack <noack@data-quest.de>
- * @author Suchi & Berg GmbH <info@data-quest.de>
- * @author Moritz Strohm <strohm@data-quest.de>
- * @license http://www.gnu.org/licenses/gpl-2.0.html GPL version 2
- * @category Stud.IP
- *
- *
+ * @property string $id database column
+ * @property string $course_id database column
+ * @property string $termin_id database column
+ * @property string $metadate_id database column
+ * @property string $user_id database column
+ * @property string $last_modified_by database column
+ * @property string $resource_id database column
+ * @property string|null $category_id database column
+ * @property string|null $comment database column
+ * @property string|null $reply_comment database column
+ * @property string $reply_recipients database column
+ * @property int $closed database column
+ * @property int|null $mkdate database column
+ * @property int|null $chdate database column
+ * @property int $begin database column
+ * @property int $end database column
+ * @property int $preparation_time database column
+ * @property int $marked database column
+ * @property SimpleORMapCollection|ResourceRequestProperty[] $properties has_many ResourceRequestProperty
+ * @property SimpleORMapCollection|ResourceRequestAppointment[] $appointments has_many ResourceRequestAppointment
+ * @property Room $room belongs_to Room
+ * @property Resource $resource belongs_to Resource
+ * @property ResourceCategory|null $category belongs_to ResourceCategory
+ * @property User $user belongs_to User
+ * @property User $last_modifier belongs_to User
+ * @property Course $course belongs_to Course
+ * @property SeminarCycleDate $cycle belongs_to SeminarCycleDate
+ * @property CourseDate $date belongs_to CourseDate
+ * @property mixed $seats additional field
+ * @property mixed $room_type additional field
+ * @property mixed $booking_plan_is_public additional field
*/
class RoomRequest extends ResourceRequest
{
diff --git a/lib/models/resources/SeparableRoom.class.php b/lib/models/resources/SeparableRoom.class.php
index 8186163..9ec1ccf 100644
--- a/lib/models/resources/SeparableRoom.class.php
+++ b/lib/models/resources/SeparableRoom.class.php
@@ -15,13 +15,13 @@
* @package resources
* @since 4.5
*
- * @property string id database column
- * @property string building_id database column
- * @property string name database column
- * @property string mkdate database column
- * @property string chdate database column
- * @property SimpleORMapCollection building belongs_to Building
- * @property SimpleORMapCollection parts has_many SeparableRoomPart
+ * @property int $id database column
+ * @property string $building_id database column
+ * @property string $name database column
+ * @property int $mkdate database column
+ * @property int $chdate database column
+ * @property SimpleORMapCollection|SeparableRoomPart[] $parts has_many SeparableRoomPart
+ * @property Building $building belongs_to Building
*/
class SeparableRoom extends SimpleORMap
diff --git a/lib/models/resources/SeparableRoomPart.class.php b/lib/models/resources/SeparableRoomPart.class.php
index a4a5fb5..e7e99e7 100644
--- a/lib/models/resources/SeparableRoomPart.class.php
+++ b/lib/models/resources/SeparableRoomPart.class.php
@@ -15,13 +15,13 @@
* @package resources
* @since 4.5
*
- * @property string id database column
- * @property string separable_room_id database column
- * @property string room_id database column
- * @property string mkdate database column
- * @property string chdate database column
- * @property SimpleORMapCollection separable_room belongs_to SeparableRoom
- * @property SimpleORMapCollection room belongs_to Room
+ * @property array $id alias for pk
+ * @property int $separable_room_id database column
+ * @property string $room_id database column
+ * @property int $mkdate database column
+ * @property int $chdate database column
+ * @property SeparableRoom $separable_room belongs_to SeparableRoom
+ * @property Room $room belongs_to Room
*/
class SeparableRoomPart extends SimpleORMap
{
diff --git a/lib/raumzeit/SingleDate.class.php b/lib/raumzeit/SingleDate.class.php
index b867e4d..f998092 100644
--- a/lib/raumzeit/SingleDate.class.php
+++ b/lib/raumzeit/SingleDate.class.php
@@ -472,7 +472,7 @@ class SingleDate
{
$message = '';
- if ($booking->booking_type == '2') {
+ if ($booking->booking_type == ResourceBooking::TYPE_LOCK) {
$message .= sprintf(
_('Vom %1$s, %2$s Uhr bis zum %3$s, %4$s Uhr (Sperrzeit)') . "\n",
date("d.m.Y", $booking->begin),
diff --git a/lib/resources/RoomManager.class.php b/lib/resources/RoomManager.class.php
index b33ffbe..515656d 100644
--- a/lib/resources/RoomManager.class.php
+++ b/lib/resources/RoomManager.class.php
@@ -389,8 +389,18 @@ class RoomManager
Room $room,
DateTime $begin,
DateTime $end,
- $booking_types = [0, 1, 2, 3],
- $building_booking_types = [0, 1, 2, 3],
+ $booking_types = [
+ ResourceBooking::TYPE_NORMAL,
+ ResourceBooking::TYPE_RESERVATION,
+ ResourceBooking::TYPE_LOCK,
+ ResourceBooking::TYPE_PLANNED,
+ ],
+ $building_booking_types = [
+ ResourceBooking::TYPE_NORMAL,
+ ResourceBooking::TYPE_RESERVATION,
+ ResourceBooking::TYPE_LOCK,
+ ResourceBooking::TYPE_PLANNED,
+ ],
$exclude_canceled_intervals = true
)
{