private static function ItemMetadata($itemid) { ob_start(); /* @var $item Marker */ if ($itemid instanceof Marker) { $item = $itemid; } else { $item = MapController::LoadMapItem($itemid); } Scaffold('article.mapitem', array('item' => $item, 'imageThumb' => array(250, 210), 'maxImages' => 1, 'schema' => array('link' => 'itemprop="map"'), 'showStaticMap' => false), Core::Get('Maps')->getScaffoldsPath()); $article = ob_get_contents(); ob_end_clean(); // return array( // 'html' => $article // ); $layer = null; foreach (GeoliveHelper::VisibleLayers() as $l) { if ($l->getId() == $item->getLayerId()) { $layer = $l; } } $data = AttributesRecord::Get($item->getId(), 'marker', GeoliveHelper::AttributeTableMetadata()); if (trim(strtolower($data['tentSites'])) == 'unknown') { $data['tentSites'] = '?'; } return array('html' => $article, 'details' => array('coordinates' => $item->getCoordinates(), 'layer' => $layer->getName(), 'icon' => $item->getIcon()), 'attributes' => $data); }
<?php // decide whether to archive or unarchive if (!empty($eventArgs)) { Core::LoadPlugin('Attributes'); Core::LoadPlugin('Maps'); $marker = MapController::LoadMapItem($eventArgs->mapitem); $tableMetadata = AttributesTable::GetMetadata('markerAttributes'); $values = AttributesRecord::GetFields($marker->getId(), $marker->getType(), 'sessionDate', $tableMetadata); $sessionDate = $values['sessionDate']; $date = strtotime($sessionDate); $limit = time() - 30 * 24 * 3600; // Unarchive items without data, or within date range if (empty($sessionDate) || $date > $limit) { file_put_contents(__DIR__ . DS . '.custom.log', 'detect revive (' . $marker->getId() . ': ' . $sessionDate . ')' . "\n\n", FILE_APPEND); Core::Emit('custom.revive', $eventArgs); } else { file_put_contents(__DIR__ . DS . '.custom.log', 'detect expire (' . $marker->getId() . ': ' . $sessionDate . ')' . "\n\n", FILE_APPEND); Core::Emit('custom.expire', $eventArgs); } }