/** * Checks by key and value fields * For full object comparison use $this->metaData->contains($metaData) * * @param ArticleMeta $metaData * @return bool */ public function hasMetaData(ArticleMeta $metaData) { $result = false; foreach ($this->metaData as $meta) { if ($meta->getKey() == $metaData->getKey() && $meta->getValue() == $metaData->getValue()) { $result = true; break; } } return $result; }
private function applyLock(ArticleMeta &$meta, $user) { $datetimeLocked = strtotime(date("Y-m-d H:i:s")); $meta->setKey('writing_locked')->setValue($datetimeLocked . ':' . $user->getId()); $this->save($meta); }