tra('Category Orphans'), 'documentation' => 'PluginCatOrphans', 'description' => tra('List objects that are not categorized'), 'prefs' => [ 'feature_categories', 'wikiplugin_catorphans' ], 'iconname' => 'structure', 'introduced' => 1, 'params' => [ 'objects' => [ 'required' => false, 'name' => tra('Object'), 'description' => tr('Determine which type of objects are shown (default is %0)', 'wiki'), 'since' => '1', 'default' => 'wiki', 'filter' => 'text', 'options' => [ ['text' => tra('Wiki Pages'), 'value' => 'wiki'], ['text' => tra('File Galleries'), 'value' => 'file gallery'], ['text' => tra('Articles'), 'value' => 'article'], ['text' => tra('Trackers'), 'value' => 'tracker'], ['text' => tra('Blogs'), 'value' => 'blog'], ['text' => tra('Calendars'), 'value' => 'calendar'], ['text' => tra('Forums'), 'value' => 'forum'], ] ], 'max' => [ 'required' => false, 'name' => tra('Max'), 'description' => tr('Maximum number of items. Use %0 for unlimited. Default is the site admin setting for maximum records.', '-1'), 'since' => '1', 'default' => '$prefs[\'maxRecords\']', 'filter' => 'int', ], 'offset' => [ 'required' => false, 'name' => tra('Result Offset'), 'description' => tra('Result number at which the listing should start (default is no offset)'), 'since' => '1', 'default' => 0, 'filter' => 'int', ], ], ]; } function wikiplugin_catorphans($data, $params) { global $prefs; $access = TikiLib::lib('access'); $access->check_feature('feature_categories'); $smarty = TikiLib::lib('smarty'); $tikilib = TikiLib::lib('tiki'); $categlib = TikiLib::lib('categ'); $default = ['offset' => 0, 'max' => $prefs['maxRecords'], 'objects' => 'wiki']; $params = array_merge($default, $params); extract($params, EXTR_SKIP); // check required objects parameter if ($params['objects'] !== 'wiki' && $params['objects'] !== 'file gallery' && $params['objects'] !== 'article' && $params['objects'] !== 'tracker' && $params['objects'] !== 'blog' && $params['objects'] !== 'calendar' && $params['objects'] !== 'forum') { return ("Wrong objects parameter - only wiki, file gallery, article, tracker, blog, calendar, and forum allowed at present"); } if (! empty($_REQUEST['offset'])) { $offset = $_REQUEST['offset']; } // assign the various smarty variables and get the data for the individual object types $smarty->assign('objecttype', $objects); if ($objects == 'wiki') { $listobjects = $categlib->get_catorphan_object_type($offset, $max, 'wiki page', 'pages', 'page_Id'); } elseif ($objects == 'file gallery') { $listobjects = $categlib->get_catorphan_object_type($offset, $max, 'file gallery', 'file_galleries', 'galleryId'); } elseif ($objects == 'article') { $listobjects = $categlib->get_catorphan_object_type($offset, $max, 'article', 'articles', 'articleId'); } elseif ($objects == 'tracker') { $listobjects = $categlib->get_catorphan_object_type($offset, $max, 'tracker', 'trackers', 'trackerId'); } elseif ($objects == 'blog') { $listobjects = $categlib->get_catorphan_object_type($offset, $max, 'blog', 'blogs', 'blogId'); } elseif ($objects == 'calendar') { $listobjects = $categlib->get_catorphan_object_type($offset, $max, 'calendar', 'calendars', 'calendarId'); } elseif ($objects == 'forum') { $listobjects = $categlib->get_catorphan_object_type($offset, $max, 'forum', 'forums', 'forumId'); } $smarty->assign_by_ref('orphans', $listobjects['data']); $smarty->assign('pagination', ['cant' => $listobjects['cant'], 'step' => $max, 'offset' => $offset]); $smarty->assign('totalcount', $listobjects['countall']); $out = '~np~' . $smarty->fetch('wiki-plugins/wikiplugin_catorphans.tpl') . '~/np~'; $smarty->assign('pagination', null); return $out; }