예제 #1
0
 public function executeUpdate()
 {
     $i18n = new sfI18N();
     $i18n->initialize($this->getContext());
     $i18n->setCulture($this->getUser()->getCulture());
     $action_i18n = $i18n->globalMessageFormat->format('save as new');
     $action_edit_i18n = $i18n->globalMessageFormat->format('edit');
     $action_type = $this->getRequestParameter('action_type');
     if ($action_type == $action_i18n || !$this->getRequestParameter('id', 0)) {
         $catalog = new Catalog();
     } else {
         $catalog = CatalogPeer::retrieveByPk($this->getRequestParameter('id'));
         $this->forward404Unless($catalog);
     }
     $catalog->setId($this->getRequestParameter('id'));
     $catalog->setCatLanguageId(1);
     $catalog->setCatCategoryId(15);
     $catalog->setCatSubjectId(4202);
     $catalog->setTitle($this->getRequestParameter('title'));
     $catalog->setPublishedYear(2011);
     $catalog->setPublishedLocation('Jakarta');
     $catalog->setSynopsis($this->getRequestParameter('synopsis'));
     $catalog->setSearchKeywords($this->getRequestParameter('search_keywords'));
     $catalog->setPublisherId(8682);
     $catalog->save();
     $dept_id = $this->getContext()->getUser()->getAttribute('department_id', null, 'bo');
     $dept = $this->getContext()->getUser()->getAttribute('department', null, 'bo');
     if ($dept_id == 2) {
         $c = new Criteria();
         $c->add(CatalogWriterPeer::CATALOG_ID, $catalog->getId());
         $c->add(CatalogWriterPeer::WRITER_ID, 8780);
         $cw = CatalogWriterPeer::doSelectOne($c);
         if ($cw == null) {
             $cw = new CatalogWriter();
         }
         $cw->setCatalog($catalog);
         $cw->setWriterId(8780);
         $cw->save();
     } elseif ($dept_id == 3) {
         $c = new Criteria();
         $c->add(CatalogWriterPeer::CATALOG_ID, $catalog->getId());
         $c->add(CatalogWriterPeer::WRITER_ID, 8112);
         $cw = CatalogWriterPeer::doSelectOne($c);
         if ($cw == null) {
             $cw = new CatalogWriter();
         }
         $cw->setCatalog($catalog);
         $cw->setWriterId(8112);
         $cw->save();
     } else {
         $c = new Criteria();
         $c->add(CatalogWriterPeer::CATALOG_ID, $catalog->getId());
         $c->add(CatalogWriterPeer::WRITER_ID, 8112);
         $cw = CatalogWriterPeer::doSelectOne($c);
         if ($cw == null) {
             $cw = new CatalogWriter();
         }
         $cw->setCatalog($catalog);
         $cw->setWriterId(8112);
         $cw->save();
     }
     $c = new Criteria();
     $c->add(CatalogEmployeePeer::CATALOG_ID, $catalog->getId());
     $c->add(CatalogEmployeePeer::EMPLOYEE_ID, $this->getRequestParameter('employee_id'));
     $ce = CatalogEmployeePeer::doSelectOne($c);
     if ($ce == null) {
         $ce = new CatalogEmployee();
     }
     $ce->setCatalog($catalog);
     $ce->setEmployeeId($this->getRequestParameter('employee_id'));
     $ce->save();
     $writer_name = $catalog->getFirstWriterName();
     $writer_name = preg_replace('/\\W+/', '', $writer_name);
     $writer_name = strtoupper(substr($writer_name, 0, 3));
     $title = substr(strtoupper(str_replace(' ', '', $catalog->getTitle())), 0, 3);
     $subject_code = $catalog->getCatSubject()->getCode();
     $catalog->setCode("{$subject_code}-{$writer_name}-{$title}");
     $catalog->save();
     if ($this->hasRequestParameter('copies') && $this->getRequestParameter('copies') > 0) {
         $catalog->addCopies($this);
     }
     $cover_dir = sfConfig::get('sf_data_dir') . DIRECTORY_SEPARATOR . 'photos' . DIRECTORY_SEPARATOR;
     if ($this->hasRequestParameter('coverFile') && $this->getRequestParameter('coverFile') != '' && $this->getRequestParameter('coverFile') != null) {
         // get cover content
         $cover_file = $cover_dir . 'tmp' . DIRECTORY_SEPARATOR . $this->getRequestParameter('coverFile');
         $content = file_get_contents($cover_file);
         $im = imagecreatefromstring($content);
         list($w, $h) = getimagesize($cover_file);
         // generate cover
         $cover = imagecreatetruecolor(150, 200);
         imagecopyresized($cover, $im, 0, 0, 0, 0, 150, 200, $w, $h);
         // generate thumbnail
         $thumb = imagecreatetruecolor(100, 150);
         imagecopyresized($thumb, $im, 0, 0, 0, 0, 100, 150, $w, $h);
         // get cover record
         $c = new Criteria();
         $c->add(CatalogCopiedPeer::CATALOG_ID, $catalog->getId());
         $catalog_cover = CatalogCopiedPeer::doSelectOne($c);
         if ($catalog_cover == null) {
             $catalog_cover = new CatalogCopied();
             $catalog_cover->setCatalog($catalog);
         }
         // save cover
         imagepng($cover, $cover_file);
         $catalog_cover->setCover(base64_encode(file_get_contents($cover_file)));
         imagepng($thumb, $cover_file);
         $catalog_cover->setThumbnail(base64_encode(file_get_contents($cover_file)));
         $catalog_cover->save();
         unlink($cover_dir . 'tmp' . DIRECTORY_SEPARATOR . $this->getRequestParameter('coverFile'));
     }
     if ($this->hasRequestParameter('file') && $this->getRequestParameter('file') != '' && $this->getRequestParameter('file') != null) {
         $fileName = $this->getRequestParameter('file');
         $catalog_file = new CatalogFile();
         $catalog_file->setCatalog($catalog);
         $catalog_file->setFile($fileName);
         $catalog_file->save();
     }
     if ($this->hasRequestParameter('file_1') && $this->getRequestParameter('file_1') != '' && $this->getRequestParameter('file_1') != null) {
         $fileName = $this->getRequestParameter('file_1');
         $catalog_file = new CatalogFile();
         $catalog_file->setCatalog($catalog);
         $catalog_file->setFile($fileName);
         $catalog_file->save();
     }
     if ($this->hasRequestParameter('file_2') && $this->getRequestParameter('file_2') != '' && $this->getRequestParameter('file_2') != null) {
         $fileName = $this->getRequestParameter('file_2');
         $catalog_file = new CatalogFile();
         $catalog_file->setCatalog($catalog);
         $catalog_file->setFile($fileName);
         $catalog_file->save();
     }
     if ($this->hasRequestParameter('file_3') && $this->getRequestParameter('file_3') != '' && $this->getRequestParameter('file_3') != null) {
         $fileName = $this->getRequestParameter('file_3');
         $catalog_file = new CatalogFile();
         $catalog_file->setCatalog($catalog);
         $catalog_file->setFile($fileName);
         $catalog_file->save();
     }
     if ($this->hasRequestParameter('file_4') && $this->getRequestParameter('file_4') != '' && $this->getRequestParameter('file_4') != null) {
         $fileName = $this->getRequestParameter('file_4');
         $catalog_file = new CatalogFile();
         $catalog_file->setCatalog($catalog);
         $catalog_file->setFile($fileName);
         $catalog_file->save();
     }
     if ($this->hasRequestParameter('file_5') && $this->getRequestParameter('file_5') != '' && $this->getRequestParameter('file_5') != null) {
         $fileName = $this->getRequestParameter('file_5');
         $catalog_file = new CatalogFile();
         $catalog_file->setCatalog($catalog);
         $catalog_file->setFile($fileName);
         $catalog_file->save();
     }
     if ($this->hasRequestParameter('file_6') && $this->getRequestParameter('file_6') != '' && $this->getRequestParameter('file_6') != null) {
         $fileName = $this->getRequestParameter('file_6');
         $catalog_file = new CatalogFile();
         $catalog_file->setCatalog($catalog);
         $catalog_file->setFile($fileName);
         $catalog_file->save();
     }
     if ($this->hasRequestParameter('file_7') && $this->getRequestParameter('file_7') != '' && $this->getRequestParameter('file_7') != null) {
         $fileName = $this->getRequestParameter('file_7');
         $catalog_file = new CatalogFile();
         $catalog_file->setCatalog($catalog);
         $catalog_file->setFile($fileName);
         $catalog_file->save();
     }
     if ($this->hasRequestParameter('file_8') && $this->getRequestParameter('file_8') != '' && $this->getRequestParameter('file_8') != null) {
         $fileName = $this->getRequestParameter('file_8');
         $catalog_file = new CatalogFile();
         $catalog_file->setCatalog($catalog);
         $catalog_file->setFile($fileName);
         $catalog_file->save();
     }
     if ($this->hasRequestParameter('file_9') && $this->getRequestParameter('file_9') != '' && $this->getRequestParameter('file_9') != null) {
         $fileName = $this->getRequestParameter('file_9');
         $catalog_file = new CatalogFile();
         $catalog_file->setCatalog($catalog);
         $catalog_file->setFile($fileName);
         $catalog_file->save();
     }
     if ($this->hasRequestParameter('file_10') && $this->getRequestParameter('file_10') != '' && $this->getRequestParameter('file_10') != null) {
         $fileName = $this->getRequestParameter('file_10');
         $catalog_file = new CatalogFile();
         $catalog_file->setCatalog($catalog);
         $catalog_file->setFile($fileName);
         $catalog_file->save();
     }
     if ($dept_id == 2) {
         $c = new Criteria();
         $c->add(ColItemPeer::CATALOG_ID, $catalog->getId());
         $ci = ColItemPeer::doSelectOne($c);
         $ci->setColLocationId(102);
         $ci->save();
     } elseif ($dept_id == 3) {
         $c = new Criteria();
         $c->add(ColItemPeer::CATALOG_ID, $catalog->getId());
         $ci = ColItemPeer::doSelectOne($c);
         $ci->setColLocationId(103);
         $ci->save();
     } else {
         $c = new Criteria();
         $c->add(ColItemPeer::CATALOG_ID, $catalog->getId());
         $ci = ColItemPeer::doSelectOne($c);
         $ci->setColLocationId(104);
         $ci->save();
     }
     return $this->redirect('employee_bank/list');
 }
