Example #1
0
 /**
  * Add an object to the map
  *
  * @return boolean
  */
 function add_object($object, $icon = null)
 {
     $object_position = new org_routamc_positioning_object($object);
     $coordinates = $object_position->get_coordinates();
     if (is_null($coordinates)) {
         return false;
     }
     $marker = array();
     $marker['coordinates'] = $coordinates;
     // TODO: Use reflection to get the label property
     if (isset($object->title)) {
         $marker['title'] = $object->title;
     } elseif (isset($object->name)) {
         $marker['title'] = $object->name;
     } else {
         $marker['title'] = $object->guid;
     }
     if (isset($object->abstract)) {
         $marker['abstract'] = $object->abstract;
     }
     if (!is_null($icon)) {
         $marker['icon'] = $icon;
     }
     if (isset($object->abstract_allow_html) && $object->abstract_allow_html) {
         $marker['abstract_allow_html'] = true;
     }
     return $this->add_marker($marker);
 }
Example #2
0
?>
" href="&(main_url:h);"><img &(size_line:h); src="&(img_url:h);" title="<?php 
echo $view['title'];
?>
" alt="<?php 
echo $view['title'];
?>
" border="0"></a>
        </div>

        <div class="taken location">
            <?php 
$coordinates = null;
if ($GLOBALS['midcom_config']['positioning_enable'] && class_exists('org_routamc_positioning_object') && $data['photo']->photographer) {
    $position_object = new org_routamc_positioning_object($data['photo']);
    $coordinates = $position_object->get_coordinates($data['photo']->photographer, $data['photo']->taken);
}
if ($coordinates && $coordinates['latitude'] && $coordinates['longitude']) {
    echo sprintf($data['l10n']->get('taken on %s in %s'), strftime('%d.%m.%Y %H:%M', $data['photo']->taken), org_routamc_positioning_utils::pretty_print_location($coordinates['latitude'], $coordinates['longitude']));
} else {
    echo sprintf('Otettu %s', strftime('%d.%m.%Y %H:%M', $data['photo']->taken));
}
?>
        </div>
        <?php 
if ($data['topic']->component == 'org.routamc.gallery') {
    if ($data['topic']->component == 'org.routamc.gallery') {
        $photostream_topic = midcom_helper_find_node_by_component('org.routamc.photostream');
        if ($photostream_topic) {
            $photostream_prefix = $photostream_topic['18'];
        }
Example #3
0
 function getRecentPosts($message)
 {
     $args = $this->_params_to_args($message);
     if (count($args) != 4) {
         return new XML_RPC_Response(0, midcom_connection::get_error(), 'Invalid arguments.');
     }
     if ($args[0] != $this->_content_topic->guid) {
         return new XML_RPC_Response(0, midcom_connection::get_error(), 'Blog ID does not match this folder.');
     }
     if (!midcom::get('auth')->login($args[1], $args[2])) {
         return new XML_RPC_Response(0, midcom_connection::get_error(), 'Authentication failed.');
     }
     midcom::get('auth')->initialize();
     $response = array();
     $qb = midcom_db_article::new_query_builder();
     $qb->set_limit($args[3]);
     $qb->add_constraint('topic', '=', $this->_content_topic->id);
     $qb->add_order('metadata.published', 'DESC');
     $articles = $qb->execute();
     foreach ($articles as $article) {
         if (!$this->_datamanager->autoset_storage($article)) {
             // This article has something wrong, skip it
             continue;
         }
         $arg = $article->name ? $article->name : $article->guid;
         if ($this->_config->get('view_in_url')) {
             $link = midcom_core_context::get()->get_key(MIDCOM_CONTEXT_ANCHORPREFIX) . "view/{$arg}/";
         } else {
             $link = midcom_core_context::get()->get_key(MIDCOM_CONTEXT_ANCHORPREFIX) . "{$arg}/";
         }
         if (array_key_exists('categories', $this->_datamanager->types)) {
             $categories = $this->_datamanager->types['categories']->selection;
         } else {
             $categories = array();
         }
         $response_array = array('postid' => new XML_RPC_Value($article->guid, 'string'), 'title' => new XML_RPC_Value($article->title, 'string'), 'permaLink' => new XML_RPC_Value(midcom::get('permalinks')->create_permalink($article->guid), 'string'), 'link' => new XML_RPC_Value($link, 'string'), 'description' => new XML_RPC_Value($article->content, 'string'), 'mt_excerpt' => new XML_RPC_Value($article->abstract, 'string'), 'dateCreated' => new XML_RPC_Value(gmdate("Ymd\\TH:i:s\\Z", $article->metadata->published), 'dateTime.iso8601'), 'categories' => XML_RPC_encode($categories));
         if ($this->_positioning) {
             $object_position = new org_routamc_positioning_object($article);
             $coordinates = $object_position->get_coordinates();
             $response_array['georss:point'] = new XML_RPC_Value("{$coordinates['latitude']} {$coordinates['longitude']}", 'string');
         }
         $response[] = new XML_RPC_Value($response_array, 'struct');
     }
     return new XML_RPC_Response(new XML_RPC_Value($response, 'array'));
 }
Example #4
0
    }
}
$item->guid = midcom::get('permalinks')->create_permalink($data['article']->guid);
$item->date = (int) $data['article']->metadata->published;
$item->description = '';
if ($data['article']->abstract != '') {
    $item->description .= '<div class="abstract">' . $data['datamanager']->types['abstract']->convert_to_html() . '</div>';
}
if (array_key_exists('image', $data['datamanager']->types) && $data['config']->get('rss_use_image')) {
    $item->description .= "\n<div class=\"image\">" . $data['datamanager']->types['image']->convert_to_html() . '</div>';
}
if ($data['config']->get('rss_use_content')) {
    $item->description .= "\n" . $data['datamanager']->types['content']->convert_to_html();
}
// Replace links
$item->description = preg_replace(',<(a|link|img|script|form|input)([^>]+)(href|src|action)="/([^>"\\s]+)",ie', '"<\\1\\2\\3=\\"' . midcom::get()->get_host_name() . '/\\4\\""', $item->description);
// TODO: Figure out the RSS multi-category support for real
$categories = explode('|', $data['article']->extra1);
if (count($categories) > 1) {
    $item->category = $categories[1];
}
if ($GLOBALS['midcom_config']['positioning_enable']) {
    // Attach coordinates to the item if available
    $object_position = new org_routamc_positioning_object($data['article']);
    $coordinates = $object_position->get_coordinates();
    if (!is_null($coordinates)) {
        $item->lat = $coordinates['latitude'];
        $item->long = $coordinates['longitude'];
    }
}
$data['feedcreator']->addItem($item);