| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 |
- <?php
- /**
- * @Name minecraft_user
- * @Unique Username
- */
- class MinecraftUser extends Entity {
- /**
- * @DB-Column
- * @Name ID
- * @Type INT
- * @Primary
- * @AutoIncrement
- * @NotNull
- */
- public $ID;
- /**
- * @DB-Column
- * @Name Username
- * @Type VARCHAR(256)
- * @NotNull
- * @Pattern /^[a-zA-Z0-9_]{3,16}$/
- * @Pattern-Missmatch-Comment [ 'de' => 'Der Benutzername ist nur 3-16 Zeichen lang und enthält a-z, A-Z, 0-9, _', 'en' => 'The Username is only 3-16 chars long and contains only a-z, A-Z, 0-9, _' ]
- */
- public $Username;
- /**
- * @DB-Relation
- * @Field ID
- * @FieldName SubscriptionID
- * @OneToMany
- * @OnUpdate CASCADE
- * @OnDelete CASCADE
- * @var MinecraftServer[]
- */
- public $Subscriptions;
- /**
- * @DB-Relation
- * @Field ID
- * @FieldName OwnerID
- * @ManyToOne
- * @OnUpdate CASCADE
- * @OnDelete CASCADE
- * @var User
- */
- public $Owner;
-
- public function HasSubscripted( MinecraftServer $server ) {
- $f = date( 'Y-m-01' ); $l = date( 'Y-m-t' );
- $uid = $this->GetID();
- $sid = $server->GetID();
- $earlier = MinecraftServerSubscription::GetAll( "SubscriptionDate BETWEEN '$f' AND '$l' AND UnlockedUserID = $uid AND ConcerningServerID = $sid" );
- return !!count( $earlier );
- }
- }
|