/** * Returns an instance of class (singleton pattern implementation). * * @return CONTACTUS_BOL_Service */ public static function getInstance() { if (self::$classInstance === null) { self::$classInstance = new self(); } return self::$classInstance; }
public function file($params) { $page = empty($_GET['page']) ? 1 : $_GET['page']; $rpp = 5; $first = ($page - 1) * $rpp; $count = $rpp; if (empty($params) && !isset($params['fileId'])) { throw new Redirect404Exception(); } if (!stripos($params['fileId'], "-")) { throw new Redirect404Exception(); } $check = $params['fileId']; $params['fileId'] = substr($params['fileId'], 0, stripos($params['fileId'], "-")); $file = SPDOWNLOAD_BOL_FileService::getInstance()->getFileId($params['fileId']); if ($file->id . '-' . $file->slug != $check) { throw new Redirect404Exception(); } $arrayCheckCategory = array(); $CategoryIdList = SPDOWNLOAD_BOL_FileCategoryService::getInstance()->getCategoryId($params['fileId']); foreach ($CategoryIdList as $key => $value) { array_push($arrayCheckCategory, $value->categoryId); } $cmpCategories = new SPDOWNLOAD_CMP_Category(false, $arrayCheckCategory); $this->addComponent('cmpCategories', $cmpCategories); $versions = SPDOWNLOAD_BOL_VersionService::getInstance()->getVersionList($params['fileId'], $first, $rpp); foreach ($versions as $key => $value) { $value->addedTime = date("Y-m-d H:i:s", $value->addedTime); $value->size = $this->splitFilesize($value->size); } $itemCount = SPDOWNLOAD_BOL_VersionService::getInstance()->getcountVersion($params['fileId']); $pageCount = ceil($itemCount / $rpp); $this->addComponent('paging', new BASE_CMP_Paging($page, $pageCount, 5)); $url = OW::getPluginManager()->getPlugin('spdownload')->getUserFilesUrl(); $nameImage = 'icon_large_' . $file->id . '.png'; $file->icon = $url . $nameImage; $urlBack = OW::getRouter()->urlForRoute('spdownload.up_myfile', array('userId' => OW::getUser()->getId())); $this->assign('urlBack', $urlBack); $this->assign('versions', $versions); $this->assign('file', $file); $form = new Form('delete_file'); $this->addForm($form); $submit = new Submit('delete'); $submit->setValue(OW::getLanguage()->text('spdownload', 'delete-file-yes')); $form->addElement($submit); if (OW::getRequest()->isPost()) { if ($form->isValid($_POST)) { SPDOWNLOAD_BOL_FileThumbService::getInstance()->deleteIdThumb($params['fileId']); SPDOWNLOAD_BOL_FileCategoryService::getInstance()->deleteId($params); SPDOWNLOAD_BOL_VersionService::getInstance()->deleteIdVer($params['fileId']); SPDOWNLOAD_BOL_FileService::getInstance()->deleteIdFile($params['fileId']); $this->redirect(OW::getRouter()->urlForRoute('spdownload.up_myfile', array('userId' => OW::getUser()->getId()))); } } }
public function detail($params) { $document = OW::getDocument(); $plugin = OW::getPluginManager()->getPlugin('spdownload'); $document->addStyleSheet($plugin->getStaticCssUrl() . 'file_detail.css'); $check = $params['fileId']; if (!stripos($params['fileId'], "-")) { throw new Redirect404Exception(); } $params['fileId'] = substr($params['fileId'], 0, stripos($params['fileId'], "-")); $file = SPDOWNLOAD_BOL_FileService::getInstance()->getFileId($params['fileId']); if ($file->id . '-' . $file->slug != $check) { throw new Redirect404Exception(); } $cmpThumbnails = new SPDOWNLOAD_CMP_Thumbnail($params['fileId']); $this->addComponent('cmpThumbnails', $cmpThumbnails); $params['authorId'] = $file->authorId; $params['quantitySoft'] = 2; $cmpRelatedItemUser = new SPDOWNLOAD_CMP_RelatedItemUser($params); $this->addComponent('cmpRelatedItemUser', $cmpRelatedItemUser); $filevernew = SPDOWNLOAD_BOL_VersionService::getInstance()->getFileVerNew($params['fileId']); $limit = 3; $fileverold = SPDOWNLOAD_BOL_VersionService::getInstance()->getFileOldVersion($params['fileId'], $filevernew[0]->id, $limit); $filevernew[0]->size = $this->splitFilesize($filevernew[0]->size); foreach ($fileverold as $key => $value) { $value->size = $this->splitFilesize($value->size); } // rate $rateInfo = new BASE_CMP_Rate('spdownload', 'spdownload-software', $file->getId(), $file->authorId); $this->addComponent('rate', $rateInfo); // comments $allow_comments = true; if ($file->authorId != OW::getUser()->getId() && !OW::getUser()->isAuthorized('spdownload')) { $eventParams = array('action' => 'spdownload_comment_spdownload-posts', 'ownerId' => $file->authorId, 'viewerId' => OW::getUser()->getId()); try { OW::getEventManager()->getInstance()->call('privacy_check_permission', $eventParams); } catch (RedirectException $ex) { $allow_comments = false; } } $cmpParams = new BASE_CommentsParams('spdownload', 'spdownload-post'); $cmpParams->setEntityId($file->getId())->setOwnerId($file->authorId)->setDisplayType(BASE_CommentsParams::DISPLAY_TYPE_BOTTOM_FORM_WITH_FULL_LIST)->setAddComment($allow_comments); $this->addComponent('comments', new BASE_CMP_Comments($cmpParams)); $arraylabel = array("filename" => OW::getLanguage()->text('spdownload', 'label_file_name'), "filesize" => OW::getLanguage()->text('spdownload', 'label_file_size'), "filetype" => OW::getLanguage()->text('spdownload', 'label_file_type'), "filedown" => OW::getLanguage()->text('spdownload', 'label_file_download')); $url = OW::getPluginManager()->getPlugin('spdownload')->getUserFilesUrl(); $nameImage = 'icon_large_' . $file->id . '.png'; $file->icon = $url . $nameImage; $CategoryIdList = SPDOWNLOAD_BOL_FileCategoryService::getInstance()->getCategoryId($params['fileId']); $arrayCategory = array(); foreach ($CategoryIdList as $key => $value) { $categories = SPDOWNLOAD_BOL_CategoryDao::getInstance()->findById($value->categoryId); $arrayCategory[$value->categoryId] = $categories->name; } $this->assign('arrayCategory', $arrayCategory); $this->assign('file', $file); $this->assign('var', $file->id); $this->assign('filevernew', $filevernew[0]); $this->assign('fileverold', $fileverold); $this->assign('arraylabel', $arraylabel); }
public function index($params) { $filevernew = array(); $file = array(); $flag = false; $this->setPageTitle(OW::getLanguage()->text('spdownload', 'index_upload_title')); $this->setPageHeading(OW::getLanguage()->text('spdownload', 'index_upload_heading')); $arrayCheckCategory = array(); if (!empty($params) && isset($params['fileId'])) { if (!stripos($params['fileId'], "-")) { throw new Redirect404Exception(); } $check = $params['fileId']; $params['fileId'] = substr($params['fileId'], 0, stripos($params['fileId'], "-")); $file = SPDOWNLOAD_BOL_FileService::getInstance()->getFileId($params['fileId']); if ($file->id . '-' . $file->slug != $check) { throw new Redirect404Exception(); } $CategoryIdList = SPDOWNLOAD_BOL_FileCategoryService::getInstance()->getCategoryId($params['fileId']); foreach ($CategoryIdList as $key => $value) { array_push($arrayCheckCategory, $value->categoryId); } $flag = true; $file = SPDOWNLOAD_BOL_FileService::getInstance()->getFileId($params['fileId']); if ($file === NULL) { throw new Redirect404Exception(); } $filevernew = SPDOWNLOAD_BOL_VersionService::getInstance()->getFileVerNew($params['fileId']); $url = OW::getPluginManager()->getPlugin('spdownload')->getUserFilesUrl(); $file->icon = $url . 'icon_small_' . $params['fileId'] . '.png'; $thumbnails = SPDOWNLOAD_BOL_FileService::getInstance()->getThumbnailList($params['fileId']); foreach ($thumbnails as $key => $value) { $value->image = $url . $value->fileId . '_thumb_small_' . $value->uri . '.jpg'; } $this->assign('file', $file); $this->assign('thumbnails', $thumbnails); } $form = new Form('upload_form'); $form->setEnctype(Form::ENCTYPE_MULTYPART_FORMDATA); $cmpCategories = new SPDOWNLOAD_CMP_Category(false, $arrayCheckCategory); $this->addComponent('cmpCategories', $cmpCategories); $fieldName = new TextField('upname'); $fieldName->setLabel($this->text('spdownload', 'form_label_name_up')); $fieldName->setRequired(); if (!empty($params) && isset($params['fileId'])) { $fieldName->setValue($file->name); } $form->addElement($fieldName); $fieldSlug = new TextField('upslug'); $fieldSlug->setLabel($this->text('spdownload', 'form_label_slug_up')); $fieldSlug->setRequired(); if (!empty($params) && isset($params['fileId'])) { $fieldSlug->setValue($file->slug); } $form->addElement($fieldSlug); $fieldFile = new FileField('upfile'); $fieldFile->setLabel($this->text('spdownload', 'form_label_file_up')); $form->addElement($fieldFile); $fieldIcon = new FileField('upicon'); $fieldIcon->setLabel($this->text('spdownload', 'form_label_icon_up')); $form->addElement($fieldIcon); $fieldThumb = new MultiFileField('upthumb', 5); $fieldThumb->setLabel($this->text('spdownload', 'form_label_thumb_up')); $form->addElement($fieldThumb); $fieldDescription = new Textarea('updescription'); $fieldDescription->setLabel($this->text('spdownload', 'form_label_description_up')); if (!empty($params) && isset($params['fileId'])) { $fieldDescription->setValue($file->description); } $form->addElement($fieldDescription); $fieldCategory = new CheckboxGroup('ct'); $form->addElement($fieldCategory); $submit = new Submit('upload'); $submit->setValue($this->text('spdownload', 'form_label_submit_up')); $form->addElement($submit); $this->addForm($form); $this->assign('flag', $flag); if (OW::getRequest()->isPost()) { if ($form->isValid($_POST)) { if (!empty($params) && isset($params['fileId'])) { if (!empty($_POST['ct'])) { $arrayAdd = array_diff($_POST['ct'], $arrayCheckCategory); $arrayDelete = array_diff($arrayCheckCategory, $_POST['ct']); foreach ($arrayDelete as $key => $value) { SPDOWNLOAD_BOL_FileCategoryService::getInstance()->deleteId($params['fileId'], $value); } foreach ($arrayAdd as $key => $value) { SPDOWNLOAD_BOL_FileCategoryService::getInstance()->addFileCategory($params['fileId'], $value); } } else { SPDOWNLOAD_BOL_FileCategoryService::getInstance()->deleteId($params['fileId'], null); } } $arrayFile = array(); $arrayFile['id'] = null; if (!empty($params) && isset($params['fileId'])) { $arrayFile['id'] = $params['fileId']; } $arrayFile['name'] = $_POST['upname']; $arrayFile['description'] = $_POST['updescription']; $arrayFile['slug'] = $_POST['upslug']; $arrayFile['authorId'] = OW::getUser()->getId(); $arrayFile['addedTime'] = time(); SPDOWNLOAD_BOL_FileService::getInstance()->addFile($arrayFile); if (isset($arrayFile['id']) && !empty($arrayFile['id'])) { } else { $fileNew = SPDOWNLOAD_BOL_FileService::getInstance()->getIdNew($arrayFile); $arrayFile['id'] = $fileNew[0]->id; } if (empty($params) && !isset($params['fileId'])) { if (isset($_POST['ct']) && !empty($_POST['ct'])) { foreach ($_POST['ct'] as $key => $value) { SPDOWNLOAD_BOL_FileCategoryService::getInstance()->addFileCategory($arrayFile['id'], $value); } } } $arrayInputFile = array(); $arrayInputFile['size'] = $_FILES['upfile']['size']; $arrayInputFile['name'] = $_FILES['upfile']['name']; $arrayInputFile['type'] = $_FILES['upfile']['type']; $arrayInputFile['tmp_name'] = $_FILES['upfile']['tmp_name']; $arrayInputFile['error'] = $_FILES['upfile']['error']; $arrayInputFile['addedTime'] = $arrayFile['addedTime']; $arrayInputFile['fileId'] = $arrayFile['id']; $path = SPDOWNLOAD_BOL_FileService::getInstance()->getFilePath(); if ($arrayInputFile['error'] == 0) { SPDOWNLOAD_BOL_VersionService::getInstance()->addVersion($arrayInputFile); $verNew = SPDOWNLOAD_BOL_VersionService::getInstance()->getIdVer($arrayInputFile); $arrayInputFile['id'] = $verNew[0]->id; SPDOWNLOAD_BOL_FileService::getInstance()->move_file($arrayInputFile['tmp_name'], $path, $arrayInputFile['id']); } if ($_FILES['upicon']['error'] == 0 && !empty($_FILES['upicon']['name'])) { SPDOWNLOAD_BOL_FileService::getInstance()->copy_resize_image($_FILES['upicon']['tmp_name'], 'icon_small', $arrayFile['id'], 'png', 48, 48); SPDOWNLOAD_BOL_FileService::getInstance()->copy_resize_image($_FILES['upicon']['tmp_name'], 'icon_large', $arrayFile['id'], 'png', 128, 128); } foreach ($_FILES['upthumb']['tmp_name'] as $key => $value) { if ($_FILES['upthumb']['error'][$key] == 0 && !empty($_FILES['upthumb']['name'][$key])) { SPDOWNLOAD_BOL_FileThumbService::getInstance()->addThumb($arrayFile['id'], $key); SPDOWNLOAD_BOL_FileService::getInstance()->copy_resize_image($_FILES['upthumb']['tmp_name'][$key], $arrayFile['id'] . '_thumb_small', $key, 'jpg', 360, 180); SPDOWNLOAD_BOL_FileService::getInstance()->copy_resize_image($_FILES['upthumb']['tmp_name'][$key], $arrayFile['id'] . '_thumb_large', $key, 'jpg', 720, 360); } } } $this->redirect(OW::getRouter()->urlForRoute('spdownload.up_myfile', array('userId' => OW::getUser()->getId()))); } }