public static function export(Tiki_Profile_Writer $writer, $forumId) { $forumlib = TikiLib::lib('comments'); if (!($info = $forumlib->get_forum($forumId))) { return false; } $writer->addObject('forum', $forumId, array('name' => $info['name'], 'description' => $info['description'], 'enable_flood_control' => $info['controlFlood'], 'flood_interval' => $info['floodInterval'], 'moderator' => $info['moderator'], 'mail' => $info['mail'], 'enable_inbound_mail' => $info['useMail'], 'section' => $info['section'], 'enable_prune_unreplied' => $info['usePruneUnreplied'], 'prune_unreplied_max_age' => $info['pruneUnrepliedAge'], 'enable_prune_old' => $info['usePruneOld'], 'prune_max_age' => $info['pruneMaxAge'], 'per_page' => $info['topicsPerPage'], 'topic_order' => $info['topicOrdering'], 'thread_order' => $info['threadOrdering'], 'attachments' => self::getAttConverter()->reverse($info['att']), 'attachments_store' => $info['att_store'], 'attachments_store_dir' => $info['att_store_dir'], 'attachments_max_size' => $info['att_max_size'], 'list_att_nb' => $info['att_list_nb'], 'enable_ui_level' => $info['ui_level'], 'enable_password_protection' => $info['forum_use_password'], 'forum_password' => $info['forum_password'], 'moderator_group' => $info['moderator_group'], 'approval_type' => $info['approval_type'], 'outbound_address' => $info['outbound_address'], 'enable_outbound_for_inbound' => $info['outbound_mails_for_inbound_mails'], 'enable_outbound_mail_reply_link' => $info['outbound_mails_reply_link'], 'outbound_from' => $info['outbound_from'], 'inbound_pop_server' => $info['inbound_pop_server'], 'inbound_pop_port' => $info['inbound_pop_port'], 'inbound_pop_user' => $info['inbound_pop_user'], 'inbound_pop_password' => $info['inbound_pop_password'], 'enable_topic_smiley' => $info['topic_smileys'], 'enable_ui_avatar' => $info['ui_avatar'], 'enable_ui_rating_choice_topic' => $info['ui_rating_choice_topic'], 'enable_ui_flag' => $info['ui_flag'], 'enable_ui_posts' => $info['ui_posts'], 'enable_ui_email' => $info['ui_email'], 'enable_ui_online' => $info['ui_online'], 'enable_topic_summary' => $info['topic_summary'], 'show_description' => $info['show_description'], 'list_topic_replies' => $info['topics_list_replies'], 'list_topic_reads' => $info['topics_list_reads'], 'list_topic_points' => $info['topics_list_pts'], 'list_topic_last_post' => $info['topics_list_lastpost'], 'list_topic_last_post_title' => $info['topics_list_lastpost_title'], 'list_topic_last_post_avatar' => $info['topics_list_lastpost_avatar'], 'list_topic_author_avatar' => $info['topics_list_author_avatar'], 'list_topic_author' => $info['topics_list_author'], 'enable_vote_threads' => $info['vote_threads'], 'forum_last_n' => $info['forum_last_n'], 'thread_style' => $info['threadStyle'], 'comments_per_page' => $info['commentsPerPage'], 'is_flat' => $info['is_flat'])); return true; }
public static function export(Tiki_Profile_Writer $writer, $topicId) { $artlib = TikiLib::lib('art'); $info = $artlib->get_topic($topicId); if ($info) { $writer->addObject('article_topic', $topicId, array('name' => $info['name'])); return true; } return false; }
public static function export(Tiki_Profile_Writer $writer, $id) { if (is_array($id)) { $info = $id; } else { $ratingconfiglib = TikiLib::lib('ratingconfig'); $info = $ratingconfiglib->get_configuration($id); } if (!$info) { return false; } $writer->addObject('rating_config', $info['ratingConfigId'], array('name' => $info['name'], 'expiry' => $info['expiry'], 'formula' => $info['formula'])); return true; }
public static function export(Tiki_Profile_Writer $writer, $id) { $rsslib = TikiLib::lib('rss'); $info = $rsslib->get_rss_module($id); if (!$info) { return false; } $out = array('name' => $info['name'], 'url' => $info['url'], 'description' => $info['description'], 'refresh' => $info['refresh'], 'show_title' => $info['showTitle'], 'show_publication_date' => $info['showPubDate']); $out = array_filter($out); $generator = $rsslib->get_article_generator($id); if ($generator['active']) { $generator['atype'] = $writer->getReference('article_type', $generator['atype']); if ($generator['topic']) { $generator['topic'] = $writer->getReference('article_topic', $generator['topic']); } $out['article_generator'] = $generator; } $writer->addObject('rss', $id, $out); return true; }
public static function export(Tiki_Profile_Writer $writer, $typeName) { $artlib = TikiLib::lib('art'); $info = $artlib->get_type($typeName); if (!$info) { return false; } $out = array('name' => $info['type'], 'allow' => array(), 'show' => array()); $map = array('use_ratings' => 'allow_ratings', 'show_pre_publ' => 'show_pre_publication', 'heading_only' => 'show_heading_only', 'comment_can_rate_article' => 'allow_comments_rating_article', 'show_pubdate' => 'show_publication_date', 'show_expdate' => 'show_expiration_date', 'show_linkto' => 'show_link_to', 'creator_edit' => 'allow_creator_edit'); foreach ($info as $key => $value) { if (isset($map[$key])) { $key = $map[$key]; } if ($value == 'y' && substr($key, 0, 5) == 'show_') { $out['show'][] = substr($key, 5); } elseif ($value == 'y' && substr($key, 0, 6) == 'allow_') { $out['allow'][] = substr($key, 6); } } $out = array_filter($out); $writer->addObject('article_type', $info['type'], $out); return true; }
public static function export(Tiki_Profile_Writer $writer, $categId, $deep, $includeObjectCallback) { $categlib = TikiLib::lib('categ'); if (!($info = $categlib->get_category($categId))) { return false; } $items = array(); foreach ($categlib->get_category_objects($categId) as $row) { if ($includeObjectCallback($row['type'], $row['itemId'])) { $items[] = array($row['type'], $writer->getReference($row['type'], $row['itemId'])); } } $data = array('name' => $info['name']); if (!empty($info['parentId'])) { $data['parent'] = $writer->getReference('category', $info['parentId']); } if (!empty($items)) { $data['items'] = $items; } $writer->addObject('category', $categId, $data); if ($deep) { $descendants = $categlib->get_category_descendants($categId); array_shift($descendants); foreach ($descendants as $children) { self::export($writer, $children, $deep, $includeObjectCallback); } } return true; }
function export(Tiki_Profile_Writer $writer, $trackerId) { $trklib = TikiLib::lib('trk'); $info = $trklib->get_tracker($trackerId); if (!$info) { return false; } if ($options = $trklib->get_tracker_options($trackerId)) { $info = array_merge($info, $options); } $data = array('name' => $info['name'], 'description' => $info['description']); $optionMap = array_flip(self::getOptionMap()); $defaults = self::getDefaults(); $conversions = self::getOptionConverters(); $allow = array(); $show = array(); foreach ($info as $key => $value) { if (empty($optionMap[$key])) { continue; } $optionKey = $optionMap[$key]; $default = ''; if (isset($defaults[$optionKey])) { $default = $defaults[$optionKey]; } if ($value != $default) { if (strstr($optionKey, 'allow_')) { $allow[] = str_replace('allow_', '', $optionKey); } elseif (strstr($optionKey, 'show_')) { $show[] = str_replace('show_', '', $optionKey); } else { if (isset($conversions[$optionKey]) && method_exists($conversions[$optionKey], 'reverse')) { $data[$optionKey] = $conversions[$optionKey]->reverse($value); } else { $data[$optionKey] = $value; } } } } if (!empty($allow)) { $data['allow'] = $allow; } if (!empty($show)) { $data['show'] = $show; } $fieldReferences = array(); foreach (array('sort_default_field', 'popup_fields') as $key) { if (isset($data[$key])) { $fieldReferences[$key] = $data[$key]; unset($data[$key]); } } $reference = $writer->addObject('tracker', $trackerId, $data); $fields = $trklib->list_tracker_fields($trackerId); foreach ($fields['data'] as $field) { $writer->pushReference("{$reference}_{$field['permName']}"); Tiki_Profile_InstallHandler_TrackerField::export($writer, $field); } foreach (array_filter($fieldReferences) as $key => $value) { $value = preg_replace_callback('/(\\d+)/', function ($match) use($writer) { return $writer->getReference('tracker_field', $match[1]); }, $value); $writer->pushReference("{$reference}_{$key}"); $writer->addObject('tracker_option', "{$key}-{$trackerId}", array('tracker' => $writer->getReference('tracker', $trackerId), 'name' => $key, 'value' => $value)); } return true; }
public static function export(Tiki_Profile_Writer $writer, $page) { $tikilib = \TikiLib::lib('tiki'); if (!($info = $tikilib->get_page_info($page))) { return false; } $writer->writeExternal($page, $writer->getReference('wiki_content', $info['data'])); $writer->addObject('wiki_page', $page, array('name' => $page, 'content' => "wikicontent:{$page}", 'description' => $info['description'], 'lang' => $info['lang'])); return true; }
public static function export(Tiki_Profile_Writer $writer, $galId, $withParents = false, $deep = false) { $filegallib = TikiLib::lib('filegal'); $info = $filegallib->get_file_gallery_info($galId); $default = $filegallib->default_file_gallery(); if (!$info) { return false; } $out = array('name' => $info['name'], 'visible' => $info['visible']); if ($info['parentId'] > 3) { // up to 3, standard/default galleries $out['parent'] = $writer->getReference('file_gallery', $info['parentId']); } else { $out['parent'] = $info['parentId']; } // Include any simple field whose value is different from the default $simple = array('description', 'public', 'type', 'lockable', 'archives', 'quota', 'image_max_size_x', 'image_max_size_y', 'backlinkPerms', 'wiki_syntax', 'sort_mode', 'maxRows', 'max_desc', 'subgal_conf', 'default_view', 'template'); foreach ($simple as $field) { if ($info[$field] != $default[$field]) { $out[$field] = $info[$field]; } } $popup = array(); $column = array(); foreach ($info as $field => $value) { if (isset($default[$field]) && $value == $default[$field]) { continue; // Skip default values } if (substr($field, 0, 5) == 'show_') { $short = substr($field, 5); if ($value == 'a' || $value == 'o') { $popup[] = $short; } if ($value == 'a' || $value == 'y') { $column[] = $short; } } } if (!empty($popup)) { $out['popup'] = $popup; } if (!empty($column)) { $out['column'] = $column; } $writer->addObject('file_gallery', $galId, $out); if ($deep) { $table = $filegallib->table('tiki_file_galleries'); $children = $table->fetchColumn('galleryId', array('parentId' => $galId)); foreach ($children as $id) { self::export($writer, $id, false, $deep); } } if ($withParents && $info['parentId'] > 3) { self::export($writer, $info['parentId'], $withParents, false); } return true; }
static function export(Tiki_Profile_Writer $writer, $field) { if (!is_array($field)) { $trklib = TikiLib::lib('trk'); $field = $trklib->get_tracker_field($field); if (!$field) { return false; } } $factory = new Tracker_Field_Factory(); $fieldInfo = $factory->getFieldInfo($field['type']); $options = Tracker_Options::fromSerialized($field['options'], $fieldInfo); $optionsData = array_filter($options->getAllParameters()); foreach ($optionsData as $key => $value) { $paramInfo = $options->getParamDefinition($key); if (isset($paramInfo['profile_reference'])) { $optionsData[$key] = $writer->getReference($paramInfo['profile_reference'], $value); } } $data = array('name' => $field['name'], 'permname' => $field['permName'], 'tracker' => $writer->getReference('tracker', $field['trackerId']), 'options' => $optionsData); $optionMap = array_flip(self::getOptionMap()); $defaults = self::getDefaultValues(); $conversions = self::getConverters(); $flag = array(); foreach ($field as $key => $value) { if (empty($optionMap[$key])) { continue; } $optionKey = $optionMap[$key]; $default = ''; if (isset($defaults[$optionKey])) { $default = $defaults[$optionKey]; } if ($value != $default) { if (in_array($optionKey, array('list', 'link', 'searchable', 'public', 'mandatory', 'multilingual'))) { if (!empty($value)) { $flag[] = $optionKey; } } elseif (!empty($conversions[$optionKey])) { $reverseVal = $conversions[$optionKey]->reverse($value); $data[$optionKey] = $reverseVal; } else { $data[$optionKey] = $value; } } } if (!empty($flag)) { $data['flags'] = $flag; } $writer->addObject('tracker_field', $field['fieldId'], $data); return true; }
public static function export(Tiki_Profile_Writer $writer, $menuId) { $menulib = TikiLib::lib('menu'); $menu = $menulib->get_menu($menuId); if (!$menu) { return false; } $options = $menulib->list_menu_options($menuId, 0, -1, 'position_asc', '', true, 0, true); $menu['items'] = array_map(function ($entry) use($writer) { unset($entry['menuId']); unset($entry['optionId']); if ($entry['perm']) { $entry['permissions'] = array($entry['perm']); } return $entry; }, $options['data']); $writer->addObject('menu', $menuId, $menu); return true; }