示例#1
0
文件: header.php 项目: vazahat/dudex
 public function saveCover($coverData)
 {
     $userId = (int) $coverData['userId'];
     $template = null;
     $tmpCover = $this->service->findCoverByUserId($userId, UHEADER_BOL_Cover::STATUS_TMP);
     if ($tmpCover === null && !empty($coverData["templateId"])) {
         $template = $this->service->findTemplateById($coverData["templateId"]);
         $tmpCover = $template->createCover($userId);
     }
     $activeCover = $this->service->findCoverByUserId($userId, UHEADER_BOL_Cover::STATUS_ACTIVE);
     $cover = $tmpCover;
     if ($cover === null) {
         $eventName = UHEADER_BOL_Service::EVENT_UPDATE;
         $cover = $activeCover;
     } else {
         if ($activeCover === null) {
             $eventName = UHEADER_BOL_Service::EVENT_ADD;
         } else {
             $eventName = UHEADER_BOL_Service::EVENT_CHANGE;
             $this->service->deleteCover($activeCover);
         }
     }
     $data = $cover->getSettings();
     $cover->setSettings(array_merge($data, $coverData));
     $cover->status = UHEADER_BOL_Cover::STATUS_ACTIVE;
     $this->service->saveCover($cover);
     $src = $cover->getSrc();
     $event = new OW_Event($eventName, array('userId' => $userId, 'id' => $cover->id, 'file' => $cover->file, 'path' => $this->service->getCoverPath($cover), 'src' => $src, 'data' => $cover->getSettings()), $cover->getSettings());
     OW::getEventManager()->trigger($event);
     $cover->setSettings($event->getData());
     $this->service->saveCover($cover);
     $message = OW::getLanguage()->text('uheader', 'cover_save_success');
     return array('message' => $message, 'src' => $src, 'data' => $cover->getSettings(), 'ratio' => $cover->getRatio());
 }