コード例 #1
0
ファイル: TodoMapper.php プロジェクト: awita/projectstudent
 /**
  * Maps array to the given {@link Todo}.
  * <p>
  * Expected properties are:
  * <ul>
  *   <li>id</li>
  *   <li>priority</li>
  *   <li>created_on</li>
  *   <li>due_on</li>
  *   <li>last_modified_on</li>
  *   <li>title</li>
  *   <li>description</li>
  *   <li>comment</li>
  *   <li>status</li>
  *   <li>deleted</li>
  * </ul>
  * @param Todo $todo
  * @param array $properties
  */
 public static function map(Todo $todo, array $properties)
 {
     if (array_key_exists('id', $properties)) {
         $todo->setId($properties['id']);
     }
     if (array_key_exists('priority', $properties)) {
         $todo->setPriority($properties['priority']);
     }
     if (array_key_exists('created_on', $properties)) {
         $createdOn = self::createDateTime($properties['created_on']);
         if ($createdOn) {
             $todo->setCreatedOn($createdOn);
         }
     }
     if (array_key_exists('due_on', $properties)) {
         $dueOn = self::createDateTime($properties['due_on']);
         if ($dueOn) {
             $todo->setDueOn($dueOn);
         }
     }
     if (array_key_exists('last_modified_on', $properties)) {
         $lastModifiedOn = self::createDateTime($properties['last_modified_on']);
         if ($lastModifiedOn) {
             $todo->setLastModifiedOn($lastModifiedOn);
         }
     }
     if (array_key_exists('title', $properties)) {
         $todo->setTitle(trim($properties['title']));
     }
     if (array_key_exists('description', $properties)) {
         $todo->setDescription(trim($properties['description']));
     }
     if (array_key_exists('comment', $properties)) {
         $todo->setComment(trim($properties['comment']));
     }
     if (array_key_exists('status', $properties)) {
         $todo->setStatus($properties['status']);
     }
     if (array_key_exists('deleted', $properties)) {
         $todo->setDeleted($properties['deleted']);
     }
 }
コード例 #2
0
ファイル: add-edit.php プロジェクト: mindbeesteam/Todolist
 * made subject to such option by the copyright holder.
 *
 * Contributor(s):
 *
 * Portions Copyrighted 2011 Sun Microsystems, Inc.
 */
/* this is to do list */
$errors = array();
$todo = null;
$edit = array_key_exists('id', $_GET);
if ($edit) {
    $todo = Utils::getTodoByGetId();
} else {
    // set defaults
    $todo = new Todo();
    $todo->setPriority(Todo::PRIORITY_MEDIUM);
    $dueOn = new DateTime("+1 day");
    $dueOn->setTime(0, 0, 0);
    $todo->setDueOn($dueOn);
}
if (array_key_exists('cancel', $_POST)) {
    // redirect
    Utils::redirect('detail', array('id' => $todo->getId()));
} elseif (array_key_exists('save', $_POST)) {
    // for security reasons, do not map the whole $_POST['todo']
    $data = array('title' => $_POST['todo']['title'], 'due_on' => $_POST['todo']['due_on_date'] . ' ' . $_POST['todo']['due_on_hour'] . ':' . $_POST['todo']['due_on_minute'] . ':00', 'priority' => $_POST['todo']['priority'], 'description' => $_POST['todo']['description'], 'comment' => $_POST['todo']['comment']);
    // map
    TodoMapper::map($todo, $data);
    // validate
    $errors = TodoValidator::validate($todo);
    // validate