{
private $skintype;
- /* NOTE: list of whole available action names for tags
- 'actionloglist',
- 'activationmessage',
- 'addtickettourl',
- 'adminbanlist',
- 'adminbatchaction',
- 'adminbatchlist',
- 'adminbloglink',
- 'adminerrormesg',
- 'adminskineditallowedlist',
- 'adminskinielist',
- 'adminskinoverview',
- 'adminskinselectoptions',
- 'adminspecialskinlist',
- 'admintemplateoverview',
- 'allowedadminskinactions',
- 'allowedskinactions',
- 'banlistdeletedlist',
- 'batchdeletelist',
- 'batchdeletetype',
- 'batchmovebtn',
- 'batchmovelist',
- 'batchmovetitle',
- 'batchmovetype',
- 'blogcatlist',
- 'blognotifysetting',
- 'blogselectbox',
- 'blogsetting',
- 'blogsettingyesno',
- 'blogteamlist',
- 'blogteammembers',
- 'blogtime',
- 'bookmarkletadmin',
- 'category',
- 'categorysetting',
- 'codename',
- 'commentnavlist',
- 'configsettingsedit',
- 'configsettingsyesno',
- 'customhelplink',
- 'date',
- 'defaultadminskintypes',
- 'defblogselect',
- 'defcatselect',
- 'defskinselect',
- 'deletecomment',
- 'deleteitembody',
- 'deleteitemid',
- 'deleteitemtitle',
- 'editadminskin',
- 'editadminskintype',
- 'editadmintemplateinfo',
- 'editcomment',
- 'editdesturl',
- 'editmember',
- 'editmemberlist',
- 'editpluginfo',
- 'editplugoptionslist',
- 'editskin',
- 'editskintype',
- 'edittemplateinfo',
- 'eventformextra',
- 'extrahead',
- 'getblogsetting',
- 'geteditpluginfo',
- 'getmember',
- 'headmessage',
- 'helplink',
- 'helpplugname',
- 'ilistaddnew',
- 'importskininfo',
- 'inputyesno',
- 'insertpluginfo',
- 'insertpluginoptions',
- 'insplugoptcontent',
- 'iprangeinput',
- 'itemnavlist',
- 'jstoolbaroptions',
- 'listplugplugoptionrow',
- 'localeselectoptions',
- 'mediadirwarning',
- 'movedistselect',
- 'moveitemid',
- 'newestcompare',
- 'newmemberselect',
- 'newpluginlist',
- 'outputspecialdirs',
- 'passrequestvars',
- 'pluginextras',
- 'pluginhelp',
- 'pluginlistlist',
- 'pluginoptions',
- 'qmenuaddselect',
- 'quickmenu',
- 'requestblogid',
- 'requestiprange',
- 'selectlocaladminskinfiles',
- 'selectlocalskinfiles',
- 'skineditallowedlist',
- 'skinfile',
- 'skinielist',
- 'skinoverview',
- 'skintypehelp',
- 'specialskinlist',
- 'sprinttext',
- 'systemsettings',
- 'templateoverview',
- 'text',
- 'ticket',
- 'versioncheckurl',
- 'yrbloglist'
- );
- */
-
/**
* AdminActions::$default_actions
* list of whole action names with which this class can deal
*/
static private $default_actions = array(
+ 'actionurl',
'addtickettourl',
'adminurl',
'codename',
'adminskinremovetype' => _ADM_SKPRT_ADMINSKINREMOVETYPE,
'admintemplatedelete' => _ADM_SKPRT_ADMINTEMPLATEDELETE,
'admintemplateedit' => _ADM_SKPRT_ADMINTEMPLATEEDIT,
- 'admntemplateoverview' => _ADM_SKPRT_ADMINTEMPLATEOVERVIEW,
+ 'admintemplateoverview' => _ADM_SKPRT_ADMINTEMPLATEOVERVIEW,
'backupoverview' => _ADM_SKPRT_BACKUPOVERVIEW,
'backuprestore' => _ADM_SKPRT_BACKUPRESTORE,
'banlist' => _ADM_SKPRT_BANLIST,
'batchmovecat' => _ADM_SKPRT_BATCHMOVECAT,
'batchteam' => _ADM_SKPRT_BATCHTEAM,
'blogcommentlist' => _ADM_SKPRT_BLOGCOMMENTLIST,
- 'blogselectbox' => _ADM_SKPRT_BLOGSELECTBOX,
'blogsettings' => _ADM_SKPRT_BLOGSETTINGS,
'bookmarklet' => _ADM_SKPRT_BOOKMARKLET,
'browseowncomments' => _ADM_SKPRT_BROWSEOWNCOMMENTS,
'commentedit' => _ADM_SKPRT_COMMENTEDIT,
'createitem' => _ADM_SKPRT_CREATEITEM,
'createnewlog' => _ADM_SKPRT_CREATENEWLOG,
+ 'createaccountinput' => _ADM_SKPRT_CREATEACCOUNTINPUT, /* not yet */
+ 'createaccountsuccess' => _ADM_SKPRT_CREATEACCOUNTSUCCESS, /* not yet */
+ 'createaccountdisable' => _ADM_SKPRT_CREATEACCOUNTDISALLOWED, /* not yet */
'deleteblog' => _ADM_SKPRT_DELETEBLOG,
'editmembersettings' => _ADM_SKPRT_EDITMEMBERSETTINGS,
- 'insertpluginoptions' => _ADM_SKPRT_INSERTPLUGINO,
+ 'forgotpassword' => _ADM_SKPRT_FORGOTPASSWORD, /* not yet */
'itemcommentlist' => _ADM_SKPRT_ITEMCOMMENTLIST,
'itemdelete' => _ADM_SKPRT_ITEMDELETE,
'itemedit' => _ADM_SKPRT_ITEMEDIT,
/**
* AdminActions::getAvailableSkinTypes()
- *
+ *
* @static
* @param void
* @return array list of friendly names for page actions
/**
* AdminActions::__construct()
* Constructor for a new Actions object
- *
+ *
* @param string $type
* @return void
*/
{
// call constructor of superclass first
parent::__construct();
- $this->skintype = $type;
- if ( !class_exists('Navlist') || !class_exists('Batch') )
+
+ /* alias */
+ if ( $type == 'admntemplateoverview' )
+ {
+ $this->skintype = 'admintemplateoverview';
+ }
+ else
{
- global $DIR_LIBS;
- include $DIR_LIBS . 'ENCAPSULATE.php';
+ $this->skintype = $type;
}
+
return;
}
/**
* AdminActions::getAvailableActions()
- *
+ *
* @param void
* @return array allowed actions for the page type
*/
{
case 'actionlog':
$extra_actions = array(
- 'actionloglist',
+ 'actionloglist',
);
break;
case 'activate':
$extra_actions = array(
- 'activationmessage',
- 'eventformextra',
+ 'activationmessage',
+ 'eventformextra',
);
break;
case 'activatesetpwd':
$extra_actions = array(
+ /* nothing special */
);
break;
case 'addnewlog':
$extra_actions = array(
- 'getblogsetting',
- 'blogsetting',
- 'requestblogid',
- );
+ 'getblogsetting',
+ 'blogsetting',
+ 'requestblogid',
+ );
break;
case 'adminerrorpage':
$extra_actions = array(
+ /* nothing special */
);
break;
case 'adminskindelete':
$extra_actions = array(
- 'editadminskintype',
+ 'editskintype',
);
break;
case 'adminskinedit':
$extra_actions = array(
- 'editadminskin',
- 'defaultadminskintypes',
- 'adminspecialskinlist',
+ 'editskin',
+ 'normalskinlist',
+ 'specialskinlist',
);
break;
case 'adminskinedittype':
$extra_actions = array(
- 'editadminskintype',
- 'skintypehelp',
- 'allowedadminskinactions',
- 'adminskineditallowedlist',
+ 'editskintype',
+ 'skintypehelp',
+ 'allowedskinactions',
+ 'skineditallowedlist',
);
break;
case 'adminskiniedoimport':
$extra_actions = array(
- 'importskininfo',
+ 'importskininfo',
);
break;
case 'adminskinieimport':
$extra_actions = array(
- 'importskininfo',
+ 'importskininfo',
);
break;
case 'adminskinieoverview':
$extra_actions = array(
- 'selectlocaladminskinfiles',
- 'adminskinielist',
+ 'selectlocalskinfiles',
+ 'skinielist',
);
break;
case 'adminskinoverview':
$extra_actions = array(
- 'adminskinoverview',
+ 'skinoverview',
);
break;
case 'adminskinremovetype':
$extra_actions = array(
- 'editadminskintype',
+ 'editskintype',
);
break;
case 'admintemplatedelete':
$extra_actions = array(
- 'editadmintemplateinfo',
+ 'editadmintemplateinfo',
);
case 'admintemplateedit':
$extra_actions = array(
- 'editadmintemplateinfo',
+ 'edittemplateinfo',
);
break;
- case 'admntemplateoverview':
+ case 'admintemplateoverview':
$extra_actions = array(
- 'admintemplateoverview',
+ 'templateoverview',
);
break;
case 'backupoverview':
$extra_actions = array(
+ /* nothing special */
);
break;
case 'backuprestore':
$extra_actions = array(
+ /* nothing special */
);
break;
case 'banlist':
$extra_actions = array(
- 'adminbloglink',
- 'adminbanlist',
- 'requestblogid',
+ 'adminbloglink',
+ 'adminbanlist',
+ 'requestblogid',
);
break;
case 'banlistdelete':
$extra_actions = array(
- 'requestiprange',
- 'requestblogid',
+ 'requestiprange',
+ 'requestblogid',
);
break;
case 'banlistdeleteconfirm':
$extra_actions = array(
- 'banlistdeletedlist',
- 'requestblogid',
+ 'banlistdeletedlist',
+ 'requestblogid',
);
break;
case 'banlistnew':
$extra_actions = array(
- 'iprangeinput',
- 'requestblogid',
- 'blogsetting',
+ 'iprangeinput',
+ 'requestblogid',
+ 'blogsetting',
);
break;
case 'batchcategory':
$extra_actions = array(
- 'adminbatchaction',
- 'adminbatchlist',
+ 'adminbatchaction',
+ 'adminbatchlist',
);
break;
case 'batchcomment':
$extra_actions = array(
- 'adminbatchaction',
- 'adminbatchlist',
+ 'adminbatchaction',
+ 'adminbatchlist',
);
break;
case 'batchdelete':
$extra_actions = array(
- 'batchdeletetype',
- 'batchdeletelist',
+ 'batchdeletetype',
+ 'batchdeletelist',
);
break;
case 'batchitem':
$extra_actions = array(
- 'adminbatchaction',
- 'adminbatchlist',
+ 'adminbatchaction',
+ 'adminbatchlist',
);
break;
case 'batchmember':
$extra_actions = array(
- 'adminbatchaction',
- 'adminbatchlist',
+ 'adminbatchaction',
+ 'adminbatchlist',
);
break;
case 'batchmove':
$extra_actions = array(
- 'batchmovetitle',
- 'batchmovetype',
- 'batchmovelist',
- 'movedistselect',
- 'batchmovebtn',
+ 'batchmovetitle',
+ 'batchmovetype',
+ 'batchmovelist',
+ 'movedistselect',
+ 'batchmovebtn',
);
break;
case 'batchmovecat':
$extra_actions = array(
- 'batchmovetitle',
- 'batchmovetype',
- 'batchmovelist',
- 'movedistselect',
- 'batchmovebtn',
+ 'batchmovetitle',
+ 'batchmovetype',
+ 'batchmovelist',
+ 'movedistselect',
+ 'batchmovebtn',
);
break;
case 'batchteam':
$extra_actions = array(
- 'requestblogid',
- 'adminbatchaction',
- 'adminbatchlist',
+ 'requestblogid',
+ 'adminbatchaction',
+ 'adminbatchlist',
);
break;
case 'blogcommentlist':
$extra_actions = array(
- 'adminbloglink',
- 'commentnavlist',
- 'adminbatchlist',
- );
- break;
- case 'blogselectbox':
- $extra_actions = array(
- 'blogselectbox',
+ 'adminbloglink',
+ 'commentnavlist',
+ 'adminbatchlist',
);
break;
case 'blogsettings':
$extra_actions = array(
- 'adminbloglink',
- 'blogcatlist',
- 'blognotifysetting',
- 'blogsetting',
- 'blogsettingyesno',
- 'blogteammembers',
- 'blogtime',
- 'defcatselect',
- 'defskinselect',
- 'pluginextras',
- 'pluginoptions',
- 'requestblogid',
+ 'adminbloglink',
+ 'blogcatlist',
+ 'blognotifysetting',
+ 'blogsetting',
+ 'blogsettingyesno',
+ 'blogteammembers',
+ 'blogtime',
+ 'defcatselect',
+ 'defskinselect',
+ 'pluginextras',
+ 'pluginoptions',
+ 'requestblogid',
);
break;
case 'bookmarklet':
$extra_actions = array(
- 'bookmarkletadmin',
+ 'bookmarkletadmin',
);
break;
case 'browseowncomments':
$extra_actions = array(
- 'commentnavlist',
+ 'commentnavlist',
);
break;
case 'browseownitems':
$extra_actions = array(
- 'itemnavlist',
+ 'itemnavlist',
);
break;
case 'categorydelete':
$extra_actions = array(
- 'categorysetting',
- 'requestblogid',
+ 'categorysetting',
+ 'requestblogid',
);
break;
case 'categoryedit':
$extra_actions = array(
- 'requestblogid',
- 'categorysetting',
- 'editdesturl',
- 'pluginoptions'
+ 'requestblogid',
+ 'categorysetting',
+ 'editdesturl',
+ 'pluginoptions'
);
break;
case 'commentdelete':
$extra_actions = array(
- 'deletecomment',
+ 'deletecomment',
);
break;
case 'commentedit':
$extra_actions = array(
- 'editcomment',
+ 'editcomment',
);
break;
+ case 'createaccountinput':
+ $extra_actions = array(
+ 'contents',
+ 'pluginextras',
+ 'eventformextra',
+ );\r
+ break;
+ case 'createaccountsuccess':
+ $extra_actions = array(\r
+ 'contents',
+ );\r
+ break;
+ case 'createaccountdisable':
+ $extra_actions = array(
+ /* nothing special */
+ );\r
+ break;
case 'createitem':
$extra_actions = array(
- 'adminbloglink',
- 'blogid',
- 'contents',
- 'categories',
- 'currenttime',
- 'init',
- 'pluginoptions',
- 'pluginextras'
+ 'adminbloglink',
+ 'blogid',
+ 'contents',
+ 'categories',
+ 'currenttime',
+ 'init',
+ 'pluginoptions',
+ 'pluginextras'
);
break;
case 'createnewlog':
$extra_actions = array(
- 'defskinselect',
- 'blogtime',
+ 'defskinselect',
+ 'blogtime',
);
break;
case 'deleteblog':
$extra_actions = array(
- 'blogsetting',
- 'requestblogid',
+ 'blogsetting',
+ 'requestblogid',
);
break;
case 'editmembersettings':
$extra_actions = array(
- 'adminskinselectoptions',
- 'editmember',
- 'localeselectoptions',
- 'pluginoptions',
+ 'defskinselect',
+ 'editmember',
+ 'localeselectoptions',
+ 'pluginoptions',
+ 'defadminskinselect',
+ 'defbookmarkletselect',
);
break;
- case 'insertpluginoptions':
+ case 'forgotpassword':
$extra_actions = array(
- 'insertpluginoptions',
+ /* nothing special */
);
break;
case 'itemcommentlist':
$extra_actions = array(
- 'requestblogid',
- 'commentnavlist',
+ 'requestblogid',
+ 'commentnavlist',
);
break;
case 'itemdelete':
$extra_actions = array(
- 'deleteitemtitle',
- 'deleteitembody',
- 'deleteitemid',
+ 'deleteitemtitle',
+ 'deleteitembody',
+ 'deleteitemid',
);
break;
case 'itemedit':
$extra_actions = array(
- 'init',
- 'contents',
- 'checkedonval',
- 'categories',
- 'currenttime',
- 'itemtime',
- 'pluginoptions',
- 'pluginextras'
+ 'init',
+ 'contents',
+ 'checkedonval',
+ 'categories',
+ 'currenttime',
+ 'itemtime',
+ 'pluginoptions',
+ 'pluginextras'
);
break;
case 'itemlist':
$extra_actions = array(
- 'adminbloglink',
- 'ilistaddnew',
- 'itemnavlist',
+ 'adminbloglink',
+ 'ilistaddnew',
+ 'itemnavlist',
);
break;
case 'itemmove':
$extra_actions = array(
- 'moveitemid',
- 'movedistselect',
+ 'moveitemid',
+ 'movedistselect',
);
break;
case 'manage':
$extra_actions = array(
+ /* nothing special */
);
break;
case 'manageteam':
$extra_actions = array(
- 'requestblogid',
- 'blogsetting',
- 'blogteamlist',
- 'newmemberselect',
- 'inputyesno',
+ 'requestblogid',
+ 'blogsetting',
+ 'blogteamlist',
+ 'newmemberselect',
+ 'inputyesno',
);
break;
case 'memberdelete':
$extra_actions = array(
- 'editmember',
+ 'editmember',
);
break;
case 'overview':
$extra_actions = array(
- 'yrbloglist',
+ 'yrbloglist',
);
break;
case 'plugindelete':
$extra_actions = array(
- 'editpluginfo',
+ 'editpluginfo',
);
break;
case 'pluginhelp':
$extra_actions = array(
- 'helpplugname',
- 'pluginhelp',
+ 'helpplugname',
+ 'pluginhelp',
);
break;
case 'pluginlist':
$extra_actions = array(
- 'pluginlistlist',
- 'newpluginlist',
+ 'pluginlistlist',
+ 'newpluginlist',
);
break;
case 'pluginoptions':
$extra_actions = array(
- 'editpluginfo',
- 'editplugoptionslist',
+ 'editpluginfo',
+ 'editplugoptionslist',
);
break;
case 'settingsedit':
$extra_actions = array(
- 'defblogselect',
- 'defskinselect',
- 'configsettingsedit',
- 'configsettingsyesno',
- 'outputspecialdirs',
- 'jstoolbaroptions',
- 'localeselectoptions',
- 'mediadirwarning',
- 'pluginextras',
+ 'defblogselect',
+ 'defskinselect',
+ 'configsettingsedit',
+ 'configsettingsyesno',
+ 'outputspecialdirs',
+ 'jstoolbaroptions',
+ 'localeselectoptions',
+ 'mediadirwarning',
+ 'pluginextras',
+ 'defadminskinselect',
+ 'defbookmarkletselect',
);
break;
case 'showlogin':
$extra_actions = array(
- 'passrequestvars',
+ 'passrequestvars',
);
break;
case 'skindelete':
$extra_actions = array(
- 'editskintype',
+ 'editskintype',
);
break;
case 'skinedit':
$extra_actions = array(
- 'editskin',
- 'specialskinlist',
+ 'editskin',
+ 'normalskinlist',
+ 'specialskinlist'
);
break;
case 'skinedittype':
$extra_actions = array(
- 'editskintype',
- 'skintypehelp',
- 'allowedskinactions',
- 'skineditallowedlist',
- 'skineditallowedlist',
+ 'editskintype',
+ 'skintypehelp',
+ 'allowedskinactions',
+ 'skineditallowedlist'
);
break;
case 'skiniedoimport':
$extra_actions = array(
- 'importskininfo',
+ 'importskininfo',
);
break;
case 'skinieimport':
$extra_actions = array(
- 'importskininfo',
+ 'importskininfo',
);
break;
case 'skinieoverview':
$extra_actions = array(
- 'selectlocalskinfiles',
- 'skinielist',
+ 'selectlocalskinfiles',
+ 'skinielist',
);
break;
case 'skinoverview':
$extra_actions = array(
- 'skinoverview',
+ 'skinoverview',
);
break;
case 'skinremovetype':
$extra_actions = array(
- 'editskintype',
+ 'editskintype',
);
break;
case 'systemoverview':
$extra_actions = array(
- 'systemsettings',
+ 'systemsettings',
);
break;
case 'teamdelete':
$extra_actions = array(
- 'editmember',
- 'blogsetting',
- 'requestblogid',
+ 'editmember',
+ 'blogsetting',
+ 'requestblogid',
);
break;
case 'templatedelete':
$extra_actions = array(
- 'edittemplateinfo',
+ 'edittemplateinfo',
);
break;
case 'templateedit':
$extra_actions = array(
- 'edittemplateinfo',
+ 'edittemplateinfo',
);
break;
case 'templateoverview':
$extra_actions = array(
- 'templateoverview',
+ 'templateoverview',
);
break;
case 'usermanagement':
$extra_actions = array(
- 'editmemberlist',
- 'inputyesno',
+ 'editmemberlist',
+ 'inputyesno',
);
break;
case 'importAdmin':
$extra_actions = array(
- 'charset',
- 'sitevar',
- 'adminurl',
- 'extrahead',
- 'member',
- 'versioncheckurl',
- 'version',
- 'codename',
- 'newestcompare',
- 'selectlocaladminskinfiles',
- 'adminskinielist',
+ 'charset',
+ 'adminurl',
+ 'extrahead',
+ 'member',
+ 'versioncheckurl',
+ 'version',
+ 'codename',
+ 'newestcompare',
+ 'selectlocalskinfiles',
+ 'skinielist',
);
break;
default:
/**
* AdminActions::parse_actionloglist()
* Parse skinvar actionloglist
- *
- * @param string $templateName name of template to use
+ *
+ * @param string $template_name name of template to use
* @return void
*/
- public function parse_actionloglist($templateName = '')
+ public function parse_actionloglist($template_name = '')
{
- $query = "SELECT * FROM %s ORDER BY timestamp DESC";
- $query = sprintf($query, sql_table('actionlog'));
+ $query = "SELECT * FROM %s ORDER BY timestamp DESC;";
+ $query = sprintf($query, sql_table('actionlog'));
- $template['content'] = 'actionlist';
- $amount = showlist($query, 'table', $template, $templateName);
+ $resource = DB::getResult($query);
+ if ( $resource->rowCount() > 0 )
+ {
+ $template['content'] = 'actionlist';
+ $this->parser->parse(showlist($resource, 'table', $template, $template_name));
+ }
+ else
+ {
+ /* TODO: nothing to be shown */
+ }
return;
}
-
/**
* AdminActions::parse_activationmessage()
* Parse skinvar activationmessage
- *
+ *
* @param string $type type of message
- * @param string $templateName name of template to use
+ * @param string $template_name name of template to use
* @return void
*/
- public function parse_activationmessage($type, $templateName = '')
+ public function parse_activationmessage($type, $template_name = '')
{
global $CONF, $manager;
$template = array();
- if ( !empty($templateName))
+ if ( !empty($template_name))
{
- $template = Template::read($templateName);
+ $template =& $manager->getTemplate($template_name);
}
$key = postVar('ackey');
Admin::error(_ERROR_ACTIVATE);
}
- $mem = MEMBER::createFromId($info->vmember);
+ $mem =& $manager->getMember($info->vmember);
if ( !$mem )
{
Admin::error(_ERROR_ACTIVATE);
/**
* AdminActions::parse_addtickettourl()
* Parse skinvar addtickettourl
- *
+ *
* @param string $url URI for ticket
* @return void
*/
/**
* AdminActions::parse_adminbanlist()
* Parse skinvar adminbanlist
- *
- * @param string $templateName name of template to use
+ *
+ * @param string $template_name name of template to use
* @return void
*/
- public function parse_adminbanlist($templateName = '')
+ public function parse_adminbanlist($template_name = '')
{
$blogid = intRequestVar('blogid');
$query = "SELECT * FROM %s WHERE blogid=%d ORDER BY iprange;";
$query = sprintf($query, sql_table('ban'), (integer) $blogid);
- $template['content'] = 'banlist';
-
- $amount = Showlist($query, 'table', $template, $templateName);
-
- if ( $amount == 0 )
+ $resource = DB::getResult($query);
+ if ( $resource->rowCount() > 0 )
+ {
+ $template['content'] = 'banlist';
+ $this->parser-parse(showlist($resource, 'table', $template, $template_name));
+ }
+ else
{
echo _BAN_NONE;
}
/**
* AdminActions::parse_adminbatchaction()
* Parse skinvar adminbatchaction
- *
+ *
* @param void
* @return void
*/
/**
* AdminActions::parse_adminbatchlist()
* Parse skinvar adminbatchlist
- *
- * @param string $templateName name of template to use
+ *
+ * @param string $template_name name of template to use
* @return void
*/
- public function parse_adminbatchlist($templateName = '')
+ public function parse_adminbatchlist($template_name = '')
{
global $manager;
$templates = array();
- if ( !empty($templateName) )
+ if ( !empty($template_name) )
{
- $templates = Template::read($templateName);
+ $templates =& $manager->getTemplate($template_name);
}
if ( !array_key_exists('ADMIN_BATCHLIST', $templates) || empty($templates['ADMIN_BATCHLIST']) )
{
$template = '<li><%text(_BATCH_EXECUTING)%> '
- . '<b><%adminbatchaction%></b> '
- . '<%batchlisttype%> '
- . '<b><%batchid%></b>... '
- . '<b><%batchlistmsg%></b>'
- . '</li>' . "\n";
+ . '<b><%adminbatchaction%></b> '
+ . '<%batchlisttype%> '
+ . '<b><%batchid%></b>... '
+ . '<b><%batchlistmsg%></b>'
+ . "</li>\n";
}
else
{
}
$selected = requestIntArray('batch');
- $action = requestVar('batchaction');
-
+ $action = requestVar('batchaction');
+
switch ( $this->skintype )
{
case 'batchitem':
}
else
{
- $error = Admin::deleteOneTeamMember($blogid, $selectedid);
+ $error = Admin::deleteOneTeamMember($blogid, $selectedid);
}
break;
case 'move':
default:
$error = _BATCH_UNKNOWN . Entity::hsc($action);
}
-
+
$data = array(
'batchid' => $selectedid,
'batchlisttype' => Entity::hsc($batchlisttype),
'adminbatchaction' => Entity::hsc($action),
'batchlistmsg' => $error ? $error : _BATCH_SUCCESS,
);
-
- $handler = new AdminActions('template');
- $parser = new Parser($handler);
-
- $output = Template::fill($template, $data);
- ob_start();
- $parser->parse($output);
- $output = ob_get_contents();
- ob_end_clean();
- echo "{$output}<br />";
+
+ $this->parser->parse(Template::fill($template, $data));
+ echo '<br />';
}
return;
}
/**
* AdminActions::parse_adminbloglink()
* Parse skinvar adminbloglink
- *
- * @param string $templateName name of template to use
+ *
+ * @param string $template_name name of template to use
* @return void
*/
- public function parse_adminbloglink($templateName = '')
+ public function parse_adminbloglink($template_name = '')
{
global $manager;
$blogid = intRequestVar('blogid');
$blog =& $manager->getBlog($blogid);
$templates = array();
- if ( !empty($templateName) )
+ if ( !empty($template_name) )
{
- $templates = Template::read($templateName);
+ $templates =& $manager->getTemplate($template_name);
}
if ( !array_key_exists('ADMIN_BLOGLINK', $templates) || empty($templates['ADMIN_BLOGLINK']) )
/**
* AdminActions::parse_adminerrormesg()
* Parse skinvar adminerrormesg
- *
+ *
* @param void
* @return void
*/
}
/**
- * AdminActions::parse_adminskineditallowedlist()
- * Parse skinvar adminskineditallowedlist
- *
- * @param string $type template/blog
- * @param string $templateName name of template to use
- * @return void
- */
- public function parse_adminskineditallowedlist($type = 'template', $templateName = '')
- {
- switch ( $type )
- {
- /* TODO: blog seems not to be used */
- case 'blog':
- $query = "SELECT bshortname, bname FROM %s";
- $query = sprintf($query, sql_table('blog'));
- $show = array(
- 'content' => 'shortblognames'
- );
- Showlist($query, 'table', $show, $templateName);
- break;
- case 'template':
- $query = "SELECT tdname as name, tddesc as description FROM %s WHERE tdname LIKE 'admin/%%'";
- $query = sprintf($query, sql_table('template_desc'));
- $show = array(
- 'content' => 'shortnames'
- );
- Showlist($query, 'table', $show, $templateName);
- break;
- }
- return;
- }
-
- /**
- * AdminActions::parse_adminskinielist()
- * Parse skinvar adminskinielist
- *
- * @param string $type skin/template
- * @param string $templateName name of template to use
- * @return void
- */
- public function parse_adminskinielist($type, $templateName = '')
- {
- $templates = array();
- if ( $templateName )
- {
- $templates = Template::read($templateName);
- }
-
- if ( !array_key_exists('SKINIE_EXPORT_LIST', $templates) || empty($templates['SKINIE_EXPORT_LIST']) )
- {
- $template = "<td>"
- . "<input type=\"checkbox\" name=\"<%typeid%>\" id=\"<%expid%>\" />\n"
- . "<label for=\"<%expid%>\"><%expname%></label>"
- . "</td>\n"
- . "<td><%expdesc%></td>\n"
- . "</tr>\n"
- . "<tr>\n";
- }
- else
- {
- $template = $templates['SKINIE_EXPORT_LIST'];
- }
-
- switch ( $type )
- {
- case 'skin':
- $query = "SELECT * FROM %s WHERE sdname LIKE 'admin/%%';";
- $query = sprintf($query, sql_table('skin_desc'));
- $res = DB::getResult($query);
-
- foreach ( $res as $row )
- {
- $data = array(
- 'typeid' => 'skin[' . $row['sdnumber'] . ']',
- 'expid' => 'skinexp' . $row['sdnumber'],
- 'expname' => Entity::hsc($row['sdname']),
- 'expdesc' => Entity::hsc($row['sddesc']),
- );
- echo Template::fill($template, $data);
- }
- break;
- case 'template':
- $query = "SELECT * FROM %s WHERE tdname LIKE 'admin/%%';";
- $query = sprintf($query, sql_table('template_desc'));
- $res = DB::getResult($query);
- foreach ( $res as $row )
- {
- $data = array(
- 'typeid' => 'template[' . $row['tdnumber'] . ']',
- 'expid' => 'templateexp' . $row['tdnumber'],
- 'expname' => Entity::hsc($row['tdname']),
- 'expdesc' => Entity::hsc($row['tddesc']),
- );
- echo Template::fill($template, $data);
- }
- break;
- }
- return;
- }
-
- /**
- * AdminActions::parse_adminskinoverview()
- * Parse skinvar adminskinoverview
- *
- * @param string $templateName name of template to use
- * @return void
- */
- public function parse_adminskinoverview($templateName = '')
- {
- $query = "SELECT * FROM %s WHERE sdname LIKE 'admin/%%' ORDER BY sdname;";
- $query = sprintf($query, sql_table('skin_desc'));
-
- $template['content'] = 'adminskinlist';
- $template['tabindex'] = 10;
- $template['friendly_names'] = $this->parser->skin->getAvailableTypes();
- Showlist($query, 'table', $template, $templateName);
- return;
- }
-
- /**
- * AdminActions::parse_adminskinselectoptions()
- * Parse skinvar adminskinselectoptions
- *
+ * AdminActions::parse_allowedskinactions()
+ * Parse skinvar allowedskinactions
+ *
* @param void
* @return void
- */
- public function parse_adminskinselectoptions($templateName = '')
- {
- global $CONF;
- $query = "SELECT sdname as text, sdnumber as value FROM %s WHERE sdname LIKE 'admin/%%';";
- $query = sprintf($query, sql_table('skin_desc'));
-
- $template['name'] = 'adminskin';
- $template['selected'] = $CONF['AdminSkin'];
- $template['tabindex'] = 110;
- Showlist($query, 'select', $template, $templateName);
- return;
- }
-
- /**
- * AdminActions::parse_adminspecialskinlist()
- * Parse skinvar adminspecialskinlist
- *
- * @param string $templateName name of template to use
*/
- public function parse_adminspecialskinlist($templateName = '')
+ public function parse_allowedskinactions()
{
- $templates = array();
- if ( $templateName )
- {
- $templates = Template::read($templateName);
- }
+ global $manager;
- $nType = $this->parser->skin->getAvailableTypes();
+ $type = strtolower(trim(requestVar('type')));
$skinid = intRequestVar('skinid');
- $query = "SELECT stype FROM %s WHERE stype NOT IN (%s) AND sdesc=%d;";
- $query = sprintf($query, sql_table('skin'), "'" . implode("', '", $nType) . "'", (integer) $skinid);
-
- $res = DB::getResult($query);
- if ( $res && $res->rowCount() > 0 )
+ if ( !preg_match('#^admin#', $this->skintype) )
{
- /* NOTE: set templates for HEAD/BODY/FOOT */
- if ( !array_key_exists('ADMIN_SPECIALSKINLIST_HEAD', $templates) || empty($templates['ADMIN_SPECIALSKINLIST_HEAD']) )
- {
- $template['head'] = "<ul>\n";
- }
- else
- {
- $template['head'] = $templates['ADMIN_SPECIALSKINLIST_HEAD'];
- }
- if ( !array_key_exists('ADMIN_SPECIALSKINLIST_BODY', $templates) || empty($templates['ADMIN_SPECIALSKINLIST_BODY']) )
- {
- $template['body'] = '<li>'
- . '<a tabindex="<%tabindex%>" href="index.php?action=adminskinedittype&skinid=<%skinid%>&type=<%skintype%>">'
- . '<%skintype%>'
- . '</a>'
- . '(<a tabindex="<%tabindex%>" href="index.php?action=adminskinremovetype&skinid=<%skinid%>&type=<%skintype%>">'
- . 'remove'
- . '</a>)'
- . "</li>\n";
- }
- else
- {
- $template['body'] = $templates['ADMIN_SPECIALSKINLIST_BODY'];
- }
- if ( !array_key_exists('ADMIN_SPECIALSKINLIST_FOOT', $templates) || empty($templates['ADMIN_SPECIALSKINLIST_FOOT']) )
- {
- $template['foot'] = "</ul>\n";
- }
- else
- {
- $template['foot'] = $templates['ADMIN_SPECIALSKINLIST_FOOT'];
- }
-
- $tabstart = 120;
-
- /* NOTE: do echo */
- $data = array();
- echo $template['head'];
- foreach ( $res as $row )
- {
- $data = array(
- 'tabindex' => $tabstart++,
- 'skinid' => $skinid,
- 'skintype' => Entity::hsc(strtolower($row['stype']))
- );
- echo Template::fill($template['body'], $data);
- }
- $data = array();
- echo $template['foot'];
+ $skin =& $manager->getSkin($skinid);
+ $tag = 'skinvar';
}
- return;
- }
-
- /**
- * AdminActions::parse_admintemplateoverview()
- * Parse skinvar admintemplateoverview
- *
- * @param string $templateName name of template to use
- * @return void
- */
- public function parse_admintemplateoverview($templateName = '')
- {
- $query = "SELECT * FROM %s WHERE tdname LIKE 'admin/%%' ORDER BY tdname;";
- $query = sprintf($query, sql_table('template_desc'));
-
- $template['content'] = 'admintemplatelist';
- $template['tabindex'] = 10;
-
- Showlist($query, 'table', $template, $templateName);
- return;
- }
-
- /**
- * AdminActions::parse_allowedadminskinactions()
- * Parse skinvar allowedadminskinactions
- *
- * @param void
- * @return void
- */
- public function parse_allowedadminskinactions()
- {
- global $DIR_ADMINSKINS;
- $skinType = strtolower(trim(requestVar('type')));
- $actions = $this->parser->skin->getAllowedActionsForType($skinType);
- sort($actions);
-
- while ( $current = array_shift($actions) )
+ else
{
- // TODO: remove this
- // skip deprecated vars
- if ($current == 'ifcat' || $current == 'imagetext' || $current == 'vars')
- {
- continue;
- }
-
- echo helplink("adminskinvar-{$current}") . "$current</a>\n";
-
- if ( count($actions) != 0 )
- {
- echo ", ";
- }
+ $skin =& $manager->getSkin($skinid, 'AdminActions');
+ $tag = 'adminskinvar';
}
- return;
- }
-
- /**
- * AdminActions::parse_allowedskinactions()
- * Parse skinvar allowedskinactions
- *
- * @param void
- * @return void
- */
- public function parse_allowedskinactions()
- {
- $skinType = strtolower(trim(requestVar('type')));
- $skinid = intRequestVar('skinid');
- $skin = new Skin($skinid);
- $actions = $skin->getAllowedActionsForType($skinType);
+ $actions = $skin->getAllowedActionsForType($type);
sort($actions);
while ( $current = array_shift($actions) )
{
- // TODO: remove this
- // skip deprecated vars
- if ( $current == 'ifcat' || $current == 'imagetext' || $current == 'vars' )
- {
- continue;
- }
-
- /* TODO: alternative function should be used or not? */
- echo helplink("skinvar-{$current}") . "$current</a>\n";
+ echo helplink("{$tag}-{$current}") . "$current</a>\n";
if ( count($actions) != 0 )
{
/**
* AdminActions::parse_banlistdeletedlist()
* Parse skinvar banlistdeletedlist
- *
- * @param string $templateName name of template to use
+ *
+ * @param string $template_name name of template to use
* @return void
*/
- public function parse_banlistdeletedlist($templateName = '')
+ public function parse_banlistdeletedlist($template_name = '')
{
global $manager;
$templates = array();
- if ( $templateName )
+ if ( $template_name )
{
- $templates = Template::read($templateName);
+ $templates =& $manager->getTemplate($template_name);
}
if ( !array_key_exists('BANLIST_DELETED_LIST', $templates) || empty($templates['BANLIST_DELETED_LIST']) )
/**
* AdminActions::parse_batchdeletelist()
* Parse skinvar batchdeletelist
- *
+ *
* @param void
* @return void
*/
}
return;
}
-
- /**
- * AdminActions::parse_batchdeletetype()
- * Parse skinvar batchdeletetype
- *
- * @param void
- * @return void
- */
- public function parse_batchdeletetype()
- {
- echo Entity::hsc(requestVar('action'));
- return;
- }
/**
- * AdminActions::parse_batchmovebtn()
- * Parse skinvar batchmovebtn
- *
- * @param void
+ * AdminActions::parse_defadminskinselect()
+ * Parse skinvar defadminskinselect
+ *
+ * @param string $template_name name of template to use
* @return void
*/
- public function parse_batchmovebtn()
+ public function parse_defadminskinselect($template_name)
{
- $actionType = requestVar('action');
- switch ( $actionType )
+ global $CONF, $action;
+
+ if ( $action == 'editmembersettings' )
{
- case 'batchitem':
- echo _MOVE_BTN;
- break;
- case 'batchcategory':
- echo _MOVECAT_BTN;
- break;
+ global $member;
+ $default = $member->adminskin;
}
- return;
+ elseif ( $action == 'memberedit' )
+ {
+ global $manager;
+ $mem = $manager->getMember(intRequestVar('memberid'));
+ $default = $mem->adminskin;
+ }
+ else
+ {
+ $default = $CONF['AdminSkin'];
+ }
+
+ $query = "SELECT sdname as text, sdnumber as value FROM %s WHERE sdname LIKE 'admin/%%'";
+ $query = sprintf($query, sql_table('skin_desc'));
+ $template = array(
+ 'name' => 'adminskin',
+ 'tabindex' => 10080,
+ 'selected' => $default
+ );
+
+ if ( $this->skintype != 'settingsedit' )
+ {
+ $template['extra'] = Entity::hsc(_MEMBERS_USESITELANG);
+ }
+
+ $this->parser->parse(showlist($query, 'select', $template, $template_name));
+ return;
+ }
+
+ /**
+ * AdminActions::parse_defbookmarkletselect()
+ * Parse skinvar defbookmarkletselect
+ *
+ * @param string $template_name name of template to use
+ * @return void
+ */
+ public function parse_defbookmarkletselect($template_name)
+ {
+ global $CONF, $action;
+
+ if ( $action == 'editmembersettings' )
+ {
+ global $member;
+ $default = $member->bookmarklet;
+ }
+ elseif ( $action == 'memberedit' )
+ {
+ global $manager;
+ $mem = $manager->getMember(intRequestVar('memberid'));
+ $default = $mem->bookmarklet;
+ }
+ else
+ {
+ $default = $CONF['BookmarkletSkin'];
+ }
+
+ $query = "SELECT sdname as text, sdnumber as value FROM %s WHERE sdname LIKE 'admin/%%'";
+ $query = sprintf($query, sql_table('skin_desc'));
+
+ $template = array(
+ 'name' => 'bookmarklet',
+ 'tabindex' => 10085,
+ 'selected' => $default
+ );
+
+ if ( $this->skintype != 'settingsedit' )
+ {
+ $template['extra'] = Entity::hsc(_MEMBERS_USESITELANG);
+ }
+
+ $this->parser->parse(showlist($query, 'select', $template, $template_name));
+ return;
+ }
+
+ /**
+ * AdminActions::parse_batchdeletetype()
+ * Parse skinvar batchdeletetype
+ *
+ * @param void
+ * @return void
+ */
+ public function parse_batchdeletetype()
+ {
+ echo Entity::hsc(requestVar('action'));
+ return;
+ }
+
+ /**
+ * AdminActions::parse_batchmovebtn()
+ * Parse skinvar batchmovebtn
+ *
+ * @param void
+ * @return void
+ */
+ public function parse_batchmovebtn()
+ {
+ $actionType = requestVar('action');
+ switch ( $actionType )
+ {
+ case 'batchitem':
+ echo _MOVE_BTN;
+ break;
+ case 'batchcategory':
+ echo _MOVECAT_BTN;
+ break;
+ }
+ return;
}
/**
* AdminActions::parse_batchmovelist()
* Parse skinvar batchmovelist
- *
+ *
* @param void
* @param void
*/
/**
* AdminActions::parse_batchmovetitle()
* Parse skinvar batchmovetitle
- *
+ *
* @param void
* @return void
*/
/**
* AdminActions::parse_batchmovetype()
* Parse skinvar batchmovetype
- *
+ *
* @param void
* @return void
*/
/**
* AdminActions::parse_blogcatlist()
* Parse skinvar blogcatlist
- *
+ *
* @param void
* @return void
*/
- public function parse_blogcatlist($templateName = '')
+ public function parse_blogcatlist($template_name = '')
{
global $manager;
$blogid = intRequestVar('blogid');
- $query = "SELECT * FROM %s WHERE cblog = %d ORDER BY cname;";
+ $query = "SELECT * FROM %s WHERE cblog = %d ORDER BY cname;";
$query = sprintf($query, sql_table('category'), (integer) $blogid);
- $template['content'] = 'categorylist';
- $template['tabindex'] = 200;
+ $resource = DB::getResult($query);
+ if ( $resource->rowCount() > 0 )
+ {
+ $template['content'] = 'categorylist';
+ $template['tabindex'] = 200;
+ $this->parser->parse(listplug_batchlist('category', $resource, 'table', $template, $template_name));
+ }
+ else
+ {
+ /* TODO: nothing to be shown */
+ }
+ $resource->closeCursor();
- $batch = new Batch('category');
- $batch->showlist($query, 'table', $template, $templateName);
return;
}
/**
* AdminActions::parse_blogid()
* Parse skinvar blogid
- *
+ *
* @param void
* @return void
*/
/**
* AdminActions::parse_blognotifysetting()
* Parse skinvar blognotifysetting
- *
+ *
* @param void
* @return void
*/
public function parse_blognotifysetting($type)
{
global $manager;
- $blogid = intRequestVar('blogid');
- $blog = $manager->getBlog($blogid);
+ $blogid = intRequestVar('blogid');
+ $blog =& $manager->getBlog($blogid);
switch ( $type )
{
}
/**
- * AdminActions::parse_blogselectbox()
- * Parse skinvar blogselectbox
- *
- * @param void
- * @return void
- */
- public function parse_blogselectbox()
- {
- global $member;
-
- $selectData = requestVar('selectData');
- $mode = $selectData['mode'];
- $name = Entity::hsc($selectData['name']);
- $tabindex = Entity::hsc($selectData['tabindex']);
- $aBlogIds = array_map('intval', $selectData['aBlogIds']);
- $showNewCat = intval($selectData['showNewCat']);
- $selected = intval($selectData['selected']);
-
- echo "<select name=\"{$name}\" tabindex=\"{$tabindex}\">\n";
-
- // 1. select blogs (we'll create optiongroups)
- // (only select those blogs that have the user on the team)
- $queryBlogs = "SELECT bnumber, bname FROM %s WHERE bnumber in (%s) ORDER BY bname;";
- $queryBlogs = sprintf($queryBlogs, sql_table('blog'), implode(',', $aBlogIds));
- $blogs = DB::getResult($queryBlogs);
-
- if ( $mode == 'category' )
- {
- if ( $blogs->rowCount() > 1 )
- {
- $multipleBlogs = 1;
- }
- foreach ( $blogs as $rBlog )
- {
- if ( isset($multipleBlogs) && !empty($multipleBlogs) )
- {
- echo '<optgroup label="' . Entity::hsc($rBlog['bname']) . "\">\n";
- }
-
- // show selection to create new category when allowed/wanted
- if ( $showNewCat )
- {
- // check if allowed to do so
- if ( $member->blogAdminRights($rBlog['bnumber']) )
- {
- echo '<option value="newcat-' . $rBlog['bnumber'] . '">' . _ADD_NEWCAT . "</option>\n";
- }
- }
-
- // 2. for each category in that blog
- $catQuery = "SELECT cname, catid FROM %s WHERE cblog=%d ORDER BY cname ASC;";
- $catQuery = sprintf($catQuery, sql_table('category'), (integer) $rBlog['bnumber']);
- $categories = DB::getResult($catQuery);
- foreach ( $categories as $rCat )
- {
- if ( $rCat['catid'] == $selected )
- {
- $selectText = ' selected="selected" ';
- }
- else
- {
- $selectText = '';
- }
- echo '<option value="' . $rCat['catid'] . '" ' . $selectText . '>' . Entity::hsc($rCat['cname']) . "</option>\n";
- }
-
- if ( isset($multipleBlogs) && !empty($multipleBlogs) )
- {
- echo '</optgroup>';
- }
- }
- }
- else
- {
- // blog mode
- foreach ( $blogs as $rBlog )
- {
- echo '<option value="' . $rBlog['bnumber'] . '"';
- if ( $rBlog['bnumber'] == $selected )
- {
- echo '<option value="' . $rBlog['bnumber'] . '" selected="selected">' . Entity::hsc($rBlog['bname']) . "</option>\n";
- }
- else
- {
- echo '<option value="' . $rBlog['bnumber'] . '">' . Entity::hsc($rBlog['bname']) . "</option>\n";
- }
- }
- }
- echo "</select>\n";
- return;
- }
-
- /**
* AdminActions::parse_blogsetting()
* Parse skinvar blogsetting
- *
+ *
* @param string $which name of weblog setting
* @return void
*/
/**
* AdminActions::parse_blogsettingyesno()
* Parse skinvar blogsettingyesno
- *
+ *
* @param string $type type of weblog setting
- * @param string $templateName name of template to use
+ * @param string $template_name name of template to use
* @return void
*/
- public function parse_blogsettingyesno($type, $templateName = '')
+ public function parse_blogsettingyesno($type, $template_name = '')
{
global $manager;
-
- $blogid = intRequestVar('blogid');
- $blog = $manager->getBlog($blogid);
-
+
+ $blogid = intRequestVar('blogid');
+ $blog =& $manager->getBlog($blogid);
+
switch ( $type )
{
case 'convertbreaks':
$tabindex = 122;
break;
}
- $this->parse_inputyesno($type, $checkedval, $tabindex, 1, 0, _YES, _NO, 0, $templateName);
+ $this->parse_inputyesno($type, $checkedval, $tabindex, 1, 0, _YES, _NO, 0, $template_name);
return;
}
/**
* AdminActions::parse_blogteamlist()
* Parse skinvar blogteamlist
- *
- * @param string $templateName name of template to use
+ *
+ * @param string $template_name name of template to use
* @return void
*/
- public function parse_blogteamlist($templateName = '')
+ public function parse_blogteamlist($template_name = '')
{
global $manager;
$blogid = intRequestVar('blogid');
- $query = "SELECT tblog, tmember, mname, mrealname, memail, tadmin "
- . "FROM %s, %s "
- . "WHERE tmember=mnumber AND tblog= %d";
+ $query = "SELECT tblog, tmember, mname, mrealname, memail, tadmin "
+ . "FROM %s, %s "
+ . "WHERE tmember=mnumber AND tblog= %d";
$query = sprintf($query, sql_table('member'), sql_table('team'), (integer) $blogid);
- $template['content'] = 'teamlist';
- $template['tabindex'] = 10;
-
- $batch = new Batch('team');
- $batch->showList($query, 'table', $template, $templateName, _LISTS_NOMORE);
+ $resource = DB::getResult($query);
+ if ( $resource->rowCount() > 0 )
+ {
+ $template['content'] = 'teamlist';
+ $template['tabindex'] = 10;
+
+ $this->parser->parse(listplug_batchlist('team', $resource, 'table', $template, $template_name));
+ }
+ else
+ {
+ echo _LISTS_NOMORE;
+ }
+ $resource->closeCursor();
+
return;
}
/**
* AdminActions::parse_blogteammembers()
* Parse skinvar blogteammembers
- *
+ *
* @param void
* @return void
*/
{
$blogid = intRequestVar('blogid');
$query = "SELECT mname, mrealname "
- . "FROM %s, %s "
- . "WHERE mnumber=tmember AND tblog=%d;";
+ . "FROM %s, %s "
+ . "WHERE mnumber=tmember AND tblog=%d;";
$query = sprintf($query, sql_table('member'), sql_table('team'), (integer) $blogid);
$res = DB::getResult($query);
$memberNames = array();
/**
* AdminActions::parse_blogtime()
* Parse skinvar blogtime
- *
+ *
* @param string $type type of time
* @param string $format format for time expression
* @param integer $offset offset of time
else
{
$bid = intRequestVar('blogid');
- $b = $manager->getBlog($bid);
+ $b =& $manager->getBlog($bid);
$timestamp = $b->getCorrectTime() + $offset;
}
/**
* AdminActions::parse_bookmarkletadmin()
* Parse skinvar bookmarkletadmin
- *
+ *
* @param void
* @return void
*/
echo Entity::hsc('javascript:' . getBookmarklet($blogid));
return;
}
-
+
/**
* AdminActions::parse_categories()
* Parse skinvar categories
- *
+ *
* create category dropdown box
- *
+ *
* @param string $type name of setting for category
* @return void
*/
{
global $manager;
- $item = FALSE;
- $itemid = intRequestVar('itemid');
- $item = &$manager->getItem($itemid, 1, 1);
-
- $blog = FALSE;
- if ( !$item )
+ if ( !array_key_exists('catid', Admin::$contents) || empty(Admin::$contents['catid']) )
{
- $blogid = intRequestVar('blogid');
+ $catid = Admin::$blog->getDefaultCategory();
}
else
{
- $blogid = $item['blogid'];
- }
- $blog = &$manager->getBlog($blogid);
-
- if ( $item && $blog->convertBreaks() && requestVar('action') == 'itemedit' )
- {
- $item['body'] = removeBreaks($item['body']);
- $item['more'] = removeBreaks($item['more']);
- }
-
- $contents = array();
- if ( requestVar('action') == 'itemedit' )
- {
- $contents = $item;
+ $catid = Admin::$contents['catid'];
}
- if ( !array_key_exists('catid', $contents) || empty($contents['catid']) )
- {
- // on add item
- $catid = $blog->getDefaultCategory();
- }
- else
- {
- // on edit item
- $catid = $contents['catid'];
- }
+ $this->selectBlog('catid', 'category', $catid, $startidx, 1, Admin::$blog->getID());
- Admin::selectBlogCategory('catid', $catid, $startidx, 1, $blog->getID());
-
- return;
- }
-
- /**
- * AdminActions::parse_category()
- * Parse skinvar category
- *
- * @param string $type name of setting for category
- * @return void
- */
- public function parse_category($type = 'name')
- {
- echo $this->parse_getcategory($type);
return;
}
-
+
/**
* AdminActions::parse_categorysetting()
* Parse skinvar categorysetting
- *
+ *
* @param string $type type in category setting
* @return void
*/
/**
* AdminActions::parse_codename()
* Parse templatevar codename
- *
+ *
* @param $value
* @param $name
- *
+ *
*/
public function parse_checkedonval($value, $name)
{
$itemid = intRequestVar('itemid');
$item =& $manager->getItem($itemid, 1, 1);
- $blog =& $manager->getBlog(getBlogIDFromItemID($itemid));
-
- if ( $item && $blog->convertBreaks() && requestVar('action') == 'itemedit' )
+ if ( $item )
{
- $item['body'] = removeBreaks($item['body']);
- $item['more'] = removeBreaks($item['more']);
+ $blog =& $manager->getBlog($item['blogid']);
+
+ if ( $blog->convertBreaks() && requestVar('action') == 'itemedit' )
+ {
+ $item['body'] = removeBreaks($item['body']);
+ $item['more'] = removeBreaks($item['more']);
+ }
}
$contents = array();
/**
* AdminActions::parse_codename()
* Parse templatevar codename
- *
+ *
* @param void
* @return void
- *
+ *
* TODO: is this need???
*/
public function parse_codename()
/**
* AdminActions::parse_commentnavlist()
* Parse skinvar commentnavlist
- *
+ *
* @param void
* @return void
*/
$query .= " ORDER BY ctime ASC LIMIT {$start},{$amount}";
- $template['content'] = 'commentlist';
+ $resource = DB::getResult($query);
+ if ( $resource->rowCount() > 0 )
+ {
+ $template['action'] = $this->skintype;
+ $template['start'] = $start;
+ $template['amount'] = $amount;
+ $template['minamount'] = 0;
+ $template['maxamount'] = 1000;
+ $template['blogid'] = $bid;
+ $template['search'] = $search;
+ $template['itemid'] = $itemid;
+
+ $template['content'] = 'commentlist';
+
+ $this->parser->parse(listplug_navlist('comment', $resource, 'table', $template));
+ }
+ else
+ {
+ /* TODO: nothing to be shown */
+ }
+ $resource->closeCursor();
- $navList = new Navlist($this->skintype, $start, $amount, 0, 1000, $bid, $search, $itemid);
- $navList->showBatchList('comment', $query, 'table', $template, $nonComments);
return;
}
/**
* AdminActions::parse_configsettingsedit()
* Parse skinvar configsettingsedit
- *
+ *
* @param string $type type of global configuration
* @return void
*/
/**
* AdminActions::parse_configsettingsyesno()
* Parse skinvar configsettingsyesno
- *
+ *
* @param string $type type of global setting
* @param integer $tabindex tabindex attribute of input element
* @return void
/**
* AdminActions::parse_contents()
* Parse skinvar contents
- *
+ *
* @param string $which part for item
* @return void
*/
public function parse_contents($which)
{
- global $manager;
-
- $item = false;
- $contents = array();
-
- if ( requestVar('action') == 'itemedit' )
- {
- $itemid = intRequestVar('itemid');
- $item =& $manager->getItem($itemid, 1, 1);
-
- $blog =& $manager->getBlog(getBlogIDFromItemID($itemid));
-
- if ( $item && $blog->convertBreaks() )
- {
- $item['body'] = removeBreaks($item['body']);
- $item['more'] = removeBreaks($item['more']);
- }
- $contents = $item;
- }
- elseif ( requestVar('action') == 'createitem' )
- {
- $blogid = intRequestVar('blogid');
- $blog =& $manager->getBlog($blogid);
- $manager->notify(
- 'PreAddItemForm',
- array(
- 'contents' => &$contents,
- 'blog' => &$blog
- )
- );
- }
-
- if ( !array_key_exists($which, $contents) )
+ if ( !array_key_exists($which, Admin::$contents) )
{
- $contents[$which] = '';
+ Admin::$contents[$which] = '';
}
- echo Entity::hsc($contents[$which],ENT_QUOTES);
+ echo Entity::hsc(Admin::$contents[$which]);
}
/**
* AdminActions::parse_currenttime()
* Parse skinvar currenttime
- *
+ *
* @param string $what
*/
// for future items
public function parse_currenttime($what)
{
- global $manager;
- if ( requestVar('action') == 'itemedit' )
- {
- $itemid = intRequestVar('itemid');
- $blog =& $manager->getBlog(getBlogIDFromItemID($itemid));
- }
- elseif ( requestVar('action') == 'createitem' )
- {
- $blog =& $manager->getBlog(intRequestVar('blogid'));
- }
- $nu = getdate($blog->getCorrectTime());
+ $nu = getdate(Admin::$blog->getCorrectTime());
echo $nu[$what];
}
/**
* AdminActions::parse_customhelplink()
* Parse skinvar customhelplink
- *
+ *
* @param string $topic name of topic
* @param string $tplName name of template
* @param string $url string as URI
public function parse_date($format = 'c')
{
global $CONF, $manager;
- echo i18n::formatted_datetime($format, time(), 'iso8601', $manager->getBlog((integer) $CONF['DefaultBlog']));
+ /* TODO: offset is based on i18n::get_current_locale()? */
+ echo i18n::formatted_datetime($format, time());
return;
}
/**
- * AdminActions::parse_defaultadminskintypes()
+ * AdminActions::parse_normalskinlist()
* Parse skinvar defaultadminskintypes
- *
- * @param string $tabindex index number for tabindex attribute of input element
- * @param string $templateName name of template
+ *
+ * @param string $template_name name of template
* @return void
*/
- public function parse_defaultadminskintypes($tabindex, $templateName = '')
+ public function parse_normalskinlist($template_name = '')
{
- $templates = array();
-
- if ( $templateName )
- {
- $templates = Template::read($templateName);
- }
-
- $types = $this->parser->skin->getAvailableTypes();
- ksort($types);
+ global $CONF, $manager;
- /* NOTE: set templates for HEAD/BODY/FOOT */
- if ( !array_key_exists('ADMINSKINTYPELIST_HEAD', $templates) || empty($templates['ADMINSKINTYPELIST_HEAD']) )
- {
- $template['head'] = "<ul>\n";
- }
- else
- {
- $template['head'] = $templates['ADMINSKINTYPELIST_HEAD'];
- }
- if ( !array_key_exists('ADMINSKINTYPELIST_BODY', $templates) || empty($templates['ADMINSKINTYPELIST_BODY']) )
- {
- $template['body'] = "<li>"
- . "<a tabindex=\"<%tabindex%>\" href=\"index.php?action=adminskinedittype&skinid=<%skinid%>&type=<%skintype%>\"><%name%></a> <%help%>"
- . "</li>\n";
- }
- else
- {
- $template['body'] = $templates['ADMINSKINTYPELIST_BODY'];
- }
- if ( !array_key_exists('ADMINSKINTYPELIST_FOOT', $templates) || empty($templates['ADMINSKINTYPELIST_FOOT']) )
+ if ( !preg_match('#^admin#', $this->skintype) )
{
- $template['foot'] = "</ul>\n";
+ $skin =& $manager->getSkin($CONF['BaseSkin']);
+ /* TODO: removeaction? */
+ $template['editaction'] = 'skinedittype';
}
else
{
- $template['foot'] = $templates['ADMINSKINTYPELIST_FOOT'];
+ $skin =& $manager->getSkin($CONF['AdminSkin'], 'AdminActions');
+ $template['editaction'] = 'adminskinedittype';
+ /* TODO: removeaction? */
}
- $handler = new AdminActions('template');
- $parser = new PARSER($handler);
-
- /* NOTE: do output */
- echo $template['head'];
- foreach ( $types as $type => $fName )
+ $temporary = $skin->getDefaultTypes();
+ $normal_skintype = array();
+ foreach ( $temporary as $type => $label )
{
- $helplink = $this->customHelpHtml("skinpart{$type}{$templateName}");
- $data = array(
- 'tabindex' => $tabindex,
- 'skintype' => $type,
- 'name' => $fName,
- 'help' => $helplink,
- 'skinid' => intrequestVar('skinid'),
+ $normal_skintype[] = array(
+ 'skintype' => $type,
+ 'skintypename' => $label
);
- $parser->parse(Template::fill($template['body'], $data));
- $tabindex++;
}
- echo $template['foot'];
+
+ $template['tabindex'] = 10;
+ $template['skinid'] = $skin->getID();
+ $template['skinname'] = $skin->getName();
+ $this->parser->parse(showlist($normal_skintype, 'list_normalskinlist', $template, $template_name));
return;
}
/**
* AdminActions::parse_defblogselect()
* Parse skinvar defblogselect
- *
- * @param string $templateName name of template
+ *
+ * @param string $template_name name of template
* @return void
*/
- public function parse_defblogselect($templateName = '')
+ public function parse_defblogselect($template_name = '')
{
global $CONF;
$template['name'] = 'DefaultBlog';
$template['selected'] = $CONF['DefaultBlog'];
$template['tabindex'] = 10;
-
- Showlist($query, 'select', $template, $templateName);
+ $this->parser->parse(showlist($query, 'select', $template, $template_name));
return;
}
/**
* AdminActions::parse_defcatselect()
* Parse skinvar defcatselect
- *
- * @param string $templateName name of template
+ *
+ * @param string $template_name name of template
* @return void
*/
- public function parse_defcatselect($templateName = '')
+ public function parse_defcatselect($template_name = '')
{
global $manager;
$blogid = intRequestVar('blogid');
- $blog = $manager->getBlog($blogid);
+ $blog =& $manager->getBlog($blogid);
$query = "SELECT cname as text, catid as value FROM %s WHERE cblog=%d;";
$query = sprintf($query, sql_table('category'), (integer) $blog->getID());
$template['selected'] = $blog->getDefaultCategory();
$template['tabindex'] = 110;
- Showlist($query, 'select', $template, $templateName);
+ $this->parser->parse(showlist($query, 'select', $template, $template_name));
return;
}
/**
* AdminActions::parse_defskinselect()
* Parse skinvar defskinselect
- *
+ *
* @param string $type type of skin
- * @param string $templateName name of template
+ * @param string $template_name name of template
* @return void
*/
- public function parse_defskinselect($type = 'blog', $templateName = '')
+ public function parse_defskinselect($type = 'blog', $template_name = '')
{
- global $CONF, $manager;
-
- $query = "SELECT sdname as text, sdnumber as value FROM %s WHERE sdname NOT LIKE 'admin/%%';";
- $query = sprintf($query, sql_table('skin_desc'));
-
- $blogid = intRequestVar('blogid');
-
- if ( !$blogid )
- {
- $template['selected'] = $CONF['BaseSkin'];
- }
- else
- {
- $blog = $manager->getBlog($blogid);
- $template['selected'] = $blog->getDefaultSkin();
- }
+ global $CONF, $manager, $member;
- if ( $type != 'blog' )
+ if ( !preg_match('#^admin#', $this->skintype) )
{
- $nname = 'BaseSkin';
+ $blogid = intRequestVar('blogid');
+ if ( !$blogid )
+ {
+ $template['selected'] = $CONF['BaseSkin'];
+ }
+ else
+ {
+ $blog =& $manager->getBlog($blogid);
+ $template['selected'] = $blog->getDefaultSkin();
+ }
+
+ if ( $type != 'blog' )
+ {
+ $template['name'] = 'BaseSkin';
+ }
+ else
+ {
+ $template['name'] = 'defskin';
+ }
+
+ $query = "SELECT sdname as text, sdnumber as value FROM %s WHERE sdname NOT LIKE 'admin/%%';";
}
else
{
- $nname = 'defskin';
+ /* TODO: member object will have its own adminskin id */
+ $template['selected'] = $CONF['AdminSkin'];
+ $template['name'] = 'AdminSkin';
+ $query = "SELECT sdname as text, sdnumber as value FROM %s WHERE sdname LIKE 'admin/%%';";
}
- $template['name'] = $nname;
+ $query = sprintf($query, sql_table('skin_desc'));
$template['tabindex'] = 50;
- Showlist($query, 'select', $template, $templateName);
+ $this->parser->parse(showlist($query, 'select', $template, $template_name));
return;
}
/**
* AdminActions::parse_deletecomment()
* Parse skinvar deletecomment
- *
+ *
* @param string $type type of infomation for comment
* @return void
*/
/**
* AdminActions::parse_deleteitembody()
* Parse skinvar deleteitembody
- *
+ *
* @param void
* @return void
*/
/**
* AdminActions::parse_deleteitemid()
* Parse skinvar deleteitemid
- *
+ *
* @param void
* @return void
*/
/**
* AdminActions::parse_deleteitemtitle()
- * Parse skinvar deleteitemtitle
- *
- * @param void
- * @return void
- */
- public function parse_deleteitemtitle()
- {
- global $manager;
-
- $itemid = intRequestVar('itemid');
- $item =& $manager->getItem($itemid, 1, 1);
-
- echo Entity::hsc(strip_tags($item['title']));
-
- return;
- }
-
- /**
- * AdminActions::parse_editadminskin()
- * Parse skinvar editadminskin
- *
- * @param string $type type of skin setting
- * @return void
- */
- public function parse_editadminskin($type = 'id')
- {
- $skinid = intRequestVar('skinid');
- $skin = new Skin($skinid);
- switch ( $type )
- {
- case 'id':
- echo intRequestVar('skinid');
- break;
- case 'name':
- echo Entity::hsc($skin->getName());
- break;
- case 'desc':
- echo Entity::hsc($skin->getDescription());
- break;
- case 'type':
- echo Entity::hsc($skin->getContentType());
- break;
- case 'prefix':
- echo Entity::hsc($skin->getIncludePrefix());
- break;
- case 'mode':
- $this->parse_inputyesno('inc_mode', $skin->getIncludeMode(), 120, 'skindir', 'normal', _PARSER_INCMODE_SKINDIR, _PARSER_INCMODE_NORMAL);
- default:
- break;
- }
- return;
- }
-
- /**
- * AdminActions::parse_editadminskintype()
- * Parse skinvar editadminskintype
- *
- * @param string $type name of skin type
+ * Parse skinvar deleteitemtitle
+ *
+ * @param void
* @return void
*/
- public function parse_editadminskintype($type = 'id')
+ public function parse_deleteitemtitle()
{
- global $CONF, $manager, $member;
+ global $manager;
- $fNames = $this->parser->skin->getAvailableTypes();
- $sType = strtolower(trim(requestVar('type')));
+ $itemid = intRequestVar('itemid');
+ $item =& $manager->getItem($itemid, 1, 1);
+
+ echo Entity::hsc(strip_tags($item['title']));
- switch ( $type )
- {
- case 'id':
- echo intRequestVar('skinid');
- break;
- case 'name':
- echo Entity::hsc($this->parser->skin->getName());
- break;
- case 'desc':
- echo Entity::hsc($this->parser->skin->getDescription());
- break;
- case 'type':
- echo Entity::hsc($this->parser->skin->getContentType());
- break;
- case 'content':
- echo Entity::hsc($this->parser->skin->getContentFromDB($sType));
- break;
- case 'skintype':
- $skinType = !array_key_exists($sType, $fNames) ? ucfirst($sType) : $fNames[$sType];
- echo Entity::hsc($skinType);
- break;
- case 'skintyperaw':
- echo Entity::hsc($sType);
- break;
- case 'prefix':
- echo Entity::hsc($this->parser->skin->getIncludePrefix());
- break;
- case 'mode':
- $incMode = $skin->getIncludeMode() ? _PARSER_INCMODE_SKINDIR : _PARSER_INCMODE_NORMAL;
- echo Entity::hsc($incMode);
- break;
- default:
- break;
- }
return;
}
/**
* AdminActions::parse_editcomment()
* Parse skinvar editcomment
- *
+ *
* @param string $type type of comment setting
* @return void
*/
{
global $manager;
- $commentid = intRequestVar('commentid');
- $comment = COMMENT::getComment($commentid);
-
- $manager->notify('PrepareCommentForEdit', array('comment' => &$comment));
+ $comment = Admin::$contents;
switch ( $type )
{
echo $comment['userid'];
break;
default:
- echo $comment[$type];
+ if ( array_key_exists($type, $comment) && !empty($comment[$type]) )
+ {
+ echo $comment[$type];
+ }
break;
}
return;
/**
* AdminActions::parse_editmemberlist()
* Parse skinvar editmemberlist
- *
- * @param string $templateName name of template
+ *
+ * @param string $template_name name of template
* @return void
*/
- public function parse_editmemberlist($templateName = '')
+ public function parse_editmemberlist($template_name = '')
{
global $manager;
// show list of members with actions
- $query = 'SELECT * FROM '.sql_table('member');
- $template['content'] = 'memberlist';
- $template['tabindex'] = 10;
+ $query = 'SELECT * FROM %s;';
+ $query = sprintf($query, sql_table('member'));
+
+ $resource = DB::getResult($query);
+ if ( $resource->rowCount() > 0 )
+ {
+ $template['content'] = 'memberlist';
+ $template['tabindex'] = 10;
+
+ $this->parser->parse(listplug_batchlist('member', $resource, 'table', $template, $template_name));
+ }
+ else
+ {
+ echo _LISTS_NOMORE;
+ }
+ $resource->closeCursor();
- $batch = new Batch('member');
- $batch->showList($query, 'table', $template, $templateName, _LISTS_NOMORE);
return;
}
/**
* AdminActions::parse_editmember()
* Parse skinvar editmember
- *
+ *
* @param string $type type of information for member
* @return string $tempateName name of template to use
* @return void
*/
- public function parse_editmember($type = 'id', $templateName = '')
+ public function parse_editmember($type = 'id', $template_name = '')
{
global $CONF, $manager, $member;
$memberid = intRequestVar('memberid');
- $mem = MEMBER::createFromID($memberid);
+ $mem =& $manager->getMember($memberid);
switch ( $type )
{
echo Entity::hsc($mem->getURL());
break;
case 'admin':
- $this->parse_inputyesno('admin', $mem->isAdmin(), 60, 1, 0, _YES, _NO, 0, $templateName);
+ $this->parse_inputyesno('admin', $mem->isAdmin(), 60, 1, 0, _YES, _NO, 0, $template_name);
break;
case 'canlogin':
- $this->parse_inputyesno('canlogin', $mem->canLogin(), 70, 1, 0, _YES, _NO, $mem->isAdmin(), $templateName);
+ $this->parse_inputyesno('canlogin', $mem->canLogin(), 70, 1, 0, _YES, _NO, $mem->isAdmin(), $template_name);
break;
case 'notes':
echo Entity::hsc($mem->getNotes());
break;
case 'autosave':
- $this->parse_inputyesno('autosave', $mem->getAutosave(), 87, 1, 0, _YES, _NO, 0, $templateName);
+ $this->parse_inputyesno('autosave', $mem->getAutosave(), 87, 1, 0, _YES, _NO, 0, $template_name);
break;
default:
break;
/**
* AdminActions::parse_editpluginfo()
* Parse skinvar editpluginfo
- *
+ *
* @param string $type type of plugin info
* @return void
*/
/**
* AdminActions::parse_editplugoptionslist()
* Parse skinvar editplugoptionslist
- *
- * @param string $templateName name of template
+ *
+ * @param string $template_name name of template
* @return void
*/
- public function parse_editplugoptionslist($templateName = '')
+ public function parse_editplugoptionslist($template_name = '')
{
global $manager;
foreach ( $resource as $row )
{
- array_push($aOIDs, $row['oid']);
+ $aOIDs[] = $row['oid'];
$aOptions[$row['oid']] = array(
'oid' => $row['oid'],
'value' => $row['odef'],
{
$query = 'SELECT oid, ovalue FROM %s WHERE oid in (%s)';
$query = sprintf($query, sql_table('plugin_option'), implode(',', $aOIDs));
-
+
$result = DB::getResult($query);
-
foreach ( $result as $row )
{
$aOptions[$row['oid']]['value'] = $row['ovalue'];
}
}
-
+
// call plugins
$data = array(
'context' => 'global',
);
$manager->notify('PrePluginOptionsEdit', $data);
- $template['content'] = 'plugoptionlist';
-
- $amount = Showlist($aOptions, 'table', $template, $templateName);
-
- if ( $amount == 0 )
+ if ( sizeof($aOptions) > 0 )
+ {
+ $template['content'] = 'plugoptionlist';
+ $this->parser->parse(showlist($aOptions, 'table', $template, $template_name));
+ }
+ else
{
echo '<p>' . _ERROR_NOPLUGOPTIONS . "</p>\n";
}
/**
* AdminActions::parse_editskin()
* Parse skinvar editskin
- *
+ *
* @param string $type type of skin
* @return void
*/
public function parse_editskin($type = 'id')
{
+ global $manager;
+
$skinid = intRequestVar('skinid');
- $skin = new SKIN($skinid);
+
+ if ( !preg_match('#^admin#', $this->skintype) )
+ {
+ $skin =& $manager->getSKIN($skinid);
+ }
+ else
+ {
+ $skin =& $manager->getSKIN($skinid, 'AdminActions');
+ }
+
switch ( $type )
{
case 'id':
/**
* AdminActions::parse_editskintype()
* Parse skinvar editskintype
- *
+ *
* @param string $type name of type for skin type
* @return void
*/
- public function parse_editskintype($type = 'id')
+ public function parse_editskintype($stype = 'id')
{
- global $CONF, $manager, $member;
- $skinid = intRequestVar('skinid');
- $skin = new SKIN($skinid);
- $fNames = $skin->getAvailableTypes();
- $sType = strtolower(trim(requestVar('type')));
+ global $manager;
- switch ( $type )
+ static $skin = NULL;
+ static $types = array();
+
+ if ( $skin == NULL )
+ {
+ $skinid = intRequestVar('skinid');
+
+ if ( !preg_match('#^admin#', $this->skintype) )
+ {
+ $skin =& $manager->getSkin($skinid);
+ }
+ else
+ {
+ $skin =& $manager->getSkin($skinid, 'AdminActions');
+ }
+
+ $types = $skin->getDefaultTypes();
+ }
+
+ $type = strtolower(trim(requestVar('type')));
+
+ switch ( $stype )
{
case 'id':
- echo intRequestVar('skinid');
+ echo $skin->getID();
break;
case 'name':
echo Entity::hsc($skin->getName());
echo Entity::hsc($skin->getContentType());
break;
case 'content':
- echo Entity::hsc($skin->getContentFromDB($sType));
+ echo Entity::hsc($skin->getContentFromDB($type));
break;
case 'skintype':
- $skinType = !array_key_exists($sType, $fNames) ? ucfirst($sType) : $fNames[$sType];
+ if ( !array_key_exists($type, $types) )
+ {
+ $skinType = ucfirst($type);
+ }
+ else
+ {
+ $skinType = $types[$type];
+ }
echo Entity::hsc($skinType);
break;
case 'skintyperaw':
- echo Entity::hsc($sType);
+ echo Entity::hsc($type);
break;
case 'prefix':
echo Entity::hsc($skin->getIncludePrefix());
break;
case 'mode':
- $incMode = $skin->getIncludeMode() ? _PARSER_INCMODE_SKINDIR : _PARSER_INCMODE_NORMAL;
+ if ( !$skin->getIncludeMode() != 'skindir' )
+ {
+ $incMode = _PARSER_INCMODE_NORMAL;
+ }
+ else
+ {
+ $incMode = _PARSER_INCMODE_SKINDIR;
+ }
echo Entity::hsc($incMode);
break;
default:
/**
* AdminActions::parse_edittemplateinfo()
* Parse skinvar edittemplateinfo
- *
- * @param string $type name of type for skin
- * @param string $description description for skin
- * @param string $name name of skin
- * @param string $help
- * @param string $tabindex index value for tabindex attribute of input element
- * @param string $big
- * @param string $tplt name of template
- * @return boolean
- */
- public function parse_edittemplateinfo($type, $desc = '', $name = '', $help = '', $tabindex = 0, $big = 0, $tplt = '')
+ *
+ * @param string $format format to output
+ * @param string $typedesc type of template
+ * @param string $typename type name of template
+ * @param string $help help text
+ * @param string $tabindex index value for tabindex attribute of input element
+ * @param string $big textarea size
+ * @param string $tplt name of template to be filled
+ * @return boolean
+ */
+ public function parse_edittemplateinfo($format, $typedesc = '', $typename = '', $help = '', $tabindex = 0, $big = 0, $template_name = '')
{
global $manager;
+ static $id = NULL;
+ static $name = NULL;
+ static $desc = NULL;
- $t_id = intRequestVar('templateid');
- $t_name = Template::getNameFromId($t_id);
- $t_desc = Template::getDesc($t_id);
- $template = &Template::read($t_name);
+ if ( $id == NULL )
+ {
+ $id = intRequestVar('templateid');
+ }
- switch ( $type )
+ if ( $name == NULL )
+ {
+ $name = Template::getNameFromId($id);
+ }
+
+ if ( $desc == NULL )
+ {
+ $desc = Template::getDesc($id);
+ }
+
+ $template =& $manager->getTemplate($name);
+
+ switch ( $format )
{
case 'id':
- echo intval($t_id);
+ echo (integer) $id;
break;
case 'name':
- echo Entity::hsc($t_name);
+ echo Entity::hsc($name);
break;
case 'desc':
- echo Entity::hsc($t_desc);
+ echo Entity::hsc($desc);
break;
case 'extratemplate':
$tabidx = 600;
$pluginfields = array();
- $manager->notify('TemplateExtraFields', array('fields' => &$pluginfields));
-
- $tmplt = array();
- if ( $desc )
+ if ( !preg_match('#^admin/#', $this->skintype) )
{
- $tmplt = Template::read($desc);
- }
- if ( !array_key_exists('TEMPLATE_EDIT_EXPLUGNAME', $tmplt) || empty($tmplt['TEMPLATE_EDIT_EXPLUGNAME']) )
- {
- $base = "</tr>\n"
- . "<tr>\n"
- . '<th colspan="2"><%explugtplname%>' . "</th>\n";
+ $manager->notify('TemplateExtraFields', array('fields' => &$pluginfields));
}
else
{
- $base = $tmplt['TEMPLATE_EDIT_EXPLUGNAME'];
+ $manager->notify('AdminTemplateExtraFields', array('fields' => &$pluginfields));
}
- foreach ( $pluginfields as $pfkey => $pfvalue )
+ foreach ( $pluginfields as $ptkey => $ptvalue )
{
- $data = array('explugtplname' => Entity::hsc($pfkey));
-
+ $tmplt = array();
+ if ( $desc )
+ {
+ $tmplt =& $manager->getTemplate($desc);
+ }
+
+ /* extra plugin field */
+ if ( !array_key_exists('TEMPLATE_EDIT_EXPLUGNAME', $tmplt) || empty($tmplt['TEMPLATE_EDIT_EXPLUGNAME']) )
+ {
+ $base = "</tr>\n"
+ . "<tr>\n"
+ . "<th colspan=\"2\"><%explugtplname%></th>\n";
+ }
+ else
+ {
+ $base = $tmplt['TEMPLATE_EDIT_EXPLUGNAME'];
+ }
+ $data = array(
+ 'explugtplname' => Entity::hsc($ptkey)
+ );
echo Template::fill($base, $data);
-
- foreach ( $pfvalue as $pffield => $pfdesc )
+
+ foreach ( $ptvalue as $ptname => $ptdesc )
{
- $this->templateEditRow($template, $pfdesc, $pffield, '', ++$tabidx, 0, $name);
+ if ( !array_key_exists($ptname, $template) )
+ {
+ $content = '';
+ }
+ else
+ {
+ $content = $template[$ptname];
+ }
+ $this->parser->parse(listplug_templateEditRow($content, $ptdesc, $ptname, $help, $tabidx++, $big, $template_name));
+ continue;
}
}
break;
default:
- $desc = defined($desc) ? constant($desc) : $desc;
- $name = defined($name) ? constant($name) : $name;
- $this->templateEditRow($template, $desc, $name, $help, $tabindex, $big, $tplt);
- break;
- }
-
- return;
- }
-
- /**
- * AdminActions::parse_editadmintemplateinfo()
- * Parse skinvar editadmintemplateinfo
- *
- * @param string $type type of skin template
- * @param string $description description of template
- * @param string $name name of stemplate
- * @param string $tabindex index number for tabindex attribute of input element
- * @param string $big
- * @param string $tplt
- */
- public function parse_editadmintemplateinfo($type, $desc = '', $name = '', $help = '', $tabindex = 0, $big = 0, $tplt = '')
- {
- global $manager;
-
- $t_id = intRequestVar('templateid');
- $t_name = Template::getNameFromId($t_id);
- $t_desc = Template::getDesc($t_id);
- $template = &Template::read($t_name);
-
- switch ( $type )
- {
- case 'id':
- echo intval($t_id);
- break;
- case 'name':
- echo Entity::hsc($t_name);
- break;
- case 'desc':
- echo Entity::hsc($t_desc);
- break;
- case 'extratemplate':
- $tabidx = 600;
- $pluginfields = array();
- $manager->notify('AdminTemplateExtraFields', array('fields' => &$pluginfields));
+ $typedesc = defined($typedesc) ? constant($typedesc) : $typedesc;
+ $typename = defined($typename) ? constant($typename) : $typename;
- $tmplt = array();
- if ( $desc )
- {
- $tmplt = Template::read($desc);
- }
- if ( !array_key_exists('TEMPLATE_EDIT_EXPLUGNAME', $tmplt) || empty($tmplt['TEMPLATE_EDIT_EXPLUGNAME']) )
+ if ( !array_key_exists($typename, $template) )
{
- $base = "</tr>\n"
- . "<tr>\n"
- . '<th colspan="2"><%explugtplname%>' . "</th>\n";
+ $content = '';
}
else
{
- $base = $tmplt['TEMPLATE_EDIT_EXPLUGNAME'];
+ $content = $template[$typename];
}
-
- foreach ( $pluginfields as $pfkey => $pfvalue )
- {
- $data = array('explugtplname' => Entity::hsc($pfkey));
-
- echo Template::fill($base, $data);
-
- foreach ( $pfvalue as $pffield => $pfdesc )
- {
- $this->templateEditRow($template, $pfdesc, $pffield, '', ++$tabidx, 0, $name);
- }
- }
- break;
- default:
- $desc = defined($desc) ? constant($desc) : $desc;
- $name = defined($name) ? constant($name) : $name;
- $this->templateEditRow($template, $desc, $name, $help, $tabindex, $big, $tplt);
+ $this->parser->parse(listplug_templateEditRow($content, $typedesc, $typename, $help, $tabindex, $big, $template_name));
break;
}
+
return;
}
/**
* AdminActions::parse_eventformextra()
* Parse skinvar eventformextra
- *
+ *
* @param string $type name of type for event form extra
* @return void
*/
{
Admin::error(_ERROR_ACTIVATE);
}
- $mem = MEMBER::createFromId($info->vmember);
+ $mem =& $manager->getMember($info->vmember);
if ( !$mem )
{
Admin::error(_ERROR_ACTIVATE);
);
$manager->notify('AdminPrePageHead', $data);
- echo $extrahead;
+
+ $this->parser->parse($extrahead);
return;
}
* AdminActions::parse_member()
* Parse skinvar member
* (includes a member info thingie)
- *
+ *
* @param string $what which memberdata is needed
* @return void
*/
break;
case 'adminurl':
echo $CONF['AdminURL'];
+ break;
}
return;
}
/**
- * AdminActions::parse_charset()
- * Parse skinvar charset
+ * AdminActions::parse_actionurl()
+ * Parse $CONF;
*
* @param void
* @return void
*/
- public function parse_charset()
+ public function parse_actionurl()
{
- echo i18n::get_current_charset();
+ global $CONF;
+ echo Entity::hsc($CONF['ActionURL']);
return;
}
}
elseif ( $bid = intRequestVar('blogid') )
{
- $b = $manager->getBlog($bid);
+ $b =& $manager->getBlog($bid);
}
else
{
return;
}
-
+
switch ( $which )
{
case 'id':
/**
* AdminActions::parse_geteditpluginfo()
* Parse skinvar geteditpluginfo
- *
+ *
* @param string $type name of setting for edit plugin info
* @return void
*/
* AdminActions::parse_getmember()
* Parse skinvar getmember
* (includes a member info thingie)
- *
+ *
* @param string $what name of setting for member
* @return void
*/
/**
* AdminActions::parse_headmessage()
* Parse skinvar headmessage
- *
+ *
* @param void
* @return void
*/
/**
* AdminActions::parse_helplink()
* Parse skinvar helplink
- *
+ *
* @param string $topic name of topic for help
* @return void
*/
/**
* AdminActions::parse_helpplugname()
* Parse skinvar helpplugname
- *
+ *
* @param void
* @return void
*/
/**
* AdminActions::parse_ilistaddnew()
* Parse skinvar ilistaddnew
- *
+ *
* @param void
* @return void
*/
/**
* AdminActions::parse_importskininfo()
* Parse skinvar importskininfo
- *
+ *
* @param string $type name of information for imported skin
* @return void
*/
}
/**
- * AdminActions::parse_inputyesno()
- * Parse skinvar inputyesno
- *
+ * AdminActions::parse_init()
* some init stuff for all forms
- *
+ *
* @param void
* @return void
*/
{
global $manager;
- $item = false;
+ $authorid = '';
if ( requestVar('action') == 'itemedit' )
{
- $itemid = intRequestVar('itemid');
- $item =& $manager->getItem($itemid, 1, 1);
-
- $blog =& $manager->getBlog(getBlogIDFromItemID($itemid));
- if ( $item && $blog->convertBreaks() )
- {
- $item['body'] = removeBreaks($item['body']);
- $item['more'] = removeBreaks($item['more']);
- }
- $contents = $item;
- $authorid = $contents['authorid'];
- }
- elseif ( requestVar('action') == 'createitem' )
- {
- $blogid = intRequestVar('blogid');
- $blog =& $manager->getBlog($blogid);
- $authorid = '';
+ $authorid = Admin::$contents['authorid'];
}
- $blog->insertJavaScriptInfo($authorid);
+
+ Admin::$blog->insertJavaScriptInfo($authorid);
return;
}
/**
* AdminActions::parse_inputyesno()
* Parse skinvar inputyesno
- *
- * @param string $name
- * @param string $checkedval
- * @param string $tabindex
- * @param string $value1
- * @param string $value2
- * @param string $yesval
- * @param string $noval
- * @param string $isAdmin
- * @param string $templateName
+ *
+ * @param string $name
+ * @param string $checkedval
+ * @param string $tabindex
+ * @param string $value1
+ * @param string $value2
+ * @param string $yesval
+ * @param string $noval
+ * @param string $isAdmin
+ * @param string $template_name
* @return void
*/
- public function parse_inputyesno($name, $checkedval, $tabindex = 0, $value1 = 1, $value2 = 0, $yesval = _YES, $noval = _NO, $isAdmin = 0, $templateName = '')
+ public function parse_inputyesno($name, $checkedval, $tabindex = 0, $value1 = 1, $value2 = 0, $yesval = _YES, $noval = _NO, $isAdmin = 0, $template_name = '')
{
- self::input_yesno($name, $checkedval, $tabindex, $value1, $value2, $yesval, $noval, $isAdmin, $templateName );
+ $this->parser->parse(listplug_input_yesno($name, $checkedval, $tabindex, $value1, $value2, $yesval, $noval, $isAdmin, $template_name));
return;
}
}
/**
- * AdminActions::parse_insertpluginoptions()
- * Parse skinvar insertpluginoptions
- *
- * @param string $templateName name of template
- * @return void
- */
- public function parse_insertpluginoptions($templateName = '')
- {
- $options = Admin::getAdminaOption();
- $template = array();
- $templats = array();
-
- if ( $templateName )
- {
- $templates = Template::read($templateName);
- }
-
- if ( !array_key_exists('INSERT_PLUGOPTION_TITLE', $templates) || empty($templates['INSERT_PLUGOPTION_TITLE']) )
- {
- $template['title'] = "<tr>"
- . "<th colspan=\"2\"><%sprinttext(_PLUGIN_OPTIONS_TITLE, <|%insertpluginfo(name)%|>)%></th>"
- . "</tr>\n";
- }
- else
- {
- $template['title'] = $templates['INSERT_PLUGOPTION_TITLE'];
- }
-
- if ( !array_key_exists('INSERT_PLUGOPTION_BODY', $templates) || empty($templates['INSERT_PLUGOPTION_BODY']) )
- {
- $template['body'] = "<tr>"
- . "<%listplugplugoptionrow%>"
- . "</tr>\n";
- }
- else
- {
- $template['body'] = $templates['INSERT_PLUGOPTION_BODY'];
- }
-
- $prevPid = -1;
-
- include_libs('ACTIONS.php');
- $handler = new Actions($this->skintype);
- $parser = new PARSER($handler);
-
- foreach ( $options as $option )
- {
-
- // new plugin?
- if ( $prevPid != $option['pid'] )
- {
- $prevPid = $option['pid'];
- $parser->parse($template['title']);
- }
-
- $meta = NucleusPlugin::getOptionMeta($option['typeinfo']);
-
- if ( @$meta['access'] != 'hidden' )
- {
- $parsed = $parser->parse($template['body']);
- }
- }
- return;
- }
-
- /**
* AdminActions::parse_insplugoptcontent()
* Parse skinvar insplugoptcontent
- *
+ *
* @param void
* @return void
*/
/**
* AdminActions::parse_iprangeinput()
* Parse skinvar iprangeinput
- *
+ *
* @param void
* @return void
*/
/**
* AdminActions::parse_itemnavlist()
* Parse skinvar itemnavlist
- *
+ *
* @param void
* @return void
*/
- public function parse_itemnavlist($templateName)
+ public function parse_itemnavlist($template_name)
{
global $CONF, $manager, $member;
$query = "SELECT bshortname, cname, mname, ititle, ibody, inumber, idraft, itime"
- . " FROM %s, %s, %s, %s"
- . " WHERE iblog=bnumber AND iauthor=mnumber AND icat=catid";
+ . " FROM %s, %s, %s, %s"
+ . " WHERE iblog=bnumber AND iauthor=mnumber AND icat=catid";
$query = sprintf($query, sql_table('item'), sql_table('blog'), sql_table('member'), sql_table('category'));
$blogid = (integer) $item['blogid'];
}
$blog =& $manager->getBlog($blogid);
-
+
$query .= " AND iblog={$blogid}";
$template['now'] = $blog->getCorrectTime(time());
-
+
// non-blog-admins can only edit/delete their own items
if ( !$member->blogAdminRights($blogid) )
{
if ( !empty($search) )
{
$query .= ' AND ((ititle LIKE ' . DB::quoteValue('%'.$search.'%') . ') '
- . ' OR (ibody LIKE ' . DB::quoteValue('%'.$search.'%') . ') '
- . ' OR (imore LIKE ' . DB::quoteValue('%'.$search.'%') . '))';
+ . ' OR (ibody LIKE ' . DB::quoteValue('%'.$search.'%') . ') '
+ . ' OR (imore LIKE ' . DB::quoteValue('%'.$search.'%') . '))';
}
if ( postVar('start') )
$query .= ' ORDER BY itime DESC'
. " LIMIT {$start},{$amount}";
- $template['content'] = 'itemlist';
+ $resource = DB::getResult($query);
+ if ( $resource->rowCount() > 0 )
+ {
+ $template['action'] = $this->skintype;
+ $template['start'] = $start;
+ $template['amount'] = $amount;
+ $template['minamount'] = 0;
+ $template['maxamount'] = 1000;
+ $template['blogid'] = $blogid;
+ $template['search'] = $search;
+ $template['itemid'] = 0;
+
+ $template['content'] = 'itemlist';
+
+ $this->parser->parse(listplug_navlist('item', $query, 'table', $template, $template_name));
+ }
+ else
+ {
+ /* TODO: nothing to be shown */
+ }
+ $resource->closeCursor();
- $navList = new Navlist($this->skintype, $start, $amount, 0, 1000, $blogid, $search, 0);
- $navList->showBatchList('item', $query, 'table', $template, '', $templateName);
return;
}
/**
* AdminActions::parse_itemtime()
* date change on edit item
- *
+ *
* @param string $key key of PHP's getDate()
* @return void
*/
public function parse_itemtime($key)
{
- global $manager;
-
- $item = false;
- $itemid = intRequestVar('itemid');
- $item =& $manager->getItem($itemid, 1, 1);
-
- $blog =& $manager->getBlog(getBlogIDFromItemID($itemid));
-
- if ( $item && $blog->convertBreaks() && requestVar('action') == 'itemedit' )
- {
- $item['body'] = removeBreaks($item['body']);
- $item['more'] = removeBreaks($item['more']);
- }
+ global $manager;
- $contents = array();
- if ( requestVar('action') == 'itemedit' )
- {
- $contents = $item;
- }
- elseif ( requestVar('action') == 'createitem' )
- {
- $data = array(
- 'contents' => &$contents,
- 'blog' => &$this->blog
- );
- $manager->notify('PreAddItemForm', $data);
- }
+ $contents = Admin::$contents;
$itemtime = getdate($contents['timestamp']);
echo $itemtime[$key];
return;
/**
* AdminActions::parse_jstoolbaroptions()
* Parse skinvar jstoolbaroptions
- *
+ *
* @param void
* @return void
*/
/**
* AdminActions::parse_localeselectoptions()
* Parse skinvar localeselectoptions
- *
+ *
* @param void
* @return void
*/
public function parse_localeselectoptions()
{
+ global $CONF, $member;
+
$locales = i18n::get_available_locale_list();
- $memid = intRequestVar('memberid');
- if ( $memid )
+ /* default option */
+ if ( $this->skintype == 'editmembersettings' )
{
- $mem = MEMBER::createFromID($memid);
- if ( !$mem->getLocale() || !in_array($mem->getLocale(), $locales) )
- {
- echo "<option value=\"\" selected=\"selected\">" . Entity::hsc(_MEMBERS_USESITELANG) . "</option>\n";
- }
- else
- {
- echo "<option value=\"\">" . Entity::hsc(_MEMBERS_USESITELANG) . "</option>\n";
- }
+ if ( !$member->getLocale() )\r
+ {\r
+ echo "<option value=\"\" selected=\"selected\">" . Entity::hsc(_MEMBERS_USESITELANG) . "</option>\n";\r
+ }\r
+ else\r
+ {\r
+ echo "<option value=\"\">" . Entity::hsc(_MEMBERS_USESITELANG) . "</option>\n";\r
+ }\r
}
else
{
- if ( !i18n::get_current_locale() || !in_array(i18n::get_current_locale(), $locales) )
- {
- echo "<option value=\"\" selected=\"selected\">en_Latn_US</option>\n";
- }
- else
- {
- echo "<option value=\"\">en_Latn_US</option>\n";
- }
+ if ( $CONF['Locale'] == 'en_Latn_US' )\r
+ {\r
+ echo "<option value=\"\" selected=\"selected\">" . Entity::hsc(_LOCALE_EN_LATN_US) . "</option>\n";\r
+ }\r
+ else\r
+ {\r
+ echo "<option value=\"\">" . Entity::hsc(_LOCALE_EN_LATN_US) . "</option>\n";\r
+ }\r
}
+
+ /* optional options */
foreach ( $locales as $locale )
{
- if ( $locale == 'en_Latn_US' )
+ if ( $this->skintype == 'editmembersettings' )\r
{
- continue;
+ if ( $locale != $member->getLocale() )\r
+ {\r
+ echo "<option value=\"{$locale}\">";\r
+ }\r
+ else\r
+ {\r
+ echo "<option value=\"{$locale}\" selected=\"selected\">";\r
+ }
}
- else if ($memid)
+ else
{
- if ( $locale == $mem->getLocale() )
- {
- echo "<option value=\"{$locale}\" selected=\"selected\">{$locale}</option>\n";
- }
- else
+ if ( $locale == 'en_Latn_US' )
{
- echo "<option value=\"{$locale}\">{$locale}</option>\n";
+ /* already output */
+ continue;
}
+ else if ( $locale != $CONF['Locale'] )\r
+ {\r
+ echo "<option value=\"{$locale}\">";\r
+ }\r
+ else\r
+ {\r
+ echo "<option value=\"{$locale}\" selected=\"selected\">";\r
+ }\r
+ }
+ $label = '_LOCALE_' . strtoupper($locale);
+ if ( !defined($label) )
+ {
+ echo $locale;
}
else
{
- if ( $locale == i18n::get_current_locale() )
- {
- echo "<option value=\"{$locale}\" selected=\"selected\">{$locale}</option>\n";
- }
- else
- {
- echo "<option value=\"{$locale}\">{$locale}</option>\n";
- }
+ echo constant($label);
}
+ echo "</option>\n";\r
}
return;
}
/**
* AdminActions::parse_listplugplugoptionrow()
* Parse templatevar listplugplugoptionrow
- *
- * @param string $templateName name of template
+ *
+ * @param string $template_name name of template
* @return void
*/
- public function parse_listplugplugoptionrow($templateName = '')
+ public function parse_listplugplugoptionrow($template_name = '')
{
- echo listplug_plugOptionRow(Admin::getAdminaOption(), $templateName);
+ echo listplug_plugOptionRow(Admin::getAdminaOption(), $template_name);
return;
}
/**
* AdminActions::parse_mediadirwarning()
* Parse skinvar mediadirwarning
- *
+ *
* @param void
* @return void
*/
switch ( $actionType )
{
case 'batchitem':
- Admin::selectBlogCategory('destcatid');
+ $this->selectBlog('destcatid', 'category');
break;
case 'batchcategory':
- Admin::selectBlog('destblogid');
+ $this->selectBlog('destblogid');
break;
default:
if ( $this->skintype == 'itemmove' )
$query = "SELECT icat as result FROM %s WHERE inumber=%d;";
$query = sprintf($query, sql_table('item'), intRequestVar('itemid'));
$catid = DB::getValue(sprintf($query, intRequestVar('itemid')));
- Admin::selectBlogCategory('catid', $catid, 10, 1);
+ $this->selectBlog('catid', 'category', $catid, 10, 1);
}
break;
}
/**
* AdminActions::parse_moveitemid()
* Parse skinvar moveitemid
- *
+ *
* @param void
* @return void
*/
/**
* AdminActions::parse_newestcompare()
* Parse skinvar newestcompare
- *
+ *
* @param void
* @return void
*/
/**
* AdminActions::parse_newmemberselect()
* Parse skinvar newmemberselect
- *
- * @param string $templateName name of template to use
+ *
+ * @param string $template_name name of template to use
* @return void
*/
- public function parse_newmemberselect($templateName = '')
+ public function parse_newmemberselect($template_name = '')
{
$blogid = intRequestVar('blogid');
$res = DB::getResult($query);
$tmem = array();
- foreach ( $res as $row )
+ foreach ( $res as $row )
{
$tmem[] = intval($row['tmember']);
}
$query = sprintf($query, sql_table('member'), implode(', ', $tmem));
$template = array(
- 'name' => 'memberid',
- 'tabindex' => 10000,
- 'selected' => 0
- );
- Showlist($query, 'select', $template, $templateName);
+ 'name' => 'memberid',
+ 'tabindex' => 10000,
+ 'selected' => 0
+ );
+ $this->parser->parse(showlist($query, 'select', $template, $template_name));
return;
}
/**
* AdminActions::parse_newpluginlist()
* Parse skinvar newpluginlist
- *
+ *
* @param void
* @return void
*/
/**
* AdminActions::parse_outputspecialdirs()
* Parse skinvar outputspecialdirs
- *
+ *
* @param string $type type of setting for directory
* @return void
*/
/**
* AdminActions::parse_passrequestvars()
* Parse skinvar passrequestvars
- *
+ *
* @param void
* @return void
*/
$oldaction = postVar('oldaction');
if ( ($oldaction != 'logout')
- && ($oldaction != 'login')
- && $passvar
- && !postVar('customaction') )
+ && ($oldaction != 'login')
+ && $passvar
+ && !postVar('customaction') )
{
passRequestVars();
}
/**
* AdminActions::parse_pluginextras()
* Parse skinvar pluginextras
- *
+ *
* @param string $type type of plugin context
* @return void
*/
public function parse_pluginextras($type = 'global')
{
global $manager;
+
switch ( $type )
{
case 'member':
$id = intRequestVar('memberid');
- $mem = MEMBER::createFromID($id);
+ $mem =& $manager->getMember($id);
$manager->notify('MemberSettingsFormExtras', array('member' => &$mem));
break;
case 'blog':
$id = intRequestVar('blogid');
- $blg = $manager->getBlog($id);
+ $blg =& $manager->getBlog($id);
$manager->notify('BlogSettingsFormExtras', array('member' => &$blg));
break;
- default:
- $manager->notify(
- 'GeneralSettingsFormExtras',
- array(
- )
+ case 'createaccount':
+ $data = array(
+ 'type' => 'createaccount.php',
+ 'prelabel' => '',
+ 'postlabel' => '<br />',
+ 'prefield' => '',
+ 'postfield' => '<br /><br />'
);
+ $manager->notify('RegistrationFormExtraFields', $data);
+ break;
+ default:
+ $manager->notify('GeneralSettingsFormExtras', array());
break;
}
return;
/**
* AdminActions::parse_pluginhelp()
* Parse skinvar pluginhelp
- *
+ *
* @param void
* @return void
*/
/**
* AdminActions::parse_pluginlistlist()
* Parse skinvar pluginlistlist
- *
- * @param string $templateName name of template to use
+ *
+ * @param string $template_name name of template to use
* @return void
*/
- public function parse_pluginlistlist($templateName = '')
+ public function parse_pluginlistlist($template_name = '')
{
$query = "SELECT * FROM %s ORDER BY porder ASC;";
$query = sprintf($query, sql_table('plugin'));
$template['content'] = 'pluginlist';
$template['tabindex'] = 10;
- Showlist($query, 'table', $template, $templateName);
+ $this->parser->parse(showlist($query, 'table', $template, $template_name));
return;
}
/**
* AdminActions::parse_pluginoptions()
* Parse skinvar pluginoptions
- *
+ *
* @param string $type type of plugin option
* @return void
*/
- public function parse_pluginoptions($context='global')
+ public function parse_pluginoptions($context='global', $template_name='')
{
global $itemid, $manager;
{
$value = $aIdToValue[$row['oid']];
}
-
+
$options[] = array(
'pid' => $row['pid'],
'pfile' => $row['pfile'],
);
$manager->notify('PrePluginOptionsEdit', $data);
- $content = $this->parser->skin->getContentFromDB('insertpluginoptions');
- $this->parser->parse($content);
+ $template = array();
+ if ( $template_name )
+ {
+ $templates =& $manager->getTemplate($template_name);
+ if ( !array_key_exists('INSERT_PLUGOPTION_TITLE', $templates) || empty($templates['INSERT_PLUGOPTION_TITLE']) )
+ {
+ $template['title'] = "<tr>"
+ . "<th colspan=\"2\"><%sprinttext(_PLUGIN_OPTIONS_TITLE, <|%insertpluginfo(name)%|>)%></th>"
+ . "</tr>\n";
+ }
+ else
+ {
+ $template['title'] = $templates['INSERT_PLUGOPTION_TITLE'];
+ }
+
+ if ( !array_key_exists('INSERT_PLUGOPTION_BODY', $templates) || empty($templates['INSERT_PLUGOPTION_BODY']) )
+ {
+ $template['body'] = "<tr>"
+ . "<%listplugplugoptionrow%>"
+ . "</tr>\n";
+ }
+ else
+ {
+ $template['body'] = $templates['INSERT_PLUGOPTION_BODY'];
+ }
+ }
+ $prevPid = -1;
+
+ foreach ( $options as $option )
+ {
+ // new plugin?
+ if ( $prevPid != $option['pid'] )
+ {
+ $prevPid = $option['pid'];
+ $this->parser->parse($template['title']);
+ }
+
+ $meta = NucleusPlugin::getOptionMeta($option['typeinfo']);
+
+ if ( @$meta['access'] != 'hidden' )
+ {
+ $parsed = $this->parser->parse($template['body']);
+ }
+ }
+
return;
}
/**
* AdminActions::parse_qmenuaddselect()
* Parse skinvar qmanuaddselect
- *
- * @param string $templateName name of template to use
+ *
+ * @param string $template_name name of template to use
* @return void
*/
- public function parse_qmenuaddselect($templateName = '')
+ public function parse_qmenuaddselect($template_name = '')
{
- global $member;
+ global $member, $blogid;
$showAll = requestVar('showall');
if ( $member->isAdmin() && ($showAll == 'yes') )
{
// Super-Admins have access to all blogs! (no add item support though)
- $query = 'SELECT bnumber as value, bname as text'
- . ' FROM ' . sql_table('blog')
- . ' ORDER BY bname';
+ $query = 'SELECT bnumber as value, bname as text FROM %s ORDER BY bname;';
+ $query = sprintf($query, sql_table('blog'));
}
else
{
- $query = 'SELECT bnumber as value, bname as text'
- . ' FROM ' . sql_table('blog') . ', ' . sql_table('team')
- . ' WHERE tblog=bnumber and tmember=' . $member->getID()
- . ' ORDER BY bname';
+ $query = 'SELECT bnumber as value, bname as text FROM %s, %s WHERE tblog=bnumber and tmember=%d ORDER BY bname;';
+ $query = sprintf($query, sql_table('blog'), sql_table('team'), (integer) $member->getID());
}
$template['name'] = 'blogid';
$template['tabindex'] = 15000;
$template['extra'] = _QMENU_ADD_SELECT;
- $template['selected'] = -1;
+ $template['selected'] = 0;
$template['shorten'] = 10;
$template['shortenel'] = '';
$template['javascript'] = 'onchange="return form.submit()"';
- Showlist($query, 'select', $template, $templateName);
+ $this->parser->parse(showlist($query, 'select', $template, $template_name));
return;
}
-
+
/**
* AdminActions::parse_quickmenu()
* Parse skinvar quickmenu
- *
- * @param string $templateName name of template to use
+ *
+ * @param string $template_name name of template to use
* @return void
*/
- public function parse_quickmenu($templateName = '')
+ public function parse_quickmenu($template_name = '')
{
global $manager;
$templates = array();
- $template = array();
- if ( !empty($templateName) )
+
+ if ( !empty($template_name) )
{
- $templates = Template::read($templateName);
+ $templates = & $manager->getTemplate($template_name);
}
$pluginExtras = array();
- $manager->notify(
- 'QuickMenu',
- array(
- 'options' => &$pluginExtras
- )
- );
+ $manager->notify('QuickMenu', array('options' => &$pluginExtras));
+
+ $template = array();
if ( count($pluginExtras) > 0 )
{
- if ( !array_key_exists('PLUGIN_QUICKMENU_TITLE', $templates) || empty($templates['PLUGIN_QUICKMENU_TITLE']) )
- {
- $template['title'] = "<h2><%text(_QMENU_PLUGINS)%></h2>\n";
- }
- else
- {
- $template['title'] = $templates['PLUGIN_QUICKMENU_TITLE'];
- }
if ( !array_key_exists('PLUGIN_QUICKMENU_HEAD', $templates) || empty($templates['PLUGIN_QUICKMENU_HEAD']) )
{
- $template['head'] = "<ul>\n";
+ $template['head'] = "<h2><%text(_QMENU_PLUGINS)%></h2>\n"
+ . "<ul>\n";
}
else
{
$template['head'] = $templates['PLUGIN_QUICKMENU_HEAD'];
}
+
if ( !array_key_exists('PLUGIN_QUICKMENU_BODY', $templates) && empty($templates['PLUGIN_QUICKMENU_BODY']) )
{
$template['body'] = "<li><a href=\"<%plugadminurl%>\" title=\"<%plugadmintooltip%>\"><%plugadmintitle%></a></li>\n";
{
$template['body'] = $templates['PLUGIN_QUICKMENU_BODY'];
}
+
if ( !array_key_exists('PLUGIN_QUICKMENU_FOOT', $templates) || empty($templates['PLUGIN_QUICKMENU_FOOT']) )
{
$template['foot'] = "</ul>\n";
$template['foot'] = $templates['PLUGIN_QUICKMENU_FOOT'];
}
- $handler = new Actions($this->skintype);
- $parser = new PARSER($handler);
-
- $parser->parse($template['title']);
- echo $template['head'];
+ $this->parser->parse($template['head']);
foreach ( $pluginExtras as $aInfo )
{
$data = array(
'plugadmintooltip' => Entity::hsc($aInfo['tooltip']),
'plugadmintitle' => Entity::hsc($aInfo['title']),
);
- echo Template::fill($template['body'], $data);
+ $this->parser->parse(Template::fill($template['body'], $data));
}
- echo $template['foot'];
+ $this->parser->parse($template['foot']);
}
return;
}
/**
* AdminActions::parse_requestblogid()
* Parse skinvar requestblogid
- *
+ *
* @param void
* @return void
*/
/**
* AdminActions::parse_requestiprange()
* Parse skinvar requestiprange
- *
+ *
* @param void
* @return void
*/
}
/**
- * AdminActions::parse_selectlocaladminskinfiles()
- * Parse skinvar selectlocaladminskinfiles
- *
- * @param void
- * @return void
- */
- public function parse_selectlocaladminskinfiles()
- {
- global $DIR_SKINS, $manager;
-
- $adminskindir = $DIR_SKINS . 'admin/';
- $candidates = SkinImport::searchForCandidates($adminskindir);
-
- foreach ( $candidates as $skinname => $skinfile )
- {
- $html = Entity::hsc($skinfile);
- echo '<option value="' . $html . '">' . $skinname . "</option>\n";
- }
-
- return;
- }
-
- /**
* AdminActions::parse_selectlocalskinfiles()
* Parse skinvar selectlocalskinfiles
- *
+ *
* @param void
* @return void
*/
{
global $DIR_SKINS;
- $candidates = SkinImport::searchForCandidates($DIR_SKINS);
+ if ( !class_exists('SkinImport', FALSE) )
+ {
+ include_libs('skinie.php');
+ }
+
+ if ( !preg_match('#^admin#', $this->skintype) && $this->skintype != 'importAdmin' )
+ {
+ $skindir = $DIR_SKINS;
+ }
+ else
+ {
+ $skindir = "{$DIR_SKINS}admin/";
+ }
+ $candidates = SkinImport::searchForCandidates($skindir);
foreach ( $candidates as $skinname => $skinfile )
{
- $html = Entity::hsc($skinfile);
- echo '<option value="' . $html . '">' . $skinname . "</option>\n";
+ $skinfile = Entity::hsc($skinfile);
+ $skinname = Entity::hsc($skinname);
+ echo "<option value=\"{$skinfile}\">{$skinname}</option>\n";
}
-
+
return;
}
/**
* AdminActions::parse_skineditallowedlist()
* Parse skinvar skineditallowedlist
- *
+ *
* @param string $type type of skin
- * @param string $templateName name of template
+ * @param string $template_name name of template
* @return void
*/
- public function parse_skineditallowedlist($type, $templateName = '')
+ public function parse_skineditallowedlist($type, $template_name = '')
{
switch ( $type )
{
'content' => 'shortblognames'
);
$query = sprintf($query, sql_table('blog'));
- Showlist($query, 'table', $show, $templateName);
break;
case 'template':
- $query = "SELECT tdname as name, tddesc as description FROM %s WHERE tdname NOT LIKE 'admin/%%';";
+ if ( !preg_match('#^admin#', $this->skintype) )
+ {
+ $query = "SELECT tdname as name, tddesc as description FROM %s WHERE tdname NOT LIKE 'admin/%%';";
+ }
+ else
+ {
+ $query = "SELECT tdname as name, tddesc as description FROM %s WHERE tdname LIKE 'admin/%%';";
+ }
$show = array(
'content' => 'shortnames'
);
$query = sprintf($query, sql_table('template_desc'));
- Showlist($query, 'table', $show, $templateName);
break;
}
+
+ $this->parser->parse(showlist($query, 'table', $show, $template_name));
return;
}
/**
* AdminActions::parse_skinielist()
* Parse skinvar skinielist
- *
+ *
* @param string $type type of skin
- * @param string $templateName name of template to use
+ * @param string $template_name name of template to use
* @return void
*/
- public function parse_skinielist($type, $templateName = '')
+ public function parse_skinielist($type, $template_name = '')
{
+ global $manager;
+
$templates = array();
- if ( $templateName )
+ if ( $template_name )
{
- $templates = Template::read($templateName);
+ $templates =& $manager->getTemplate($template_name);
}
- if ( array_key_exists('SKINIE_EXPORT_LIST', $templates) && !empty($templates['SKINIE_EXPORT_LIST']) )
+ if ( !array_key_exists('SKINIE_EXPORT_LIST', $templates) || empty($templates['SKINIE_EXPORT_LIST']) )
{
- $template = $templates['SKINIE_EXPORT_LIST'];
+ $template = "<td>"
+ . "<input type=\"checkbox\" name=\"<%typeid%>\" id=\"<%expid%>\" />\n"
+ . "<label for=\"<%expid%>\"><%expname%></label>\n"
+ . "</td>\n"
+ . "<td><%expdesc%></td>\n"
+ . "</tr>\n"
+ . "<tr>\n";
}
else
{
- $template = "<td>"
- . "<input type=\"checkbox\" name=\"<%typeid%>\" id=\"<%expid%>\" />\n"
- . "<label for=\"<%expid%>\"><%expname%></label>\n"
- . "</td>\n"
- . "<td><%expdesc%></td>\n"
- . "</tr>\n"
- . "<tr>\n";
+ $template = $templates['SKINIE_EXPORT_LIST'];
}
+
switch ( $type )
{
case 'skin':
- $res = DB::getResult('SELECT * FROM ' . sql_table('skin_desc'). " WHERE sdname NOT LIKE 'admin/%%';");
+ if ( !preg_match('#^admin#', $this->skintype) )
+ {
+ $res = DB::getResult('SELECT * FROM ' . sql_table('skin_desc'). " WHERE sdname NOT LIKE 'admin/%%';");
+ }
+ else
+ {
+ $res = DB::getResult('SELECT * FROM ' . sql_table('skin_desc'). " WHERE sdname LIKE 'admin/%%';");
+ }
foreach ( $res as $row )
{
$data = array(
}
break;
case 'template':
- $res = DB::getResult('SELECT * FROM '.sql_table('template_desc'). " WHERE tdname NOT LIKE 'admin/%%';");
+ if ( !preg_match('#^admin#', $this->skintype) )
+ {
+ $res = DB::getResult('SELECT * FROM '.sql_table('template_desc'). " WHERE tdname NOT LIKE 'admin/%%';");
+ }
+ else
+ {
+ $res = DB::getResult('SELECT * FROM '.sql_table('template_desc'). " WHERE tdname LIKE 'admin/%%';");
+ }
foreach ( $res as $row )
{
$data = array(
/**
* AdminActions::parse_skinoverview()
* Parse skinvar skinoverview
- *
- * @param string $templateName name of template to use
+ *
+ * @param string $template_name name of template to use
* @return void
*/
- public function parse_skinoverview($templateName = '')
+ public function parse_skinoverview($template_name = '')
{
global $CONF;
- $query = "SELECT * FROM %s WHERE sdname NOT LIKE 'admin/%%';";
+
+ $template = array();
+ if ( !preg_match('#^admin#', $this->skintype) )
+ {
+ $query = "SELECT * FROM %s WHERE sdname NOT LIKE 'admin/%%' ORDER BY sdname;";
+ $template['editaction'] = 'skinedit';
+ $template['cloneaction'] = 'skinclone';
+ $template['deleteaction'] = 'skindelete';
+ $template['edittypeaction'] = 'skinedittype';
+ $template['default'] = $CONF['BaseSkin'];
+ }
+ else
+ {
+ $query = "SELECT * FROM %s WHERE sdname LIKE 'admin/%%' ORDER BY sdname;";
+ $template['editaction'] = 'adminskinedit';
+ $template['cloneaction'] = 'adminskinclone';
+ $template['deleteaction'] = 'adminskindelete';
+ $template['edittypeaction'] = 'adminskinedittype';
+ $template['default'] = $CONF['AdminSkin'];
+ }
$query = sprintf($query, sql_table('skin_desc'));
- $template['content'] = 'skinlist';
$template['tabindex'] = 10;
+ $template['content'] = 'skinlist';
+
+ $this->parser->parse(showlist($query, 'table', $template, $template_name));
- Showlist($query, 'table', $template, $templateName);
return;
}
/**
* AdminActions::parse_skintypehelp()
* Check editing skintypehelp
- *
+ *
* @param void
* @return void
*/
public function parse_skintypehelp()
{
$nowSkinType = strtolower(trim(requestVar('type')));
-
- /* TODO: use Skin class */
- $regularType = array(
- 'index',
- 'item',
- 'archivelist',
- 'archive',
- 'search',
- 'error',
- 'member',
- 'imagepopup'
- );
+ $pageAction = strtolower(trim(requestVar('action')));
+ if ( preg_match('/^admin.*/', $pageAction) )
+ {
+ $regularType = self::$default_skin_types;
+ unset($regularType['memberedit']);
+ unset($regularType['login']);
+ $regularType = array_keys($regularType);
+ }
+ else
+ {
+ /* TODO: use Skin class */
+ $regularType = array(
+ 'index',
+ 'item',
+ 'archivelist',
+ 'archive',
+ 'search',
+ 'error',
+ 'member',
+ 'imagepopup'
+ );
+ }
if ( in_array($nowSkinType, $regularType) )
{
/**
* AdminActions::parse_specialskinlist()
* Parse skinvar specialskinlist
- *
- * @param string $templateName name of template to use
+ *
+ * @param string $template_name name of template to use
* @return void
*/
- public function parse_specialskinlist($templateName = '')
+ public function parse_specialskinlist($template_name = '')
{
- $templates = array();
- if ( $templateName )
- {
- $templates = Template::read($templateName);
- }
+ global $CONF, $manager;
+
+ $template = array();
- /* TODO: use Skin class */
- $nType = array(
- 'index',
- 'item',
- 'error',
- 'search',
- 'archive',
- 'archivelist',
- 'imagepopup',
- 'member'
- );
$skinid = intRequestVar('skinid');
- $query = "SELECT stype FROM %s WHERE stype NOT IN ('%s') AND sdesc = %d;";
- $query = sprintf($query, sql_table('skin'), implode("', '", $nType), $skinid);
- $res = DB::getResult($query);
- if ( $res && $res->rowCount() > 0 )
+ if ( !preg_match('#^admin#', $this->skintype) )
{
- $data = array();
- if ( array_key_exists('SPECIALSKINLIST_HEAD', $templates) && !empty($templates['SPECIALSKINLIST_HEAD']) )
- {
- $template['head'] = $templates['SPECIALSKINLIST_HEAD'];
- }
- else
- {
- $template['head'] = "<ul>\n";
- }
- echo Template::fill($template['head'], $data);
- if ( !array_key_exists('SPECIALSKINLIST_BODY', $templates) || empty($templates['SPECIALSKINLIST_BODY']) )
- {
- $template['body'] = '<li><a tabindex="<%tabindex%>" href="index.php?action=skinedittype&skinid=<%skinid%>'
- . '&type=<%skintype%>"><%skintype%></a> (<a tabindex="<%tabindex%>" href="index.php?'
- . 'action=skinremovetype&skinid=<%skinid%>&type=<%skintype%>">remove</a>)</li>';
- }
- else
- {
- $template['body'] = $templates['SPECIALSKINLIST_BODY'];
- }
-
- $tabstart = 75;
- foreach ( $res as $row )
+ $skin =& $manager->getSkin($skinid);
+ $template['editaction'] = 'skinedittype';
+ $template['removeaction'] = 'skinremovetype';
+ }
+ else
+ {
+ $skin =& $manager->getSkin($skinid, 'AdminActions');
+ $template['editaction'] = 'adminskinedittype';
+ $template['removeaction'] = 'adminskinremovetype';
+ }
+ $normal_types = $skin->getDefaultTypes();
+ $available_types = $skin->getAvailableTypes();
+
+ $special_skintypes = array();
+ foreach( $available_types as $skintype => $skinname )
+ {
+ if ( !array_key_exists($skintype, $normal_types) )
{
- $data = array(
- 'tabindex' => $tabstart++,
- 'skinid' => $skinid,
- 'skintype' => Entity::hsc(strtolower($row['stype']))
+ $special_skintypes[] = array(
+ 'skintype' => $skintype,
+ 'skintypename' => $skinname
);
- echo Template::fill($template['body'], $data);
- }
- $data = array();
- if (array_key_exists('SPECIALSKINLIST_FOOT', $templates) && !empty($templates['SPECIALSKINLIST_FOOT']) )
- {
- $template['foot'] = $templates['SPECIALSKINLIST_FOOT'];
- }
- else
- {
- $template['foot'] = "</ul>\n";
}
- echo Template::fill($template['foot'], $data);
- return;
}
+
+ if ( sizeof($special_skintypes) > 0 )
+ {
+ $template['tabindex'] = 75;
+ $template['skinid'] = $skin->getID();
+ $template['skinname'] = $skin->getName();
+ $this->parser->parse(showlist($special_skintypes, 'list_specialskinlist', $template, $template_name));
+ }
+ else
+ {
+ /* TODO: nothing to be shown */
+ }
+
+ return;
}
/**
* AdminActions::parse_sprinttext()
* Parse sprinttext
- *
- * @param string $which
- * @param string $val
+ *
+ * @param string $which
+ * @param string $val
* @return void
*/
public function parse_sprinttext($which, $val)
/**
* AdminActions::parse_systemsettings()
* Parse skinvar systemsettings
- *
+ *
* @param string $type type of settings for system
- * @param string $templateName name of template to use
+ * @param string $template_name name of template to use
* @return void
*/
- public function parse_systemsettings($type = 'phpinfo', $templateName = '')
+ public function parse_systemsettings($type = 'phpinfo', $template_name = '')
{
- global $member, $CONF, $nucleus;
+ global $manager, $member, $CONF, $nucleus;
$member->isAdmin() or Admin::disallow();
break;
case 'gdinfo':
$templates = array();
- if ( $templateName )
+ if ( $template_name )
{
- $templates = Template::read($templateName);
+ $templates =& $manager->getTemplate($template_name);
}
if ( !array_key_exists('SYSTEMINFO_GDSETTINGS', $templates) || empty($templates['SYSTEMINFO_GDSETTINGS']) )
{
$template = "<tr>\n"
- . "<td><%key%></td>\n"
- . "<td><%value%></td>\n"
- . "</tr>\n";
+ . "<td><%key%></td>\n"
+ . "<td><%value%></td>\n"
+ . "</tr>\n";
}
else
{
/**
* AdminActions::parse_templateoverview()
* Parse skinvar templateoverview
- *
- * @param string $templateName name of template to use
+ *
+ * @param string $template_name name of template to use
* @return void
*/
- public function parse_templateoverview($templateName = '')
+ public function parse_templateoverview($template_name = '')
{
- $query = "SELECT * FROM %s WHERE tdname NOT LIKE 'admin/%%' ORDER BY tdname";
+ if ( !preg_match('#^admin#', $this->skintype) )
+ {
+ $query = "SELECT * FROM %s WHERE tdname NOT LIKE 'admin/%%' ORDER BY tdname;";
+ $template['deleteaction'] = 'templatedelete';
+ $template['editaction'] = 'templateedit';
+ $template['cloneaction'] = 'templateclone';
+ }
+ else
+ {
+ $query = "SELECT * FROM %s WHERE tdname LIKE 'admin/%%' ORDER BY tdname;";
+ $template['deleteaction'] = 'admintemplatedelete';
+ $template['editaction'] = 'admintemplateedit';
+ $template['cloneaction'] = 'admintemplateclone';
+ }
$query = sprintf($query, sql_table('template_desc'));
- $template['content'] = 'templatelist';
$template['tabindex'] = 10;
+ $template['content'] = 'templatelist';
- Showlist($query, 'table', $template, $templateName);
+ $this->parser->parse(showlist($query, 'table', $template, $template_name));
return;
}
/**
* AdminActions::parse_ticket()
* Parse ticket
- *
+ *
* @param void
* @return void
*/
/**
* AdminActions::parse_versioncheckurl()
* Parse skinvar versioncheckurl
- *
+ *
* @param void
* @return void
*/
/**
* AdminActions::parse_yrbloglist()
* Parse skinvar yrbloglist
- *
- * @param string $templateName name of template to use
+ *
+ * @param string $template_name name of template to use
* @return void
*/
- public function parse_yrbloglist($templateName = '')
+ public function parse_yrbloglist($template_name = '')
{
global $member;
$showAll = requestVar('showall');
{
// Super-Admins have access to all blogs! (no add item support though)
$query = "SELECT bnumber, bname, 1 as tadmin, burl, bshortname"
- . " FROM %s"
- . " ORDER BY bnumber;";
+ . " FROM %s"
+ . " ORDER BY bnumber;";
$query = sprintf($query, sql_table('blog'));
}
else
{
- $query = "SELECT bnumber, bname, tadmin, burl, bshortname"
- . " FROM %s,%s"
- . " WHERE tblog=bnumber and tmember=%d"
- . " ORDER BY bnumber;";
+ $query = "SELECT bnumber, bname, tadmin, burl, bshortname"
+ . " FROM %s,%s"
+ . " WHERE tblog=bnumber and tmember=%d"
+ . " ORDER BY bnumber;";
$query = sprintf($query, sql_table('blog'), sql_table('team'), (integer) $member->getID());
}
- $template['content'] = 'bloglist';
- $template['superadmin'] = $member->isAdmin();
-
- $amount = Showlist($query, 'table', $template, $templateName);
-
- if ( ($showAll != 'yes') && ($member->isAdmin()) )
+ $resource = DB::getResult($query);
+ if ( ($showAll != 'yes') && $member->isAdmin() )
{
$query = 'SELECT COUNT(*) as result FROM ' . sql_table('blog');
-
$total = DB::getValue($query);
- if ( $total > $amount )
+
+ if ( $total > $resource->rowCount() )
{
echo '<p><a href="index.php?action=overview&showall=yes">' . _OVERVIEW_SHOWALL . '</a></p>';
}
}
- if ( $amount == 0 )
- {
- echo _OVERVIEW_NOBLOGS;
- }
- elseif( $amount != 0 )
+ if ( $resource->rowCount() > 0 )
{
+ $template['content'] = 'bloglist';
+ $template['superadmin'] = $member->isAdmin();
+
+ $this->parser->parse(showlist($resource, 'table', $template, $template_name));
+ $resource->closeCursor();
+
echo '<h2>' . _OVERVIEW_YRDRAFTS . '</h2>';
-
- $query = "SELECT ititle, inumber, bshortname"
- . " FROM %s,%s"
- . ' WHERE iauthor=%d AND iblog=bnumber AND idraft=1;';
+
+ $query = 'SELECT ititle, inumber, bshortname FROM %s, %s '
+ . 'WHERE iauthor=%d AND iblog=bnumber AND idraft=1;';
$query = sprintf($query, sql_table('item'), sql_table('blog'), (integer) $member->getID());
-
- $template['content'] = 'draftlist';
-
- $amountdrafts = Showlist($query, 'table', $template, $templateName);
- if ( $amountdrafts == 0 )
+
+ $resource = DB::getResult($query);
+ if ( $resource->rowCount() > 0 )
+ {
+ $template['content'] = 'draftlist';
+ $this->parser->parse(showlist($resource, 'table', $template, $template_name));
+ }
+ else
{
echo _OVERVIEW_NODRAFTS;
}
}
+ else
+ {
+ echo _OVERVIEW_NOBLOGS;
+ }
+ $resource->closeCursor();
+
return;
}
*/
protected function checkCondition($field, $name='', $value = '')
{
- global $CONF, $catid, $blog, $member, $itemidnext, $itemidprev, $manager, $archiveprevexists, $archivenextexists;
+ global $CONF, $archiveprevexists, $archivenextexists, $blog, $catid, $itemidnext, $itemidprev, $manager, $member;
$condition = 0;
switch ( $field )
{
if ( $blogid )
{
- global $manager;
$blog =& $manager->getBlog($blogid);
}
elseif ( $catid )
{
$blogid = getBlogIDFromCatID($catid);
- global $manager;
$blog =& $manager->getBlog($blogid);
}
elseif ( intRequestVar('catid') )
{
$catid = intRequestVar('catid');
$blogid = getBlogIDFromCatID($catid);
- global $manager;
$blog =& $manager->getBlog($blogid);
}
else
}
$condition = ($blog && $this->ifCategory($name, $value));
break;
- case 'blogsetting':
- $condition = ($blog && ($blog->getSetting($name) == $value));
- break;
case 'loggedin':
$condition = $member->isLoggedIn();
break;
$condition = ($this->existsNewPlugin());
break;
case 'autosave':
+ if ( $value == '' )
+ {
+ $value = 1;
+ }
$condition = (boolean) ($member->getAutosave() == $value);
break;
+ case 'blogsetting':
+ if ( $value == '' )
+ {
+ $value = 1;
+ }
+ $condition = (Admin::$blog->getSetting($name) == $value);
+ break;
+ case 'itemproperty':
+ if ( $value == '' )
+ {
+ $value = 1;
+ }
+ if ( array_key_exists($name, Admin::$contents) )
+ {
+ $condition = (boolean) (Admin::$contents[$name] == $value);
+ }
+ break;
default:
$condition = $manager->pluginInstalled("NP_{$field}") && $this->ifPlugin($field, $name, $value);
break;
}
/**
- * Actions::_ifHasPlugin()
+ * AdminActions::_ifHasPlugin()
* hasplugin,PlugName
* -> checks if plugin exists
* hasplugin,PlugName,OptionName
* -> checks if the option OptionName from plugin PlugName is set to value
*
* @param string $name name of plugin
- * @param string $value
- * @return
+ * @param string $value
+ * @return
*/
private function ifHasPlugin($name, $value)
{
}
/**
- * Actions::beChangePassword()
- *
+ * AdminActions::beChangePassword()
+ *
* @param void
* @return void
*/
}
/**
- * Actions::ifSkincandidates()
+ * AdminActions::ifSkincandidates()
* Checks if a plugin exists and call its doIf function
- *
+ *
* @param void
* @return void
* @return boolean
}
/**
- * Actions::ifPlugin()
+ * AdminActions::ifPlugin()
* Checks if a plugin exists and call its doIf function
- *
+ *
* @param string $name name of plugin
- * @param string $key
- * @param string $value
+ * @param string $key
+ * @param string $value
* @return callback
*/
private function ifPlugin($name, $key = '', $value = '')
{
global $manager;
-
+
$plugin =& $manager->getPlugin("NP_{$name}");
if ( !$plugin )
{
return call_user_func_array(array(&$plugin, 'doIf'), $params);
}
-
+
/**
* AdminActions::ifCategory()
* Different checks for a category
- *
+ *
* @param string $key key for information of category
* @param string $value value for information of category
* @return boolean
/**
* AdminActions::ifOnTeam()
* Checks if a member is on the team of a blog and return his rights
- *
+ *
* @param string $blogName name of weblog
* @return boolean
*/
/**
* AdminActions::ifAdmin()
* Checks if a member is admin of a blog
- *
+ *
* @param string $blogName name of weblog
* @return boolean
*/
// use current blog
$blogid = $blog->getID();
}
-
+
return $member->isBlogAdmin($blogid);
}
/**
* AdminActions::ifAddresscange()
* Check e-Mail address is changed
- *
+ *
* @param void
* @return boolean
*/
private function ifAddresscange()
{
+ global $manager;
+
$key = $this->objAdmin->sessionVar("{$CONF['CookiePrefix']}ackey");
if ( !$key )
{
{
return FALSE;
}
- $mem = MEMBER::createFromId($info->vmember);
+ $mem =& $manager->getMember($info->vmember);
if ( !$mem )
{
return FALSE;
}
/**
- * AdminActions::templateEditRow()
- * Template edit box
- *
- * @param array $template
- * @param string $desc
- * @param string $name
- * @param string $help
- * @param integer $tabindex
- * @param boolean $big
- * @param array $tmplt
- * @return void
- */
- private function templateEditRow(&$template, $desc, $name, $help = '', $tabindex = 0, $big = 0, $tplt = '')
- {
- static $count = 1;
-
- if ( !array_key_exists($name, $template) )
- {
- $template[$name] = '';
- }
-
- $tmplt = array();
- $base = array();
-
- if ( $tplt )
- {
- $tmplt = skinableTEMPLATE::read($tplt);
- }
-
- $data = array(
- 'description' => $desc,
- 'help' => empty($help) ? '' : helpHtml('template' . $help),
- 'count' => $count,
- 'name' => $name,
- 'tabindex' => $tabindex,
- 'rows' => $big ? 10 : 5,
- );
-
- if ( !array_key_exists('TEMPLATE_EDIT_ROW_HEAD', $tmplt) || empty($tmplt['TEMPLATE_EDIT_ROW_HEAD']) )
- {
- $base['head'] = "</tr>"
- . "<tr>\n"
- . "<td><%description%><%help%></td>\n"
- . "<td id=\"td<%count%>\">\n"
- . "<textarea class=\"templateedit\" name=\"<%name%>\" tabindex=\"<%tabindex%>\" cols=\"50\" rows=\"<%rows%>\" id=\"textarea<%count%>\">\n";
- }
- else
- {
- $base['head'] = $tmplt['TEMPLATE_EDIT_ROW_HEAD'];
- }
-
- if ( !array_key_exists('TEMPLATE_EDIT_ROW_TAIL', $tmplt) || empty($tmplt['TEMPLATE_EDIT_ROW_TAIL']) )
- {
- $base['tail'] = "</textarea>\n"
- . "</td>\n";
- }
- else
- {
- $base['tail'] = $tmplt['TEMPLATE_EDIT_ROW_TAIL'];
- }
-
- echo TEMPLATE::fill($base['head'], $data);
- echo ENTITY::hsc($template[$name]);
- echo TEMPLATE::fill($base['tail'], $data);
-
- $count++;
-
- return;
- }
-
- /**
+ * TODO: move
* AdminActions::customHelp()
* shows a link to custom help file
- *
- * @param string $id
- * @param string $tplName
- * @param string $url
- * @param string $iconURL
- * @param string $alt
- * @param string $title
+ *
+ * @param string $id
+ * @param string $tplName
+ * @param string $url
+ * @param string $iconURL
+ * @param string $alt
+ * @param string $title
* @param $onclick
- *
+ *
*/
private function customHelp($id, $tplName = '', $url = '', $iconURL = '', $alt = '', $title = '', $onclick = '')
{
- echo self::customHelpHtml($id, $tplName, $url, $iconURL, $alt, $title, $onclick);
+ echo $this->customHelpHtml($id, $tplName, $url, $iconURL, $alt, $title, $onclick);
}
/**
+ * TODO: move
* AdminActions::customHelp()
* shows a link to custom help file
- *
- * @param string $id
- * @param string $tplName
- * @param string $url
- * @param string $iconURL
- * @param string $alt
- * @param string $title
+ *
+ * @param string $id
+ * @param string $tplName
+ * @param string $url
+ * @param string $iconURL
+ * @param string $alt
+ * @param string $title
* @param $onclick
- *
+ *
*/
static function customHelplink($id, $tplName = '', $url = '', $title = '', $onclick = '')
{
- global $CONF;
+ global $CONF, $manager;
$templates = array();
if ( $tplName )
{
- $templates = Template::read($tplName);
+ $templates =& $manager->getTemplate($tplName);
}
if ( !array_key_exists('ADMIN_CUSTOMHELPLINK_ANCHOR', $templates) || empty($templates['ADMIN_CUSTOMHELPLINK_ANCHOR']) )
}
/**
+ * TODO: move
* AdminActions::customHelpHtml()
- *
- * @param string $id
- * @param string $tplName
- * @param string $url
- * @param string $iconURL
- * @param string $alt
- * @param string $title
- * @param string $onclick
- * @return string anchor element with help uri
*/
private function customHelpHtml($id, $tplName = '', $url = '', $iconURL = '', $alt = '', $title = '', $onclick = '')
{
- global $CONF;
+ global $CONF, $manager;
$templates = array();
if ( $tplName )
{
- $templates = Template::read($tplName);
+ $templates =& $manager->getTemplate($tplName);
}
if ( !array_key_exists('ADMIN_CUSTOMHELPLINK_ICON', $templates) || !empty($templates['ADMIN_CUSTOMHELPLINK_ICON']) )
{
);
$icon = Template::fill($template, $data);
- $help = self::customHelplink($id, $tplName, $url, $title, $onclick);
+ $help = $this->customHelplink($id, $tplName, $url, $title, $onclick);
return $help . $icon;
}
/**
- * AdminActions::input_yesno
- *
- * @param $name
- * @param $checkedval
- * @param $tabindex
- * @param $value1
- * @param $value2
- * @param $yesval
- * @param $noval
- * @param $isAdmin
- * @param $templateName
- * @param $showlist
- */
- public function input_yesno($name,
- $checkedval,
- $tabindex = 0,
- $value1 = 1,
- $value2 = 0,
- $yesval = _YES,
- $noval = _NO,
- $isAdmin = 0,
- $templateName = '',
- $showlist = false)
- {
- $templates = array();
- if ( $templateName )
- {
- $templates = Template::read($templateName);
- }
-
- if ( $name == 'admin' )
- {
- if ( !array_key_exists('INPUTYESNO_TEMPLATE_ADMIN', $templates) || empty($templates['INPUTYESNO_TEMPLATE_ADMIN']) )
- {
- $template = '<input onclick="selectCanLogin(true);" type="radio" name="<%name%>" value="<%yesval%>" <%yescheckedval%> id="<%yesid%>" />' . "\n"
- . '<label for="<%yesid%>"><%yesvaltext%></label>' . "\n"
- . '<input onclick="selectCanLogin(false);" type="radio" name="<%name%>" value="<%noval%>" <%nocheckedval%> id="<%noid%>"<%disabled%> />' . "\n"
- . '<label for="<%noid%>"><%novaltext%></label>' . "\n";
- }
- else
- {
- $template = $templates['INPUTYESNO_TEMPLATE_ADMIN'];
- }
- }
- else
- {
- if ( array_key_exists('INPUTYESNO_TEMPLATE_NORMAL', $templates) && !empty($templates['INPUTYESNO_TEMPLATE_NORMAL']) )
- {
- $template = $templates['INPUTYESNO_TEMPLATE_NORMAL'];
- }
- if ( $showlist )
- {
- if ( array_key_exists('SHOWLIST_LISTPLUG_TABLE_PLGOPT_OYESNO', $templates) && !empty($templates['SHOWLIST_LISTPLUG_TABLE_PLGOPT_OYESNO']) )
- {
- $template = $templates['SHOWLIST_LISTPLUG_TABLE_PLGOPT_OYESNO'];
- }
- }
- if ( !isset($template) )
- {
- $template = '<input type="radio" name="<%name%>" value="<%yesval%>" <%yescheckedval%> id="<%yesid%>" />' . "\n"
- . '<label for="<%yesid%>"><%yesvaltext%></label>' . "\n"
- . '<input type="radio" name="<%name%>" value="<%noval%>" <%nocheckedval%> id="<%noid%>"<%disabled%> />' . "\n"
- . '<label for="<%noid%>"><%novaltext%></label>' . "\n";
- }
- }
-
- //echo $template;
- $id = Entity::hsc($name);
- $id = str_replace('[', '-', $id);
- $id = str_replace(']', '-', $id);
- $id1 = $id . Entity::hsc($value1);
- $id2 = $id . Entity::hsc($value2);
- $dat = array(
- 'name' => Entity::hsc($name),
- 'yesval' => Entity::hsc($value1),
- 'noval' => Entity::hsc($value2),
- 'yesid' => $id1,
- 'noid' => $id2,
- 'yesvaltext' => $yesval,
- 'novaltext' => $noval,
- 'yescheckedval' => ($checkedval == $value1) ? ' checked="checked" tabindex="' . $tabindex . '"': '',
- 'nocheckedval' => ($checkedval != $value1) ? ' checked="checked" tabindex="' . $tabindex . '"': '',
- 'disabled' => ($isAdmin && $name == 'canlogin') ? ' disabled="disabled"' : '',
- );
-
- if ( $showlist )
- {
- return Template::fill($template, $dat);
- }
- else
- {
- echo Template::fill($template, $dat);
- }
- return;
- }
-
- /**
* AdminActions::existsNewPlugin()
* Check exists new plugin
- *
+ *
* @param void
* @return boolean exists or not
*/
{
if ( !in_array($matches[1], $installed) )
{
- $candidates[] = $matches[1];
+ $candidates[] = preg_replace("#^NP_#", "", $matches[1]);
}
}
}
/**
* AdminActions::pagehead()
* Output admin page head
- *
+ *
* @param void
* @return void
*/
{
global $member, $nucleus, $CONF, $manager;
- $extrahead = Admin::getAdminextrahead();
- $data = array(
- 'extrahead' => &$extrahead,
- 'action' => Admin::getAdminAction()
- );
- $manager->notify('AdminPrePageHead', $data);
-
+ /* HTTP 1.1 application for no caching */
+ header("Cache-Control: no-cache, must-revalidate");
+ header("Expires: Sat, 26 Jul 1997 05:00:00 GMT");
+
$content = $this->parser->skin->getContentFromDB('pagehead');
if ( !$content )
{
- $baseUrl = Entity::hsc($CONF['SkinsURL']);
-
- /*
- * TODO: obsoleted
- if ( !array_key_exists('AdminCSS', $CONF) )
- {
- DB::execute("INSERT INTO " . sql_table('config') . " VALUES ('AdminCSS', 'original')");
- $CONF['AdminCSS'] = 'original';
- }
- */
-
- /* HTTP 1.1 application for no caching */
- header("Cache-Control: no-cache, must-revalidate");
- header("Expires: Sat, 26 Jul 1997 05:00:00 GMT");
-
$root_element = 'html';
$charset = i18n::get_current_charset();
$locale = preg_replace('#_#', '-', i18n::get_current_locale());
$system_identifier = self::$system_identifier;
$xhtml_namespace = self::$xhtml_namespace;
- echo "<?xml version=\"{$xml_version_info}\" encoding=\"{$charset}\" ?>\n";
- echo "<!DOCTYPE {$root_element} PUBLIC \"{$formal_public_identifier}\" \"{$system_identifier}\">\n";
- echo "<{$root_element} xmlns=\"{$xhtml_namespace}\" xml:lang=\"{$locale}\" lang=\"{$locale}\">\n";
- echo "<head>\n";
- echo '<title>' . Entity::hsc($CONF['SiteName']) . " - Admin</title>\n";
- /*
- * TODO: obsoleted
- echo "<link rel=\"stylesheet\" title=\"Nucleus Admin Default\" type=\"text/css\" href=\"{$baseUrl}admin/defaultadmin/styles/admin_{$CONF["AdminCSS"]}.css\" />\n";
- */
- echo "<link rel=\"stylesheet\" title=\"Nucleus Admin Default\" type=\"text/css\" href=\"{$baseUrl}admin/defaultadmin/styles/addedit.css\" />\n";
- echo "<script type=\"text/javascript\" src=\"{$baseUrl}javascripts/edit.js\"></script>\n";
- echo "<script type=\"text/javascript\" src=\"{$baseUrl}javascripts/admin.js\"></script>\n";
- echo "<script type=\"text/javascript\" src=\"{$baseUrl}javascripts/compatibility.js\"></script>\n";
- echo "{$extrahead}\n";
- echo "</head>\n\n";
- echo "<body>\n";
- echo "<div id=\"adminwrapper\">\n";
- echo "<div class=\"header\">\n";
- echo '<h1>' . Entity::hsc($CONF['SiteName']) . "</h1>\n";
- echo "</div>\n";
- echo "<div id=\"container\">\n";
- echo "<div id=\"content\">\n";
- echo "<div class=\"loginname\">\n";
-
- if ( !$member->isLoggedIn() )
- {
- echo '<a href="index.php?action=showlogin" title="Log in">' . _NOTLOGGEDIN . "</a><br />\n";
- }
- else
- {
- echo _LOGGEDINAS . ' ' . $member->getDisplayName() ." - <a href='index.php?action=logout'>" . _LOGOUT. "</a><br />\n";
- echo "<a href='index.php?action=overview'>" . _ADMINHOME . "</a> - ";
- }
-
- echo "<a href='".$CONF['IndexURL']."'>"._YOURSITE."</a><br />\n";
- echo '(';
-
- if ( !array_key_exists('codename', $nucleus) || empty($nucleus['codename']) )
- {
- $codenamestring = '';
- }
- else
- {
- $codenamestring = ' "' . $nucleus['codename'].'"';
- }
-
- if ( $member->isLoggedIn() && $member->isAdmin() )
- {
- $checkURL = sprintf(_ADMIN_SYSTEMOVERVIEW_VERSIONCHECK_URL, getNucleusVersion(), getNucleusPatchLevel());
- echo '<a href="' . $checkURL . '" title="' . _ADMIN_SYSTEMOVERVIEW_VERSIONCHECK_TITLE . '">Nucleus CMS ' . $nucleus['version'] . $codenamestring . '</a>';
-
- $newestVersion = getLatestVersion();
- $newestCompare = str_replace('/', '.', $newestVersion);
- $currentVersion = str_replace(array('/','v'), array('.',''), $nucleus['version']);
-
- if ( $newestVersion && version_compare($newestCompare, $currentVersion) > 0 )
- {
- echo "<br />\n";
- echo '<a style="color:red" href="http://nucleuscms.org/upgrade.php" title="' . _ADMIN_SYSTEMOVERVIEW_LATESTVERSION_TITLE . '">';
- echo _ADMIN_SYSTEMOVERVIEW_LATESTVERSION_TEXT . $newestVersion;
- echo "</a>";
- }
- }
- else
- {
- echo "Nucleus CMS {$nucleus['version']}{$codenamestring}";
- }
- echo ')';
- echo '</div>';
- }
- else
- {
- $this->parser->parse($content);
+ $content = "<?xml version=\"{$xml_version_info}\" encoding=\"{$charset}\" ?>\n"
+ . "<!DOCTYPE {$root_element} PUBLIC \"{$formal_public_identifier}\" \"{$system_identifier}\">\n"
+ . "<{$root_element} xmlns=\"{$xhtml_namespace}\" xml:lang=\"{$locale}\" lang=\"{$locale}\">\n"
+ . "<head>\n"
+ . "<title><%sitevar(name)%> - Admin</title>\n"
+ . "<script type=\"text/javascript\" src=\"<%skinfile(/javascripts/edit.js)%>\"></script>"
+ . "<script type=\"text/javascript\" src=\"<%skinfile(/javascripts/admin.js)%>\"></script>"
+ . "<script type=\"text/javascript\" src=\"<%skinfile(/javascripts/compatibility.js)%>\"></script>"
+ . "<%extrahead%>"
+ . "</head>"
+ . "<body>"
+ . "<div id=\"adminwrapper\">"
+ . "<div class=\"header\">"
+ . "<h1><%sitevar(name)%></h1>"
+ . "</div>"
+ . "<div id=\"container\">"
+ . "<div id=\"content\">"
+ . "<div class=\"loginname\">"
+ . "<link rel=\"stylesheet\" title=\"Nucleus Admin Default\" type=\"text/css\" href=\"<%skinfile(admin/defaultadmin/styles/addedit.css%>\" />\n"
+ . "<script type=\"text/javascript\" src=\"<%skinfile(/javascripts/edit.js)%>\"></script>\n"
+ . "<script type=\"text/javascript\" src=\"<%skinfile(/javascripts/admin.js)%>\"></script>\n"
+ . "<script type=\"text/javascript\" src=\"<%skinfile(/javascripts/compatibility.js)%>\"></script>\n"
+ . "<%extrahead%>\n"
+ . "</head>\n"
+ . "\n"
+ . "<body>\n"
+ . "<div id=\"adminwrapper\">\n"
+ . "<div class=\"header\">\n"
+ . "<h1><%sitevar(name)%></h1>\n"
+ . "</div>\n"
+ . "<div id=\"container\">\n"
+ . "<div id=\"content\">\n"
+ . "<div class=\"loginname\">\n"
+ . "<%if(loggedin)%>"
+ . "<%text(_LOGGEDINAS)%> <%member(yourrealname)%> - <a href=\"<%adminurl%>index.php?action=logout\"><%text(_LOGOUT)%></a><br />"
+ . "<a href=\"<%adminurl%>index.php?action=overview\"><%text(_ADMINHOME)%></a> - "
+ . "<%else%>"
+ . "<a href=\"<%adminurl%>index.php?action=showlogin\" title=\"Log in\"><%text(_NOTLOGGEDIN)%></a><br />"
+ . "<%endif%>"
+ . "<a href=\"<%sitevar(url)%>\"><%text(_YOURSITE)%></a><br />"
+ . "("
+ . "<%if(superadmin)%>"
+ . "<a href=\"<%versioncheckurl%>\" title=\"<%text(_ADMIN_SYSTEMOVERVIEW_VERSIONCHECK_TITLE)%>\"><%version%><%codename%></a>"
+ . "<%newestcompare%><%else%><%version%><%codename%>"
+ . "<%endif%>"
+ . ")"
+ . "</div>";
}
+ $this->parser->parse($content);
return;
}
/**
* AdminActionss::pagefoot()
* Output admin page foot include quickmenu
- *
+ *
* @param void
* @return void
*/
public function parse_pagefoot()
{
- global $action, $member, $manager;
+ global $action, $member, $manager, $blogid;
$data = array(
'action' => Admin::getAdminAction()
);
$manager->notify('AdminPrePageFoot', $data);
-
+
$content = $this->parser->skin->getContentFromDB('pagefoot');
if ( !$content )
{
- if ( $member->isLoggedIn() && ($action != 'showlogin') )
+ $content = "<%if(loggedin)%>"
+ . "<%ifnot(adminaction,showlogin)%>"
+ . "<h2><%text(_LOGOUT)%></h2>"
+ . "<ul>"
+ . "<li><a href=\"<%adminurl%>index.php?action=overview\"><%text(_BACKHOME)%></a></li>"
+ . "<li><a href=\"<%adminurl%>index.php?action=logout\"><%text(_LOGOUT)%></a></li>"
+ . "</ul>"
+ . "<%endif%>"
+ . "<%endif%>"
+ . "<div class=\"foot\">"
+ . "<a href=\"<%text(_ADMINPAGEFOOT_OFFICIALURL)%>\">Nucleus CMS</a> © 2002- <%date(%Y)%> <%text(_ADMINPAGEFOOT_COPYRIGHT)%>"
+ . " - <a href=\"<%text(_ADMINPAGEFOOT_DONATEURL)%>\"><%text(_ADMINPAGEFOOT_DONATE)%></a>"
+ . "</div>"
+ . "</div>"
+ . "<!-- content -->"
+ . "<div id=\"quickmenu\">"
+ . "<%if(loggedin)%>"
+ . "<%ifnot(adminaction,showlogin)%>"
+ . "<ul>"
+ . "<li><a href=\"<%adminurl%>index.php?action=overview\"><%text(_QMENU_HOME)%></a></li>"
+ . "</ul>"
+ . "<h2><%text(_QMENU_ADD)%></h2>"
+ . "<form method=\"get\" action=\"<%adminurl%>index.php\">"
+ . "<div>"
+ . "<input type=\"hidden\" name=\"action\" value=\"createitem\" />"
+ . "<%qmenuaddselect(admin/default)%>"
+ . "</div>"
+ . "</form>"
+ . "<h2><%member(yourrealname)%></h2>"
+ . "<ul>"
+ . "<li><a href=\"<%adminurl%>index.php?action=editmembersettings\"><%text(_QMENU_USER_SETTINGS)%></a></li>"
+ . "<li><a href=\"<%adminurl%>index.php?action=browseownitems\"><%text(_QMENU_USER_ITEMS)%></a></li>"
+ . "<li><a href=\"<%adminurl%>index.php?action=browseowncomments\"><%text(_QMENU_USER_COMMENTS)%></a></li>"
+ . "</ul>"
+ . "<%if(superadmin)%>"
+ . "<h2><%text(_QMENU_MANAGE)%></h2>"
+ . "<ul>"
+ . "<li><a href=\"<%adminurl%>index.php?action=actionlog\"><%text(_QMENU_MANAGE_LOG)%></a></li>"
+ . "<li><a href=\"<%adminurl%>index.php?action=settingsedit\"><%text(_QMENU_MANAGE_SETTINGS)%></a></li>"
+ . "<li><a href=\"<%adminurl%>index.php?action=systemoverview\"><%text(_QMENU_MANAGE_SYSTEM)%></a></li>"
+ . "<li><a href=\"<%adminurl%>index.php?action=usermanagement\"><%text(_QMENU_MANAGE_MEMBERS)%></a></li>"
+ . "<li><a href=\"<%adminurl%>index.php?action=createnewlog\"><%text(_QMENU_MANAGE_NEWBLOG)%></a></li>"
+ . "<li><a href=\"<%adminurl%>index.php?action=backupoverview\"><%text(_QMENU_MANAGE_BACKUPS)%></a></li>"
+ . "<li><a href=\"<%adminurl%>index.php?action=pluginlist\"><%text(_QMENU_MANAGE_PLUGINS)%></a></li>"
+ . "</ul>"
+ . "<h2><%text(_QMENU_LAYOUT)%></h2>"
+ . "<ul>"
+ . "<li><a href=\"<%adminurl%>index.php?action=skinoverview\"><%text(_QMENU_LAYOUT_SKINS)%></a></li>"
+ . "<li><a href=\"<%adminurl%>index.php?action=templateoverview\"><%text(_QMENU_LAYOUT_TEMPL)%></a></li>"
+ . "<li><a href=\"<%adminurl%>index.php?action=skinieoverview\"><%text(_QMENU_LAYOUT_IEXPORT)%></a></li>"
+ . "</ul>"
+ . "<h2><%text(_SKINABLEADMIN_QMENU_LAYOUT)%></h2>"
+ . "<ul>"
+ . "<li><a href=\"<%adminurl%>index.php?action=adminskinoverview\"><%text(_QMENU_LAYOUT_SKINS)%></a></li>"
+ . "<li><a href=\"<%adminurl%>index.php?action=admintemplateoverview\"><%text(_QMENU_LAYOUT_TEMPL)%></a></li>"
+ . "<li><a href=\"<%adminurl%>index.php?action=adminskinieoverview\"><%text(_QMENU_LAYOUT_IEXPORT)%></a></li>"
+ . "</ul>"
+ . "<%endif%>"
+ . "<%quickmenu(admin/default)%>"
+ . "<%endif%>"
+ . "<%elseif(adminaction,activate)%>"
+ . "<h2><%text(_QMENU_ACTIVATE)%></h2>"
+ . "<%text(_QMENU_ACTIVATE_TEXT)%>"
+ . "<%elseif(adminaction,activatesetpwd)%>"
+ . "<h2><%text(_QMENU_ACTIVATE)%></h2><%text(_QMENU_ACTIVATE_TEXT)%>"
+ . "<%else%>"
+ . "<h2><%text(_QMENU_INTRO)%></h2><%text(_QMENU_INTRO_TEXT)%>"
+ . "<%endif%>"
+ . "</div>"
+ . "<!-- content / quickmenu container -->"
+ . "<div class=\"clear\"></div>"
+ . "<!-- new -->"
+ . "</div>"
+ . "<!-- adminwrapper -->"
+ . "<!-- new -->"
+ . "</div>"
+ . "<!-- new -->"
+ . "<p style=\"text-align:right;\"><%benchmark%></p>"
+ . "</body>"
+ . "</html>";
+ }
+
+ $this->parser->parse($content);
+ return;
+ }
+ /**
+ * AdminActions::selectBlog()
+ * Inserts a HTML select element with choices for all blogs to which the user has access
+ * mode = 'blog' => shows blognames and values are blogids
+ * mode = 'category' => show category names and values are catids
+ *
+ * @param string $name
+ * @param string $mode
+ * @param integer $selected
+ * @param integer $tabindex
+ * @param integer $showNewCat
+ * @param integer $iForcedBlogInclude ID for weblog always included
+ * @param $iForcedBlogInclude
+ * ID of a blog that always needs to be included, without checking if the
+ * member is on the blog team (-1 = none)
+ * @return void
+ */
+ private function selectBlog($name, $mode='blog', $selected = 0, $tabindex = 0, $showNewCat = 0, $iForcedBlogInclude = -1)
+ {
+ global $member, $CONF;
+
+ // 0. get IDs of blogs to which member can post items (+ forced blog)
+ $aBlogIds = array();
+ if ( $iForcedBlogInclude != -1 )
+ {
+ $aBlogIds[] = intval($iForcedBlogInclude);
+ }
+
+ if ( $member->isAdmin() && array_key_exists('ShowAllBlogs', $CONF) && $CONF['ShowAllBlogs'] )
+ {
+ $query = "SELECT bnumber FROM %s ORDER BY bname;";
+ $query = sprintf($query, sql_table('blog'));
+ }
+ else
+ {
+ $query = "SELECT bnumber FROM %s, %s WHERE tblog=bnumber AND tmember=%d;";
+ $query = sprintf($query, sql_table('blog'), sql_table('team'), (integer) $member->getID());
+ }
+
+ $rblogids = DB::getResult($query);
+ foreach ( $rblogids as $row )
+ {
+ if ( $row['bnumber'] != $iForcedBlogInclude )
{
- echo '<h2>' . _LOGOUT . "</h2>\n";
- echo "<ul>\n";
- echo '<li><a href="index.php?action=overview">' . _BACKHOME . "</a></li>\n";
- echo '<li><a href="index.php?action=logout">' . _LOGOUT . "</a></li>\n";
- echo "</ul>\n";
+ $aBlogIds[] = intval($row['bnumber']);
}
-
- echo "<div class=\"foot\">\n";
- echo '<a href="' . _ADMINPAGEFOOT_OFFICIALURL . '">Nucleus CMS</a> © 2002-' . date('Y') . ' ' . _ADMINPAGEFOOT_COPYRIGHT;
- echo '-';
- echo '<a href="' . _ADMINPAGEFOOT_DONATEURL . '">' . _ADMINPAGEFOOT_DONATE . "</a>\n";
- echo "</div>\n";
-
- echo "<div id=\"quickmenu\">\n";
-
- if ( ($action != 'showlogin') && ($member->isLoggedIn()) )
+ }
+
+ if ( count($aBlogIds) == 0 )
+ {
+ return;
+ }
+
+ echo "<select name=\"{$name}\" tabindex=\"{$tabindex}\">\n";
+
+ // 1. select blogs (we'll create optiongroups)
+ // (only select those blogs that have the user on the team)
+ $queryBlogs = "SELECT bnumber, bname FROM %s WHERE bnumber in (%s) ORDER BY bname;";
+ $queryBlogs = sprintf($queryBlogs, sql_table('blog'), implode(',', $aBlogIds));
+ $blogs = DB::getResult($queryBlogs);
+
+ if ( $mode == 'category' )
+ {
+ if ( $blogs->rowCount() > 1 )
{
- echo "<ul>\n";
- echo '<li><a href="index.php?action=overview">' . _QMENU_HOME . "</a></li>\n";
- echo "</ul>\n";
-
- echo '<h2>' . _QMENU_ADD . "</h2>\n";
- echo "<form method=\"get\" action=\"index.php\">\n";
- echo "<p>\n";
- echo "<input type=\"hidden\" name=\"action\" value=\"createitem\" />\n";
-
- $showAll = requestVar('showall');
-
- if ( ($member->isAdmin()) && ($showAll == 'yes') )
- {
- // Super-Admins have access to all blogs! (no add item support though)
- $query = "SELECT bnumber as value, bname as text FROM %s ORDER BY bname;";
- $query = sprintf($query, sql_table('blog'));
- }
- else
+ $multipleBlogs = 1;
+ }
+ foreach ( $blogs as $rBlog )
+ {
+ if ( isset($multipleBlogs) && !empty($multipleBlogs) )
{
- $query = "SELECT bnumber as value, bname as text FROM %s, %s WHERE tblog=bnumber and tmember=%d ORDER BY bname;";
- $query = sprintf($query, sql_table('blog'), sql_table('team'), (integer) $member->getID());
+ echo '<optgroup label="' . Entity::hsc($rBlog['bname']) . "\">\n";
}
- $template['name'] = 'blogid';
- $template['tabindex'] = 15000;
- $template['extra'] = _QMENU_ADD_SELECT;
- $template['selected'] = -1;
- $template['shorten'] = 10;
- $template['shortenel'] = '';
- $template['javascript'] = 'onchange="return form.submit()"';
- showlist($query, 'select', $template);
-
- echo "</p>\n";
- echo "</form>\n";
- echo "<h2>{$member->getDisplayName()}</h2>\n";
- echo "<ul>\n";
- echo '<li><a href="index.php?action=editmembersettings">' . _QMENU_USER_SETTINGS . "</a></li>\n";
- echo '<li><a href="index.php?action=browseownitems">' . _QMENU_USER_ITEMS . "</a></li>\n";
- echo '<li><a href="index.php?action=browseowncomments">' . _QMENU_USER_COMMENTS . "</a></li>\n";
- echo "</ul>\n";
-
- if ( $member->isAdmin() )
+ // show selection to create new category when allowed/wanted
+ if ( $showNewCat )
{
- echo '<h2>' . _QMENU_MANAGE . "</h2>\n";
- echo "<ul>\n";
- echo '<li><a href="index.php?action=actionlog">' . _QMENU_MANAGE_LOG . "</a></li>\n";
- echo '<li><a href="index.php?action=settingsedit">' . _QMENU_MANAGE_SETTINGS . "</a></li>\n";
- echo '<li><a href="index.php?action=systemoverview">' . _QMENU_MANAGE_SYSTEM . "</a></li>\n";
- echo '<li><a href="index.php?action=usermanagement">' . _QMENU_MANAGE_MEMBERS . "</a></li>\n";
- echo '<li><a href="index.php?action=createnewlog">' . _QMENU_MANAGE_NEWBLOG . "</a></li>\n";
- echo '<li><a href="index.php?action=backupoverview">' . _QMENU_MANAGE_BACKUPS . "</a></li>\n";
- echo '<li><a href="index.php?action=pluginlist">' . _QMENU_MANAGE_PLUGINS . "</a></li>\n";
- echo "</ul>\n";
-
- echo "<h2>" . _QMENU_LAYOUT . "</h2>\n";
- echo "<ul>\n";
- echo '<li><a href="index.php?action=skinoverview">' . _QMENU_LAYOUT_SKINS . "</a></li>\n";
- echo '<li><a href="index.php?action=templateoverview">' . _QMENU_LAYOUT_TEMPL . "</a></li>\n";
- echo '<li><a href="index.php?action=skinieoverview">' . _QMENU_LAYOUT_IEXPORT . "</a></li>\n";
- echo "</ul>\n";
+ // check if allowed to do so
+ if ( $member->blogAdminRights($rBlog['bnumber']) )
+ {
+ echo '<option value="newcat-' . $rBlog['bnumber'] . '">' . _ADD_NEWCAT . "</option>\n";
+ }
}
- $data = array('options' => array());
-
- $manager->notify('QuickMenu', $data);
-
- if ( count($data['options']) > 0 )
+ // 2. for each category in that blog
+ $catQuery = "SELECT cname, catid FROM %s WHERE cblog=%d ORDER BY cname ASC;";
+ $catQuery = sprintf($catQuery, sql_table('category'), (integer) $rBlog['bnumber']);
+ $categories = DB::getResult($catQuery);
+ foreach ( $categories as $rCat )
{
- echo "<h2>" . _QMENU_PLUGINS . "</h2>\n";
- echo "<ul>\n";
- foreach ( $data['options'] as $option )
+ if ( $rCat['catid'] == $selected )
+ {
+ $selectText = ' selected="selected" ';
+ }
+ else
{
- echo '<li><a href="' . Entity::hsc($option['url']) . '" title="' . Entity::hsc($option['tooltip']) . '">' . Entity::hsc($option['title']) . "</a></li>\n";
+ $selectText = '';
}
- echo "</ul>\n";
+ echo '<option value="' . $rCat['catid'] . '" ' . $selectText . '>' . Entity::hsc($rCat['cname']) . "</option>\n";
+ }
+
+ if ( isset($multipleBlogs) && !empty($multipleBlogs) )
+ {
+ echo '</optgroup>';
}
}
- else if ( ($action == 'activate') || ($action == 'activatesetpwd') )
- {
-
- echo '<h2>' . _QMENU_ACTIVATE . '</h2>' . _QMENU_ACTIVATE_TEXT;
- }
- else
- {
- echo '<h2>' . _QMENU_INTRO . '</h2>' . _QMENU_INTRO_TEXT;
- }
-
- echo "<!-- quickmenu -->\n";
- echo "</div>\n";
-
- echo "<!-- content -->\n";
- echo "</div>\n";
-
- echo "<!-- container -->\n";
- echo "</div>\n";
-
- echo "<!-- adminwrapper -->\n";
- echo "</div>\n";
-
- echo "</body>\n";
- echo "</html>\n";
}
else
{
- $this->parser->skin->parse('pagefoot');
- exit;
+ foreach ( $blogs as $rBlog )
+ {
+ echo '<option value="' . $rBlog['bnumber'] . '"';
+ if ( $rBlog['bnumber'] == $selected )
+ {
+ echo '<option value="' . $rBlog['bnumber'] . '" selected="selected">' . Entity::hsc($rBlog['bname']) . "</option>\n";
+ }
+ else
+ {
+ echo '<option value="' . $rBlog['bnumber'] . '">' . Entity::hsc($rBlog['bname']) . "</option>\n";
+ }
+ }
}
-
+ echo "</select>\n";
return;
}
}