| Current Path : /home/z/i/e/zieirix/www/components/com_roksprocket/lib/RokSprocket/Provider/ |
| Current File : /home/z/i/e/zieirix/www/components/com_roksprocket/lib/RokSprocket/Provider/Wordpress.php |
<?php
/**
* @version $Id: Wordpress.php 28975 2015-10-12 19:02:27Z jakub $
* @author RocketTheme http://www.rockettheme.com
* @copyright Copyright (C) 2007 - 2020 RocketTheme, LLC
* @license http://www.gnu.org/licenses/gpl-2.0.html GNU/GPLv2 only
*/
class RokSprocket_Provider_Wordpress extends RokSprocket_Provider_AbstarctWordpressBasedProvider
{
/**
* @static
* @return bool
*/
public static function isAvailable()
{
if (class_exists('WP_Widget')) {
return true;
} else {
return false;
}
}
/**
* @param array $filters
* @param array $sort_filters
*/
public function __construct($filters = array(), $sort_filters = array())
{
parent::__construct('wordpress');
$this->setFilterChoices($filters, $sort_filters);
}
/**
* @param $raw_item
* @param int $dborder
*
* @return \RokSprocket_Item
*/
protected function convertRawToItem($raw_item, $dborder = 0)
{
$item = new RokSprocket_Item();
$item->setProvider($this->provider_name);
$item->setId($raw_item->post_id);
$item->setAlias($raw_item->post_name);
$item->setAuthor(($raw_item->display_name) ? $raw_item->display_name : $raw_item->user_nicename);
$item->setTitle($raw_item->post_title);
$item->setDate($raw_item->post_date);
$item->setPublished(($raw_item->post_status == "publish") ? true : false);
$text = apply_filters( 'widget_text', empty( $raw_item->post_content) ? '' :$raw_item->post_content);
$item->setText(strip_shortcodes($text));
$item->setCategory($raw_item->categories);
$item->setHits(null);
$item->setRating(null);
$item->setMetaKey(null);
$item->setMetaDesc(null);
$item->setMetaData(null);
//Set up texts array
$texts = array();
$texts['text_post_content'] = $raw_item->post_content;
$texts['text_post_excerpt'] = $raw_item->post_excerpt;
$texts['text_post_title'] = $raw_item->post_title;
$texts = $this->processPlugins($texts);
$item->setTextFields($texts);
//set up images array
$images = array();
if (isset($raw_item->thumbnail_id) && !empty($raw_item->thumbnail_id)) {
$image = new RokSprocket_Item_Image();
$image->setSource(wp_get_attachment_url($raw_item->thumbnail_id));
$image->setIdentifier('image_thumbnail');
if(isset($raw_item->image_intro_caption)) $image->setCaption($raw_item->image_intro_caption);
if(isset($raw_item->image_intro_alt)) $image->setAlttext($raw_item->image_intro_alt);
$images[$image->getIdentifier()] = $image;
}
$item->setImages($images);
if(isset($images['image_thumbnail'])) $item->setPrimaryImage($images['image_thumbnail']);
//set up links array
$links = array();
$item->setLinks($links);
$primary_link = new RokSprocket_Item_Link();
$primary_link->setUrl(get_permalink($raw_item->post_id));
$primary_link->getIdentifier('article_link');
$item->setPrimaryLink($primary_link);
$item->setCommentCount($raw_item->comment_count);
if (!empty($raw_item->tags)) {
$item->setTags($raw_item->tags);
}
$item->setDbOrder($dborder);
return $item;
}
/**
* @param $id
*
* @return string
*/
protected function getArticleEditUrl($id)
{
return admin_url('post.php?post='.$id.'&action=edit');
}
/**
* @return array the array of image type and label
*/
public static function getImageTypes()
{
return array();
}
/**
* @return array the array of link types and label
*/
public static function getLinkTypes()
{
return array();
}
/**
* @return array the array of link types and label
*/
public static function getTextTypes()
{
$list = array(
'text_post_content' => array('group' => null, 'display' => 'Post Content'),
'text_post_excerpt' => array('group' => null, 'display' => 'Post Excerpt'),
'text_post_title' => array('group' => null, 'display' => 'Post Title'),
);
return $list;
}
}