Source of file WordpressPageContentSource.php
Size: 2,274 Bytes - Last Modified: 2021-12-23T10:49:12+00:00
/var/www/docs.ssmods.com/process/src/code/sources/WordpressPageContentSource.php
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293 | <?php /** * A content source that displays all the pages attached to a wordpress blog. * * @package silverstripe-wordpressconnector */ class WordpressPageContentSource extends WordpressContentSource { private static $icon = 'wordpressconnector/images/wordpresspagesource'; public function getRoot() { return $this; } public function getObject($id) { $client = $this->getClient($id); $id = $this->decodeId($id); $page = $client->call('wp.getPage', array( $this->BlogId, $id, $this->Username, $this->Password )); if ($page) { return WordpressPageContentItem::factory($this, $page); } } public function stageChildren($showAll = false) { return $this->getPagesByParentId(0); } public function allowedImportTargets() { return array('sitetree' => true); } public function getCMSFields() { $fields = parent::getCMSFields(); $fields->addFieldsToTab('Root.Import', array( new CheckboxField('ImportMedia', 'Import and rewrite references to wordpress media?', true), new TextField('AssetsPath', 'Upload wordpress files to', 'Uploads/Wordpress') )); return $fields; } /** * Gets all the page content items that sit under a parent ID. * * @param int $parent * @return ArrayList */ public function getPagesByParentId($parent) { $result = new ArrayList(); if (!$this->isValid()) { return $result; } try { $client = $this->getClient(); $pages = $client->call('wp.getPages', array( $this->BlogId, $this->Username, $this->Password )); } catch (Zend_Exception $exception) { SS_Log::log($exception, SS_Log::ERR); return new ArrayList(); } foreach ($pages as $page) { if ($page['wp_page_parent_id'] == $parent) { $result->push(WordpressPageContentItem::factory($this, $page)); } } return $result; } public function canCreate($member = null) { return true; } } |