예제 #2
0
 public static function retrieveByPKs($pks, $con = null)
 {
     if ($con === null) {
         $con = Propel::getConnection(self::DATABASE_NAME);
     }
     $objs = null;
     if (empty($pks)) {
         $objs = array();
     } else {
         $criteria = new Criteria();
         $criteria->add(CatalogCopiedPeer::ID, $pks, Criteria::IN);
         $objs = CatalogCopiedPeer::doSelect($criteria, $con);
     }
     return $objs;
 }
예제 #3
0
 public function fromArray($arr, $keyType = BasePeer::TYPE_PHPNAME)
 {
     $keys = CatalogCopiedPeer::getFieldNames($keyType);
     if (array_key_exists($keys[0], $arr)) {
         $this->setId($arr[$keys[0]]);
     }
     if (array_key_exists($keys[1], $arr)) {
         $this->setCatalogId($arr[$keys[1]]);
     }
     if (array_key_exists($keys[2], $arr)) {
         $this->setCover($arr[$keys[2]]);
     }
     if (array_key_exists($keys[3], $arr)) {
         $this->setThumbnail($arr[$keys[3]]);
     }
     if (array_key_exists($keys[4], $arr)) {
         $this->setFiles($arr[$keys[4]]);
     }
 }
예제 #4
0
 public function executeGetCover()
 {
     $this->setTemplate('blank');
     $cover_dir = sfConfig::get('sf_data_dir') . DIRECTORY_SEPARATOR . 'photos' . DIRECTORY_SEPARATOR;
     $catalog_id = $this->getRequestParameter('id');
     $c = new Criteria();
     $c->add(CatalogCopiedPeer::CATALOG_ID, $catalog_id);
     $cover = CatalogCopiedPeer::doSelectOne($c);
     $this->getResponse()->setHttpHeader('Content-Type', 'image/png');
     $contents = "";
     if ($cover != null) {
         $contents = imagecreatefromstring(base64_decode($cover->getThumbnail()->getContents()));
     } else {
         $contents = imagecreatefrompng($cover_dir . 'no_cover.png');
     }
     return imagepng($contents);
 }
예제 #5
0
파일: Catalog.php 프로젝트: taryono/school
 public function getPdfFilePath()
 {
     $cat = $this;
     $filename = sfConfig::get('sf_root_dir') . '/' . sfConfig::get('sf_app') . '/images/tmp/cat_' . $cat->getCode() . '.pdf';
     $url_filename = sfContext::getInstance()->getRequest()->getRelativeUrlRoot() . '/images/tmp/';
     $file_dir = sfConfig::get('sf_data_dir') . DIRECTORY_SEPARATOR . 'files' . DIRECTORY_SEPARATOR;
     $catalog_id = $this->getId();
     $c = new Criteria();
     $c->add(CatalogCopiedPeer::CATALOG_ID, $catalog_id);
     $file = CatalogCopiedPeer::doSelectOne($c);
     $contents = "";
     if ($file != null) {
         $contents = base64_decode($file->getFiles());
     } else {
         $contents = "";
     }
     return $url_filename . 'cat_' . $cat->getCode() . '.pdf';
 }