/** * 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); }
echo $view['description']; ?> " 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'];
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')); }
} } $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);
/** * Populates appropriate metadata into XHTML documents based on metadata information * available to MidCOM for the request. */ function populate_meta_head() { // Populate the request metadata into view $request_metadata = $this->get_request_metadata(); // HTML generator information midcom::get('head')->add_meta_head(array('name' => 'generator', 'content' => 'Midgard/' . mgd_version() . ' MidCOM/' . midcom::get_version() . ' PHP/' . phpversion())); // PermaLink into machine-detectable format midcom::get('head')->add_link_head(array('rel' => 'bookmark', 'href' => $request_metadata['permalink'])); // Last revision time for the entire page if ($request_metadata['lastmodified']) { midcom::get('head')->add_meta_head(array('name' => 'lastupdated', 'content' => @gmdate('Y-m-d H:i:s\\Z', $request_metadata['lastmodified']))); } // If an object has been bound we have more information available $view_metadata = $this->get_view_metadata(); if ($view_metadata) { foreach ($GLOBALS['midcom_config']['metadata_head_elements'] as $property => $metatag) { $content = $view_metadata->get($property); if ($content) { // Handle date fields switch ($property) { case 'published': case 'created': case 'revised': case 'approved': case 'locked': $content = gmdate('Y-m-d', (int) $content); break; } midcom::get('head')->add_meta_head(array('name' => $metatag, 'content' => $content)); } } // TODO: Add support for tags here if ($GLOBALS['midcom_config']['metadata_opengraph']) { $this->_add_opengraph_metadata($view_metadata); } if ($GLOBALS['midcom_config']['positioning_enable']) { // Load the positioning library midcom::get('componentloader')->load_library('org.routamc.positioning'); // Display position metadata $object_position = new org_routamc_positioning_object($view_metadata->object); $object_position->set_metadata(); } } }
echo "DTSTART;TZID=Europe/Helsinki:" . date('Ymd\\THis', strtotime($event->start)) . "\n"; echo "DTEND;TZID=Europe/Helsinki:" . date('Ymd\\THis', strtotime($event->end)) . "\n"; } echo "SUMMARY:" . $event->title . "\n"; echo "DESCRIPTION:" . $content . "\n"; // echo "URL:" . $_MIDCOM->permalinks->create_permalink($event->guid) . "\n"; echo "URL:" . $url_prefix . $event->guid . '/' . "\n"; $location = ''; if ($event->eventslocation != 0) { $eventlocation = new fi_kilonkipinat_events_location_dba($event->eventslocation); $location = $eventlocation->title; } else { if ($event->locationvisibility == FI_KILONKIPINAT_EVENTS_EVENT_LOCATION_VISIBILITY_PUBLIC) { $location_object = $event; if (class_exists('org_routamc_positioning_object')) { $object_position = new org_routamc_positioning_object($location_object); $location_object = $object_position->seek_location_object(); if ($location_object) { if ($location_object->street && strlen($location_object->street) > 0) { $location .= $location_object->street; } if ($location_object->postalcode && strlen($location_object->postalcode) > 0) { if ($location != '') { $location .= ', ' . $location_object->postalcode; } else { $location .= $location_object->postalcode; } } if ($location_object->region && strlen($location_object->region) > 0) { if ($location != '') { $location .= ', ' . $location_object->region;