diff options
author | Maurice Svay <maurice@svay.com> | 2012-03-06 18:16:00 +0100 |
---|---|---|
committer | Maurice Svay <maurice@svay.com> | 2012-03-07 22:18:57 +0100 |
commit | 5d21ae32ac5141cc824946b149f50a461db09597 (patch) | |
tree | 8918d6f9c424f87335d0b5243d1f288f1f7011e4 /app/classes/Planet.class.php | |
parent | 95c72062ca5cfed6bea4cd17cb69003d5b651e62 (diff) | |
download | planet-5d21ae32ac5141cc824946b149f50a461db09597.tar planet-5d21ae32ac5141cc824946b149f50a461db09597.tar.gz planet-5d21ae32ac5141cc824946b149f50a461db09597.tar.bz2 planet-5d21ae32ac5141cc824946b149f50a461db09597.tar.xz planet-5d21ae32ac5141cc824946b149f50a461db09597.zip |
One file per class
Diffstat (limited to 'app/classes/Planet.class.php')
-rw-r--r-- | app/classes/Planet.class.php | 166 |
1 files changed, 5 insertions, 161 deletions
diff --git a/app/classes/Planet.class.php b/app/classes/Planet.class.php index ab741e9..f327fd9 100644 --- a/app/classes/Planet.class.php +++ b/app/classes/Planet.class.php @@ -29,162 +29,6 @@ NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-include(dirname(__FILE__).'/../lib/lib.opml.php');
-include(dirname(__FILE__).'/../lib/simplepie/simplepie.inc');
-include(dirname(__FILE__).'/../lib/spyc-0.5/spyc.php');
-
-/**
- * Planet configuration class
- */
-class PlanetConfig{
- var $conf;
-
- function __construct($array){
- $defaultConfig = Array(
- 'url' => 'http://www.example.com/',
- 'name' => '',
- 'items' => 10,
- 'shuffle' => 0,
- 'refresh' => 240,
- 'cache' => 10,
- 'nohtml' => 0,
- 'postmaxlength' => 0,
- 'cachedir' => './cache'
- );
-
- //User config
- $this->conf = $array;
-
- //Complete config with default config
- foreach ($defaultConfig as $key => $value){
- if (!isset($this->conf[$key])){
- $this->conf[$key] = $value;
- }
- }
- }
-
- function getUrl(){
- return $this->conf['url'];
- }
-
- function getName(){
- return $this->conf['name'];
- }
-
- function setName($name){
- $this->conf['name'] = $name;
- }
-
- function getCacheTimeout(){
- return $this->conf['refresh'];
- }
-
- function getOutputTimeout(){
- return $this->conf['cache'];
- }
-
- //@TODO: drop this pref
- function getShuffle(){
- return $this->conf['shuffle'];
- }
-
- function getMaxDisplay(){
- return $this->conf['items'];
- }
-
- //@TODO: drop this pref
- function getNoHTML(){
- return $this->conf['nohtml'];
- }
-
- //@TODO: drop this pref
- function getPostMaxLength(){
- return $this->conf['postmaxlength'];
- }
-
- function toYaml(){
- return Spyc::YAMLDump($this->conf,4);
- }
-}
-
-/**
- * Planet person
- */
-class PlanetPerson extends SimplePie{
- var $name;
- var $feed;
- var $website;
-
- function __construct($name, $feed, $website){
- $this->name = $name;
- $this->feed = $feed;
- $this->website = $website;
- parent::__construct();
- $this->set_item_class('PlanetItem');
- $this->set_cache_location(dirname(__FILE__).'/../../cache');
- $this->set_autodiscovery_level(SIMPLEPIE_LOCATOR_NONE);
- $this->set_feed_url($this->getFeed());
- $this->set_timeout(5);
- $this->set_stupidly_fast(true);
- }
-
- function getFeed(){
- return $this->feed;
- }
-
- function getName(){
- return $this->name;
- }
-
- function getWebsite(){
- return $this->website;
- }
-
- function compare($person1, $person2){
- return strcasecmp($person1->name, $person2->name);
- }
-}
-
-/**
- * Planet item
- */
-class PlanetItem{
- function __construct($feed, $data){
- parent::SimplePie_Item($feed, $data);
- }
-
- function compare($item1, $item2){
- $item1_date = $item1->get_date('U');
- $item2_date = $item2->get_date('U');
- if ($item1_date == $item2_date){
- return 0;
- }
- else if ($item1_date < $item2_date){
- return 1;
- }
- return -1;
- }
-}
-
-class PlanetError {
- var $level;
- var $message;
-
- function __construct($level, $message) {
- $this->level = (int) $level;
- $this->message = $message;
- }
-
- function toString($format = '%1$s : %2$s') {
- $levels = array(
- 1 => "notice",
- 2 => "warning",
- 3 => "error"
- );
- return sprintf($format, $levels[$this->level], $this->message);
- }
-}
-
/**
* Planet, main app class
*/
@@ -218,11 +62,11 @@ class Planet{ }
/**
- * Adds a person to the planet
- * @param PlanetPerson person
+ * Adds a feed to the planet
+ * @param PlanetFeed feed
*/
- function addPerson(&$person) {
- $this->people[] = $person;
+ function addPerson(&$feed) {
+ $this->people[] = $feed;
}
/**
@@ -238,7 +82,7 @@ class Planet{ $opml_people = $opml->getPeople();
foreach ($opml_people as $opml_person){
$this->addPerson(
- new PlanetPerson(
+ new PlanetFeed(
$opml_person['name'],
$opml_person['feed'],
$opml_person['website']
|