| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 |
- <?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 UnlockedUser
- * @FieldName ID
- * @OneToMany
- * @OnUpdate CASCADE
- * @OnDelete CASCADE
- * @var MinecraftServerSubscription[]
- */
- 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 );
- }
- }
|