示例#1
0
function signin_netid($netid, $reason_id)
{
    $reason = signInReasonQuery::create()->findPK($reason_id);
    $beginOfDay = strtotime("midnight", time());
    if (!$reason) {
        return array("error" => true, "message" => "Invalid reason.");
    }
    $user = get_user($netid);
    if (!$user) {
        return array("error" => true, "message" => "Invalid NetID.");
    }
    $signins = signInQuery::create()->filterByCreatedAt(array('min' => $beginOfDay))->filterByUser($user)->find();
    $signins = $signins->toArray();
    // If the user has signed in already today...
    if (!empty($signins)) {
        // Don't let them do it again
        return array("error" => true, "message" => "You've already signed in today.");
    }
    // Otherwise, sign them in.
    $signinRecord = new signIn();
    $signinRecord->setUser($user);
    $signinRecord->setsignInReason($reason);
    $signinRecord->save();
    return array("error" => false, "message" => "Sign-in successful.");
}
 /**
  * @param	signIn $signIn The signIn object to add.
  */
 protected function doAddsignIn($signIn)
 {
     $this->collsignIns[] = $signIn;
     $signIn->setsignInReason($this);
 }