/** * getFieldValues */ public function getValues() { $values = array('title' => $this->table->getTitle(), 'add_perm' => $this->table->getAddPerm(), 'edit_perm' => $this->table->getEditPerm(), 'delete_perm' => $this->table->getDeletePerm(), 'edit_by_owner' => $this->table->getEditByOwner(), 'export_enabled' => $this->table->getExportEnabled(), 'limited' => $this->table->getLimited(), 'limit_start' => array("date" => substr($this->table->getLimitStart(), 0, 10), "time" => substr($this->table->getLimitStart(), -8)), 'limit_end' => array("date" => substr($this->table->getLimitEnd(), 0, 10), "time" => substr($this->table->getLimitEnd(), -8)), 'is_visible' => $this->table->getIsVisible(), 'default_sort_field' => $this->table->getDefaultSortField(), 'default_sort_field_order' => $this->table->getDefaultSortFieldOrder(), 'description' => $this->table->getDescription(), 'public_comments' => $this->table->getPublicCommentsEnabled(), 'view_own_records_perm' => $this->table->getViewOwnRecordsPerm()); if (!$this->table->getLimitStart()) { $values['limit_start'] = NULL; } if (!$this->table->getLimitEnd()) { $values['limit_end'] = NULL; } $this->form->setValuesByArray($values); }
/** * getFieldValues */ public function getValues() { $values = array('title' => $this->table->getTitle(), 'add_perm' => $this->table->getAddPerm(), 'edit_perm' => $this->table->getEditPerm(), 'delete_perm' => $this->table->getDeletePerm(), 'edit_by_owner' => $this->table->getEditByOwner(), 'export_enabled' => $this->table->getExportEnabled(), 'limited' => $this->table->getLimited(), 'limit_start' => array("date" => substr($this->table->getLimitStart(), 0, 10), "time" => substr($this->table->getLimitStart(), -8)), 'limit_end' => array("date" => substr($this->table->getLimitEnd(), 0, 10), "time" => substr($this->table->getLimitEnd(), -8)), 'is_visible' => $this->table->getIsVisible(), 'description' => $this->table->getDescription()); if (!$this->table->getLimitStart()) { $values['limit_start'] = NULL; } if (!$this->table->getLimitEnd()) { $values['limit_end'] = NULL; } $this->form->setValuesByArray($values); }
/** * Export DC as Excel sheet * */ public function exportExcel() { global $ilCtrl, $lng; if (!($this->table_obj->getExportEnabled() || $this->table_obj->hasPermissionToFields($this->parent_obj->ref_id))) { echo $lng->txt("access_denied"); exit; } require_once './Modules/DataCollection/classes/class.ilDataCollectionRecordListTableGUI.php'; $list = new ilDataCollectionRecordListTableGUI($this, $ilCtrl->getCmd(), $this->table_obj); $list->setRecordData($this->table_obj->getRecordsByFilter($list->getFilter())); $list->setExternalSorting(true); if (!$list->dataExists()) { $this->ctrl->redirect($this->parent_obj); } $list->exportData(ilTable2GUI::EXPORT_EXCEL, true); }
/** * @param ilDataCollectionTable $original */ public function cloneStructure(ilDataCollectionTable $original) { $this->setTitle($original->getTitle()); $this->setDescription($original->getDescription()); $this->setIsVisible($original->getIsVisible()); $this->setEditByOwner($original->getEditByOwner()); $this->setAddPerm($original->getAddPerm()); $this->setEditPerm($original->getEditPerm()); $this->setDeletePerm($original->getDeletePerm()); $this->setLimited($original->getLimited()); $this->setLimitStart($original->getLimitStart()); $this->setLimitEnd($original->getLimitEnd()); $this->setViewOwnRecordsPerm($original->getViewOwnRecordsPerm()); $this->setExportEnabled($original->getExportEnabled()); $this->setPublicCommentsEnabled($original->getPublicCommentsEnabled()); $this->setDefaultSortFieldOrder($original->getDefaultSortFieldOrder()); $this->doCreate(); // reset stdFields to get new for the created object $default_sort_field = 0; // Clone standard-fields $org_std_fields = $original->getStandardFields(); foreach ($this->getStandardFields() as $element_key => $std_field) { $std_field->cloneStructure($org_std_fields[$element_key]); if ($std_field->getId() == $original->getDefaultSortField()) { $default_sort_field = $std_field->getId(); } } // Clone fields $new_fields = array(); foreach ($original->getFields() as $orig_field) { if (!$orig_field->isStandardField()) { $new_field = new ilDataCollectionField(); $new_field->setTableId($this->getId()); $new_field->cloneStructure($orig_field->getId()); $new_fields[$orig_field->getId()] = $new_field; if ($orig_field->getId() == $original->getDefaultSortField()) { $default_sort_field = $new_field->getId(); } } } $this->setDefaultSortField($default_sort_field); $this->doUpdate(); //TODO: Find better way to copy data (include referenced data) // Clone Records with recordfields /*foreach($original->getRecords() as $orig_record){ $new_record = new ilDataCollectionRecord(); $new_record->setTableId($this->getId()); $new_record->cloneStructure($orig_record->getId(), $new_fields); }*/ if ($old_view_id = ilDataCollectionRecordViewViewdefinition::getIdByTableId($original->getId())) { $old_view = new ilDataCollectionRecordViewViewdefinition($old_view_id); $old_view->setTableId($original->getId()); $viewdef = new ilDataCollectionRecordViewViewdefinition(); $viewdef->setTableId($this->id); $viewdef->setXMLContent($old_view->getXMLContent(false)); $viewdef->create(); } }