/** * Display dashboard * * @return array */ public function indexAction() { $data = array(); $data['version'] = Version::VERSION; $data['versionIsLatest'] = Version::isLatest(); $data['versionLatest'] = Version::getLatest(); $documents = new Collection(); $contentStats = array(); $contentStats['online_documents'] = array('count' => count($documents->getAvailableDocuments()), 'label' => 'Online documents', 'route' => 'content'); $contentStats['total_documents'] = array('count' => count($documents->select()->toArray()), 'label' => 'Total documents', 'route' => 'content'); $data['contentStats'] = $contentStats; $visitorModel = new Visitor(); $data['userStats'] = array('total_visitors' => array('count' => $visitorModel->getTotalVisitors(), 'label' => 'Total visitors', 'route' => 'statistics'), 'total_visits' => array('count' => $visitorModel->getTotalPageViews(), 'label' => 'Total page views', 'route' => 'statistics')); $coreConfig = $this->getServiceLocator()->get('CoreConfig'); $widgets = @unserialize($coreConfig->getValue('dashboard_widgets')); $data['dashboardSortable'] = !empty($widgets['sortable']) ? Json::encode($widgets['sortable']) : '{}'; $data['dashboardWelcome'] = !empty($widgets['welcome']); $data['customeWidgets'] = array(); $this->events()->trigger(__CLASS__, 'dashboard', $this, array('widgets' => &$data['customeWidgets'])); return $data; }
/** * Load Document data * * @return string */ public function createDocument() { $documents = new Document\Collection(); $rows = $documents->fetchAll($documents->select(function ($select) { $select->order('sort_order ASC'); $select->order('created_at ASC'); })); if (empty($rows)) { return ''; } $documentArray = array(); foreach ($rows as $row) { $documentArray[] = Document\Model::fromArray((array) $row); } $propertiyCollection = new Property\Collection(); foreach ($documentArray as $document) { $array = array(); $properties = $propertiyCollection->load(null, null, $document->getId())->getProperties(); foreach ($properties as $property) { $value = $property->getValueModel()->getValue(); $property->getValueModel()->setValue(base64_encode($value)); $array[] = $property->getValueModel(); } $document->setProperties($array); } return $documents->toXml($documentArray, 'documents'); }