summaryrefslogtreecommitdiff
path: root/app/php/components/CalendarScaffold.php
diff options
context:
space:
mode:
authoremkael <emkael@tlen.pl>2016-04-06 13:50:31 +0200
committeremkael <emkael@tlen.pl>2016-04-06 13:51:23 +0200
commitdfe234a7aaaacedcc94716f955b44a1b50c4a057 (patch)
tree3c16b945b65a654d6dd63421250fb2bb496cd1f2 /app/php/components/CalendarScaffold.php
parentfd7b7aa1bade514a87667ff90b94dc3050f68560 (diff)
* components -> controls
Diffstat (limited to 'app/php/components/CalendarScaffold.php')
-rw-r--r--app/php/components/CalendarScaffold.php127
1 files changed, 0 insertions, 127 deletions
diff --git a/app/php/components/CalendarScaffold.php b/app/php/components/CalendarScaffold.php
deleted file mode 100644
index f265d53..0000000
--- a/app/php/components/CalendarScaffold.php
+++ /dev/null
@@ -1,127 +0,0 @@
-<?php
-
-Prado::using('System.Web.UI.ActiveControls.TActiveDataGrid');
-Prado::using('System.Web.UI.ActiveControls.TActiveTextBox');
-Prado::using('Application.facades.CalendarFacade');
-
-class CalendarScaffold extends TTemplateControl {
-
- public function setFacade(Facade $facade) {
- $this->setViewState('Facade', $facade);
- }
-
- public function getFacade() {
- return $this->getViewState('Facade');
- }
-
- public function onPreRender($param) {
- parent::onPreRender($param);
- if (!$this->Page->IsPostBack && !$this->Page->IsCallBack) {
- $this->_rebindData();
- }
- }
-
- private function _rebindCalendars(array $calendars) {
- $this->Calendars->DataSource = $calendars;
- $this->Calendars->dataBind();
- }
-
- private function _rebindCategoryList(array $categories) {
- foreach ($this->Calendars->Columns as $column) {
- if ($column->ID === 'Category'
- && $column instanceof TActiveDropDownListColumn) {
- $column->ListDataSource = $categories;
- }
- }
- }
-
- private function _rebindData($refresh = FALSE) {
- $this->_rebindCategoryList(
- $this->_getCategories()
- );
- $this->_rebindCalendars(
- $this->_getCalendars($refresh)
- );
- }
-
- private function _getCalendars($refresh = FALSE) {
- if ($refresh) {
- $this->clearViewState('Calendars');
- }
- $calendars = $this->getViewState(
- 'Calendars',
- $this->getFacade()->getAll()
- );
- $this->setViewState('Calendars', $calendars);
- return $calendars;
- }
-
- private function _getCategories() {
- $categories = $this->getViewState(
- 'Categories',
- $this->getFacade()->getCategories()
- );
- $this->setViewState('Categories', $categories);
- return $categories;
- }
-
- public function editRow($sender, $param) {
- $this->Calendars->EditItemIndex = $param->Item->ItemIndex;
- $this->_rebindData();
- }
-
- private function _compileSaveData(TDataGridItem $item) {
- return [
- 'CategoryID' => $item->Category->DropDownList->SelectedValue,
- 'Visible' => $item->Visible->CheckBox->Checked,
- 'CustomName' => $item->CustomName->TextBox->SafeText,
- 'CustomUrl' => $item->CustomUrl->TextBox->SafeText,
- 'CustomImage' => $item->CustomImage->Value->SafeText
- ];
- }
-
- public function saveRow($sender, $param) {
- $calendar = $this->getFacade()->get(
- $sender->DataKeys[$param->Item->ItemIndex]
- );
- if ($calendar) {
- foreach ($calendar as $c) {
- $c->saveData($this->_compileSaveData($param->Item));
- }
- } else {
- throw new TInvalidDataValueException('Calendar not found');
- }
- $this->Calendars->EditItemIndex = -1;
- $this->_rebindData(TRUE);
- }
-
- public function cancelRowEdit($sender, $param) {
- $this->Calendars->EditItemIndex = -1;
- $this->_rebindData();
- }
-
- public function uploadRowFile($sender, $param) {
- $fileType = $sender->getFileType();
- if (preg_match('/^image\//', $fileType)) {
- $calendar = $this->getFacade()->get($sender->CustomData);
- if ($calendar) {
- $targetFile = $calendar[0]->getCustomImagePath(
- $sender->getLocalName(),
- $fileType
- );
- if ($sender->saveAs($targetFile)) {
- $sender->NamingContainer->CustomImage->Value->Text = basename(
- $targetFile
- );
- }
- } else {
- throw new TInvalidDataValueException('Calendar not found');
- }
- } else {
- throw new TInvalidDataTypeException('Invalid file type');
- }
- }
-
-}
-
-?>