Example #1
0
 public function get_items(array $args)
 {
     $this->data['title'] = sprintf('%s: Popular posts', $node = $this->request->get_node()->get_object()->title);
     midgardmvc_core::get_instance()->head->set_title($this->data['title']);
     $this->data['items'] = array_map('com_meego_planet_utils::prepare_item_for_display', com_meego_planet_utils::get_items(function ($q) {
         // Primarily order by calculated score tuned by age
         $q->add_order(new midgard_query_property('agedscore'), SORT_DESC);
         $q->set_limit(10);
     }));
     midgardmvc_core::get_instance()->head->add_link(array('rel' => 'alternate', 'type' => 'application/rss+xml', 'title' => $this->data['title'], 'href' => midgardmvc_core::get_instance()->dispatcher->generate_url('index_rss', array(), $this->request)));
     midgardmvc_core::get_instance()->head->enable_jquery();
     midgardmvc_core::get_instance()->head->enable_jquery_ui();
     midgardmvc_core::get_instance()->head->add_jsfile(MIDGARDMVC_STATIC_URL . '/com_meego_planet/vote.js');
     midgardmvc_core::get_instance()->head->add_jsfile(MIDGARDMVC_STATIC_URL . '/com_meego_planet/shorten.js');
 }
Example #2
0
 public function get_items(array $args)
 {
     $this->data['title'] = sprintf('%s: Latest posts', $node = $this->request->get_node()->get_object()->title);
     midgardmvc_core::get_instance()->head->set_title($this->data['title']);
     $this->data['items'] = array_map('com_meego_planet_utils::prepare_item_for_display', com_meego_planet_utils::get_items(function ($q) use($args) {
         // Order by publication date
         $q->add_order(new midgard_query_property('published'), SORT_DESC);
         // Handle paging
         com_meego_planet_utils::page_by_args($q, $args);
     }));
     midgardmvc_core::get_instance()->head->add_link(array('rel' => 'alternate', 'type' => 'application/rss+xml', 'title' => $this->data['title'], 'href' => midgardmvc_core::get_instance()->dispatcher->generate_url('latest_rss', array(), $this->request)));
     midgardmvc_core::get_instance()->head->enable_jquery();
     midgardmvc_core::get_instance()->head->enable_jquery_ui();
     midgardmvc_core::get_instance()->head->add_jsfile(MIDGARDMVC_STATIC_URL . '/com_meego_planet/vote.js');
     midgardmvc_core::get_instance()->head->add_jsfile(MIDGARDMVC_STATIC_URL . '/com_meego_planet/shorten.js');
 }
Example #3
0
 public static function get_items_for_feed(com_meego_planet_feed $feed)
 {
     return com_meego_planet_utils::get_items(function ($q) use($feed) {
         $q->set_constraint(new midgard_query_constraint(new midgard_query_property('feed'), '=', new midgard_query_value($feed->id)));
     }, 'com_meego_planet_item');
 }
Example #4
0
<?php

$filepath = ini_get('midgard.configuration_file');
$config = new midgard_config();
$config->read_file_at_path($filepath);
$mgd = midgard_connection::get_instance();
$mgd->open_config($config);
$basedir = dirname(__FILE__) . '/../..';
require "{$basedir}/midgardmvc_core/framework.php";
$mvc = midgardmvc_core::get_instance("{$basedir}/application.yml");
array_walk(com_meego_planet_utils::get_items(null, 'com_meego_planet_item_with_score'), function ($item) {
    $score = $item->score;
    $score += com_meego_planet_calculate::age($item->metadata->published);
    if (round($item->agedscore, 2) != round($score, 2)) {
        // FIXME: This is here until we can get QuerySelect out of read-only state
        $item = new com_meego_planet_item_with_score($item->guid);
        $transaction = new midgard_transaction();
        $transaction->begin();
        echo "Updating age score of {$item->title} to {$score}\n";
        $item->agedscore = $score;
        $item->update();
        $transaction->commit();
    }
});