function introspect_config_item($name, &$propbag) { switch ($name) { case 'locking': $propbag->add('type', 'boolean'); $propbag->add('name', PLUGIN_EVENT_ENTRYCHECK_LOCKING); $propbag->add('description', ''); $propbag->add('default', false); break; case 'emptyCategories': $propbag->add('type', 'boolean'); $propbag->add('name', PLUGIN_EVENT_ENTRYCHECK_EMPTYCATEGORIES); $propbag->add('description', PLUGIN_EVENT_ENTRYCHECK_EMPTYCATEGORIES_DESC); $propbag->add('default', false); break; case 'emptyTitle': $propbag->add('type', 'boolean'); $propbag->add('name', PLUGIN_EVENT_ENTRYCHECK_EMPTYTITLE); $propbag->add('description', PLUGIN_EVENT_ENTRYCHECK_EMPTYTITLE_DESC); $propbag->add('default', false); break; case 'emptyBody': $propbag->add('type', 'boolean'); $propbag->add('name', PLUGIN_EVENT_ENTRYCHECK_EMPTYBODY); $propbag->add('description', PLUGIN_EVENT_ENTRYCHECK_EMPTYBODY_DESC); $propbag->add('default', false); break; case 'emptyExtended': $propbag->add('type', 'boolean'); $propbag->add('name', PLUGIN_EVENT_ENTRYCHECK_EMPTYEXTENDED); $propbag->add('description', PLUGIN_EVENT_ENTRYCHECK_EMPTYEXTENDED_DESC); $propbag->add('default', false); break; case 'defaultCat': $cats = serendipity_fetchCategories($serendipity['authorid']); if (!is_array($cats)) { return false; } $catlist = serendipity_generateCategoryList($cats, array(0), 4); $tmp_select_cats = explode('@@@', $catlist); if (!is_array($tmp_select_cats)) { return false; } $select_cats = array(); $select_cats['none'] = NONE; foreach ($tmp_select_cats as $cidx => $tmp_select_cat) { $select_cat = explode('|||', $tmp_select_cat); if (!empty($select_cat[0]) && !empty($select_cat[1])) { $select_cats[$select_cat[0]] = $select_cat[1]; } } $propbag->add('type', 'select'); $propbag->add('select_values', $select_cats); $propbag->add('name', PLUGIN_EVENT_ENTRYCHECK_DEFAULTCAT); $propbag->add('description', PLUGIN_EVENT_ENTRYCHECK_DEFAULTCAT_DESC); $propbag->add('default', 'none'); break; } return true; }
function introspect_config_item($name, &$propbag) { global $serendipity; switch ($name) { case 'title': $propbag->add('type', 'string'); $propbag->add('name', TITLE); $propbag->add('description', TITLE_FOR_NUGGET); $propbag->add('default', PLUGIN_RECENTENTRIES_TITLE); break; case 'number': $propbag->add('type', 'string'); $propbag->add('name', PLUGIN_RECENTENTRIES_NUMBER); $propbag->add('description', PLUGIN_RECENTENTRIES_NUMBER_BLAHBLAH); $propbag->add('default', 10); break; case 'number_from': $propbag->add('type', 'radio'); $propbag->add('name', PLUGIN_RECENTENTRIES_NUMBER_FROM); $propbag->add('description', PLUGIN_RECENTENTRIES_NUMBER_FROM_DESC); $propbag->add('radio', array('value' => array('all', 'skip'), 'desc' => array(PLUGIN_RECENTENTRIES_NUMBER_FROM_RADIO_ALL, PLUGIN_RECENTENTRIES_NUMBER_FROM_RADIO_RECENT))); $propbag->add('default', 'all'); break; case 'randomize': $propbag->add('type', 'radio'); $propbag->add('name', PLUGIN_RECENTENTRIES_RANDOMIZE); $propbag->add('description', PLUGIN_RECENTENTRIES_RANDOMIZE_DESC); $propbag->add('radio', array('value' => array('yes', 'no'), 'desc' => array(YES, NO))); $propbag->add('default', 'no'); break; case 'dateformat': $propbag->add('type', 'string'); $propbag->add('name', GENERAL_PLUGIN_DATEFORMAT); $propbag->add('description', sprintf(GENERAL_PLUGIN_DATEFORMAT_BLAHBLAH, '%A, %B %e %Y') . '. ' . PLUGIN_RECENTENTRIES_DATEFORMAT_WIN); $propbag->add('default', '%A, %B %e %Y'); break; case 'category': $cats = serendipity_fetchCategories($serendipity['authorid']); if (!is_array($cats)) { break; } $catlist = serendipity_generateCategoryList($cats, array(0), 4, 0, 0, '', ' . '); $tmp_select_cats = explode('@@@', $catlist); if (!is_array($tmp_select_cats)) { break; } $select_cats = array(); $select_cats['none'] = ALL_CATEGORIES; $select_cats['_cur'] = PARENT_CATEGORY; foreach ($tmp_select_cats as $cidx => $tmp_select_cat) { $select_cat = explode('|||', $tmp_select_cat); if (!empty($select_cat[0]) && !empty($select_cat[1])) { $select_cats[$select_cat[0]] = $select_cat[1]; } } $propbag->add('type', 'multiselect'); $propbag->add('select_values', $select_cats); $propbag->add('select_size', 5); $propbag->add('name', CATEGORY); $propbag->add('description', CATEGORIES_TO_FETCH); $propbag->add('default', 'none'); break; case 'show_where': $select = array('extended' => PLUGIN_ITEM_DISPLAY_EXTENDED, 'overview' => PLUGIN_ITEM_DISPLAY_OVERVIEW, 'both' => PLUGIN_ITEM_DISPLAY_BOTH); $propbag->add('type', 'select'); $propbag->add('select_values', $select); $propbag->add('name', PLUGIN_ITEM_DISPLAY); $propbag->add('description', ''); $propbag->add('default', 'both'); break; default: return false; } return true; }
/** * Return HTML containing a list of categories * * Prints a list of categories for use in forms, the sidebar, or whereever... * * @access public * @param array An array of categories, typically gathered by serendipity_fetchCategories() * @param array An array which holds IDs which are meant to be selected within a HTML SELECT form field [used for recursion] * @param int The type of category list (0: HTML span list, 1/2: <option>s, 3: HTML Div list, 4: CSV data) to return * @param int The parent ID of a category [for recursion] * @param int The current nesting level [for recursion] * @param string Tells the function, whether or not to display the XML button for each category. * If empty, no links to the xml feeds will be displayed; If you want to, you can * pass an image here (this setting is only used, when type==3). * @param string The character to use for blank indenting * @see serendipity_fetchCategories() */ function serendipity_generateCategoryList($cats, $select = array(0), $type = 0, $id = 0, $level = 0, $xmlImg = '', $blank_char = '�') { global $serendipity; if (!is_array($cats) || !count($cats)) { return; } $ret = ''; foreach ($cats as $cat) { if ($cat['parentid'] == $id) { switch ($type) { case 0: $ret .= str_repeat(' ', $level * 2) . '• <span id="catItem_' . $cat['categoryid'] . '"' . ($cat['categoryid'] && in_array($cat['categoryid'], $select) ? ' selected="selected"' : '') . '><a href="?serendipity[adminModule]=category&serendipity[cat][catid]=' . $cat['categoryid'] . '">' . (!empty($cat['category_icon']) ? '<img style="vertical-align: middle;" src="' . $cat['category_icon'] . '" border="0" alt="' . $cat['category_name'] . '"/> ' : '') . htmlspecialchars($cat['category_name']) . (!empty($cat['category_description']) ? ' - ' . htmlspecialchars($cat['category_description']) : '') . '</a></span><br/>' . "\n"; break; case 1: case 2: $ret .= '<option value="' . $cat['categoryid'] . '"' . ($cat['categoryid'] && in_array($cat['categoryid'], $select) ? ' selected="selected"' : '') . '>'; $ret .= str_repeat(' ', $level * 2) . htmlspecialchars($cat['category_name']) . ($type == 1 && !empty($cat['category_description']) ? ' - ' . htmlspecialchars($cat['category_description']) : ''); $ret .= '</option>'; break; case 3: $category_id = serendipity_makeFilename($cat['category_name']); if (!empty($xmlImg)) { $ret .= sprintf('<div style="padding-bottom: 2px;">' . '<a href="%s" title="%s"><img alt="xml" src="%s" style="vertical-align: bottom; display: inline; border: 0px" /></a> %s' . '<a href="%s" title="%s">%s</a>' . '</div>', $serendipity['serendipityHTTPPath'] . 'rss.php?category=' . $cat['categoryid'] . '_' . $category_id, htmlspecialchars($cat['category_description']), $xmlImg, str_repeat(' ', $level * 3), serendipity_categoryURL($cat, 'serendipityHTTPPath'), htmlspecialchars($cat['category_description']), htmlspecialchars($cat['category_name'])); } else { $ret .= sprintf('%s<a href="%s" title="%s">%s</a><br />', str_repeat(' ', $level * 3), serendipity_categoryURL($cat, 'serendipityHTTPPath'), htmlspecialchars($cat['category_description']), htmlspecialchars($cat['category_name'])); } break; case 4: $ret .= $cat['categoryid'] . '|||' . str_repeat($blank_char, $level * 2) . $cat['category_name'] . '@@@'; break; } $ret .= serendipity_generateCategoryList($cats, $select, $type, $cat['categoryid'], $level + 1, $xmlImg, $blank_char); } } return $ret; }
function introspect_config_item($name, &$propbag) { global $serendipity; switch ($name) { case 'title': $propbag->add('type', 'string'); $propbag->add('name', TITLE); $propbag->add('description', TITLE_FOR_NUGGET); $propbag->add('default', PLUGIN_POPULARENTRIES_TITLE); break; case 'number': $propbag->add('type', 'string'); $propbag->add('name', PLUGIN_POPULARENTRIES_NUMBER); $propbag->add('description', PLUGIN_POPULARENTRIES_NUMBER_BLAHBLAH); $propbag->add('default', 10); break; case 'number_from': $propbag->add('type', 'radio'); $propbag->add('name', PLUGIN_POPULARENTRIES_NUMBER_FROM); $propbag->add('description', PLUGIN_POPULARENTRIES_NUMBER_FROM_DESC); $propbag->add('radio', array('value' => array('all', 'skip'), 'desc' => array(PLUGIN_POPULARENTRIES_NUMBER_FROM_RADIO_ALL, PLUGIN_POPULARENTRIES_NUMBER_FROM_RADIO_POPULAR))); $propbag->add('default', 'all'); break; case 'sortby': $propbag->add('type', 'radio'); $propbag->add('name', PLUGIN_POPULARENTRIES_SORTBY); $propbag->add('description', ''); $propbag->add('radio_per_row', '1'); $propbag->add('radio', array('value' => array('comments', 'commentors', 'visits', 'lowvisits', 'exits', 'karma'), 'desc' => array(PLUGIN_POPULARENTRIES_SORTBY_COMMENTS, PLUGIN_POPULARENTRIES_SORTBY_COMMENTORS, PLUGIN_POPULARENTRIES_SORTBY_VISITS, PLUGIN_POPULARENTRIES_SORTBY_LOWVISITS, PLUGIN_POPULARENTRIES_SORTBY_EXITS, PLUGIN_POPULARENTRIES_SORTBY_KARMAVOTES))); $propbag->add('default', 'comments'); break; case 'commentors_hide': $propbag->add('type', 'string'); $propbag->add('name', PLUGIN_POPULARENTRIES_SORTBY_COMMENTORS_FILTER); $propbag->add('description', PLUGIN_POPULARENTRIES_SORTBY_COMMENTORS_FILTER_DESC); $propbag->add('default', $serendipity['realname']); break; case 'category': $cats = serendipity_fetchCategories($serendipity['authorid']); if (!is_array($cats)) { return false; } $catlist = serendipity_generateCategoryList($cats, array(0), 4); $tmp_select_cats = explode('@@@', $catlist); if (!is_array($tmp_select_cats)) { return false; } $select_cats = array(); $select_cats['none'] = ALL_CATEGORIES; $select_cats['_cur'] = PARENT_CATEGORY; foreach ($tmp_select_cats as $cidx => $tmp_select_cat) { $select_cat = explode('|||', $tmp_select_cat); if (!empty($select_cat[0]) && !empty($select_cat[1])) { $select_cats[$select_cat[0]] = $select_cat[1]; } } $propbag->add('type', 'select'); $propbag->add('select_values', $select_cats); $propbag->add('name', CATEGORY); $propbag->add('description', CATEGORIES_TO_FETCH); $propbag->add('default', 'none'); break; default: return false; } return true; }
function introspect_config_item($name, &$propbag) { global $serendipity; switch ($name) { case 'doc_rpclink': $propbag->add('type', 'content'); $propbag->add('default', sprintf(PLUGIN_EVENT_XMLRPC_DOC_RPCLINK, $serendipity['baseURL'] . 'serendipity_xmlrpc.php')); break; case 'debuglog': $debuglevels = array('none' => PLUGIN_EVENT_XMLRPC_DEBUGLOG_NONE, 'normal' => PLUGIN_EVENT_XMLRPC_DEBUGLOG_NORMAL); $propbag->add('type', 'select'); $propbag->add('select_values', $debuglevels); $propbag->add('name', PLUGIN_EVENT_XMLRPC_DEBUGLOG); $propbag->add('description', PLUGIN_EVENT_XMLRPC_DEBUGLOG_DESC); $propbag->add('default', 'none'); break; case 'gmt': $propbag->add('type', 'boolean'); $propbag->add('name', PLUGIN_EVENT_XMLRPC_GMT); $propbag->add('description', ''); $propbag->add('default', false); break; case 'uploaddir': $propbag->add('type', 'select'); $propbag->add('select_values', $this->scanUploadDir()); $propbag->add('name', PLUGIN_EVENT_XMLRPC_UPLOADDIR); $propbag->add('description', PLUGIN_EVENT_XMLRPC_UPLOADDIR_DESC); $propbag->add('default', ''); break; case 'htmlconvert': $propbag->add('type', 'boolean'); $propbag->add('name', PLUGIN_EVENT_XMLRPC_HTMLCONVERT); $propbag->add('description', PLUGIN_EVENT_XMLRPC_HTMLCONVERT_DESC); $propbag->add('default', true); break; case 'asureauthor': $authoroptions = array('default' => PLUGIN_EVENT_XMLRPC_ASUREAUTHOR_DEFAULT, 'serendipityUser' => PLUGIN_EVENT_XMLRPC_ASUREAUTHOR_LOGIN, 'serendipityRealname' => PLUGIN_EVENT_XMLRPC_ASUREAUTHOR_REALNAME); $propbag->add('type', 'select'); $propbag->add('select_values', $authoroptions); $propbag->add('name', PLUGIN_EVENT_XMLRPC_ASUREAUTHOR); $propbag->add('description', PLUGIN_EVENT_XMLRPC_ASUREAUTHOR_DESC); $propbag->add('default', 'default'); break; case 'wpfakeversion': $propbag->add('type', 'string'); $propbag->add('name', PLUGIN_EVENT_XMLRPC_WPFAKEVERSION); $propbag->add('description', PLUGIN_EVENT_XMLRPC_WPFAKEVERSION_DESC); $propbag->add('default', ''); break; case 'category': $cats = serendipity_fetchCategories($serendipity['authorid']); if (!is_array($cats)) { return false; } $catlist = serendipity_generateCategoryList($cats, array(0), 4); $tmp_select_cats = explode('@@@', $catlist); if (!is_array($tmp_select_cats)) { return false; } $select_cats = array(); $select_cats[''] = ''; foreach ($tmp_select_cats as $cidx => $tmp_select_cat) { $select_cat = explode('|||', $tmp_select_cat); if (!empty($select_cat[0]) && !empty($select_cat[1])) { $select_cats[$select_cat[0]] = $select_cat[1]; } } $propbag->add('type', 'select'); $propbag->add('select_values', $select_cats); $propbag->add('name', PLUGIN_EVENT_XMLRPC_DEFAULTCAT); $propbag->add('description', PLUGIN_EVENT_XMLRPC_DEFAULTCAT_DESC); $propbag->add('default', ''); break; case 'spamevent_description': $propbag->add('type', 'content'); $propbag->add('default', PLUGIN_EVENT_XMLRPC_EVENT_SPAM_HEADER); break; case 'event_spam': case 'event_approved': case 'event_pending': $events = array('none' => PLUGIN_EVENT_XMLRPC_EVENTVALUE_NONE, 'spam' => PLUGIN_EVENT_XMLRPC_EVENTVALUE_SPAM, 'ham' => PLUGIN_EVENT_XMLRPC_EVENTVALUE_HAM); $propbag->add('type', 'select'); $propbag->add('select_values', $events); if ($name == 'event_spam') { $propbag->add('name', PLUGIN_EVENT_XMLRPC_EVENT_SPAM); $propbag->add('description', PLUGIN_EVENT_XMLRPC_EVENT_SPAM_DESC); $propbag->add('default', 'spam'); } elseif ($name == 'event_approved') { $propbag->add('name', PLUGIN_EVENT_XMLRPC_EVENT_APPROVED); $propbag->add('description', PLUGIN_EVENT_XMLRPC_EVENT_APPROVED_DESC); $propbag->add('default', 'ham'); } elseif ($name == 'event_pending') { $propbag->add('name', PLUGIN_EVENT_XMLRPC_EVENT_PENDING); $propbag->add('description', PLUGIN_EVENT_XMLRPC_EVENT_PENDING_DESC); $propbag->add('default', 'none'); } break; default: return false; } return true; }