\r
static private $action;\r
static private $skin;\r
- static private $extrahead;\r
static private $passvar;\r
static private $aOptions;\r
-\r
+ \r
+ static public $extrahead;\r
+ static public $blog;\r
+ static public $contents;\r
+ \r
/**\r
* Admin::$edit_actions\r
*/\r
'admintemplateedit',\r
'admintemplateoverview',\r
'admintemplatedelete'\r
- );\r
-\r
- /**\r
- * Admin::$skinless_actions\r
- */\r
- static private $skinless_actions = array(\r
+ );\r
+ \r
+ /**\r
+ * Admin::$skinless_actions\r
+ */\r
+ static private $skinless_actions = array(\r
'plugindeleteconfirm',\r
'pluginoptionsupdate',\r
'skinremovetypeconfirm',\r
'bookmarklet',\r
'blogsettings',\r
'banlist',\r
+ 'createaccount',\r
'deleteblog',\r
'editmembersettings',\r
- 'browseownitems',\r
+ 'createaccount',\r
+ 'forgotpassword',\r
'browseowncomments',\r
'createitem',\r
'itemedit',\r
}\r
\r
/**\r
+ * Admin::action_createaccount()\r
+ * \r
+ * @param void\r
+ * @return void\r
+ */\r
+ static private function action_createaccount()\r
+ {\r
+ global $CONF;\r
+ \r
+ if ( $CONF['AllowMemberCreate'] != 1 )\r
+ {\r
+ self::$skin->parse('createaccountdisable');\r
+ return;\r
+ }\r
+ \r
+ $name = '';\r
+ $realname ='';\r
+ $email = '';\r
+ $url = '';\r
+ \r
+ $contents = array(\r
+ 'name' => '',\r
+ 'realname' => '',\r
+ 'email' => '',\r
+ 'url' => ''\r
+ );\r
+ \r
+ if ( array_key_exists('showform', $_POST) && $_POST['showform'] == 1 )\r
+ {\r
+ $action = new Action();\r
+ $message = $action->createAccount();\r
+ if ( $message === 1 )\r
+ {\r
+ self::$headMess = $message;\r
+ self::$skin->parse('createaccountsuccess');\r
+ return;\r
+ }\r
+ \r
+ /* TODO: validation */\r
+ if ( array_key_exists('name', $_POST) )\r
+ {\r
+ $contents['name'] = $_POST['name'];\r
+ }\r
+ if ( array_key_exists('realname', $_POST) )\r
+ {\r
+ $contents['realname'] = $_POST['realname'];\r
+ }\r
+ if ( array_key_exists('email', $_POST) )\r
+ {\r
+ $contents['email'] = $_POST['email'];\r
+ }\r
+ if ( array_key_exists('url', $_POST) )\r
+ {\r
+ $contents['url'] = $_POST['url'];\r
+ }\r
+ \r
+ self::$contents = $contents;\r
+ \r
+ }\r
+ \r
+ self::$skin->parse('createaccountinput');\r
+ return;\r
+ }\r
+ \r
+ /**\r
* Admin::action_createitem()\r
* Provide a page to item a new item to the given blog\r
* \r
// check if allowed\r
$member->teamRights($blogid) or self::disallow();\r
\r
- $memberid = $member->getID();\r
- \r
$blog =& $manager->getBlog($blogid);\r
+ $contents = array();\r
+ \r
+ $data = array(\r
+ 'blog' => &$blog,\r
+ 'contents' => &$contents\r
+ );\r
+ $manager->notify('PreAddItemForm', $data);\r
+ \r
+ if ( $blog->convertBreaks() )\r
+ {\r
+ if ( array_key_exists('body', $contents) && !empty($contents['body']) )\r
+ {\r
+ $contents['body'] = removeBreaks($contents['body']);\r
+ }\r
+ if ( array_key_exists('more', $contents) && !empty($contents['more']) )\r
+ {\r
+ $contents['more'] = removeBreaks($contents['more']);\r
+ }\r
+ }\r
+ \r
+ self::$blog = &$blog;\r
+ self::$contents = &$contents;\r
\r
self::$skin->parse('createitem');\r
return;\r
// only allow if user is allowed to alter item\r
$member->canAlterItem($itemid) or self::disallow();\r
\r
- $itemid = intRequestVar('itemid');\r
$blogid = getBlogIDFromItemID($itemid);\r
- $item =& $manager->getItem($itemid, 1, 1);\r
- $manager->notify(\r
- 'PrepareItemForEdit',\r
- array(\r
- 'item' => &$item\r
- )\r
- );\r
+ $blog =& $manager->getBlog($blogid);\r
+ \r
+ $contents =& $manager->getItem($itemid, 1, 1);\r
+ $manager->notify('PrepareItemForEdit', array('blog'=> &$blog, 'item' => &$contents));\r
+ \r
+ if ( $blog->convertBreaks() )\r
+ {\r
+ if ( array_key_exists('body', $contents) && !empty($contents['body']) )\r
+ {\r
+ $contents['body'] = removeBreaks($contents['body']);\r
+ }\r
+ if ( array_key_exists('more', $contents) && !empty($contents['more']) )\r
+ {\r
+ $contents['more'] = removeBreaks($contents['more']);\r
+ }\r
+ }\r
+ \r
+ self::$blog = &$blog;\r
+ self::$contents = &$contents;\r
\r
self::$skin->parse('itemedit');\r
return;\r
else\r
{\r
// TODO: set start item correctly for itemlist\r
- $item = Item::getItem($itemid, 0, 0);\r
+ $item =& $manager->getitem($itemid, 0, 0);\r
$query = "SELECT COUNT(*) FROM %s WHERE unix_timestamp(itime) <= '%s';";\r
$query = sprintf($query, sql_table('item'), $item['timestamp']);\r
$cnt = DB::getValue($query);\r
$notes = strip_tags(postVar('notes'));\r
$locale = postVar('locale');\r
\r
- $mem = Member::createFromID($memberid);\r
+ $mem =& $manager->getMember($memberid);\r
\r
if ( $CONF['AllowLoginEdit'] || $member->isAdmin() )\r
{\r
}\r
\r
/**\r
+ * Admin::action_forgotpassword()\r
+ * \r
+ * @param void\r
+ * @return void\r
+ */\r
+ static private function action_forgotpassword()\r
+ {\r
+ self::$skin->parse('forgotpassword');\r
+ return;\r
+ }\r
+ \r
+ /**\r
* Admin::action_activate()\r
* Account activation\r
* \r
self::error(_ERROR_ACTIVATE);\r
}\r
\r
- $mem = Member::createFromId($info->vmember);\r
+ $mem =& $manager->getMember($info->vmember);\r
\r
if ( !$mem )\r
{\r
return self::showActivationPage($key, _ERROR_ACTIVATE);\r
}\r
\r
- $mem = Member::createFromId($info->vmember);\r
+ $mem =& $manager->getMember($info->vmember);\r
\r
if ( !$mem )\r
{\r
// check if allowed\r
$member->blogAdminRights($blogid) or self::disallow();\r
\r
- $teammem = Member::createFromID($memberid);\r
+ $teammem =& $manager->getMember($memberid);\r
$blog =& $manager->getBlog($blogid);\r
\r
self::$skin->parse('teamdelete');\r
\r
// check if: - there remains at least one blog admin\r
// - (there remains at least one team member)\r
- $tmem = Member::createFromID($memberid);\r
+ $tmem =& $manager->getMember($memberid);\r
\r
\r
$data = array(\r
*/\r
static private function action_teamchangeadmin()\r
{\r
- global $member;\r
+ global $manager, $member;\r
\r
$blogid = intRequestVar('blogid');\r
$memberid = intRequestVar('memberid');\r
// check if allowed\r
$member->blogAdminRights($blogid) or self::disallow();\r
\r
- $mem = Member::createFromID($memberid);\r
+ $mem =& $manager->getMember($memberid);\r
\r
// don't allow when there is only one admin at this moment\r
if ( $mem->isBlogAdmin($blogid) )\r
\r
($member->getID() == $memberid) or $member->isAdmin() or self::disallow();\r
\r
- $mem = Member::createFromID($memberid);\r
+ $mem =& $manager->getMember($memberid);\r
\r
self::$skin->parse('memberdelete');\r
return;\r
global $manager;\r
\r
$memberid = intval($memberid);\r
- $mem = Member::createFromID($memberid);\r
+ $mem =& $manager->getMember($memberid);\r
\r
if ( !$mem->canBeDeleted() )\r
{\r
self::addToAdminTemplate($templateid, 'PLUGIN_QUICKMENU_FOOT', postVar('PLUGIN_QUICKMENU_FOOT'));\r
\r
$data = array('fields' => array());\r
- $manager->notify('TemplateExtraFields', $data);\r
+ $manager->notify('AdminTemplateExtraFields', $data);\r
foreach ( $data['fields'] as $pfkey => $pfvalue )\r
{\r
foreach ( $pfvalue as $pffield => $pfdesc )\r
{\r
if ( $skinid == $adminskin )\r
{\r
- $mem = MEMBER::createFromID($memID);\r
+ $mem =& $manager->getMember($memID);\r
self::error(_ERROR_SKINDEFDELETE . $mem->displayname);\r
}\r
}\r
$_REQUEST['skinclashes'] = $skinNameClashes;\r
$_REQUEST['tpltclashes'] = $templateNameClashes;\r
$_REQUEST['nameclashes'] = $hasNameClashes ? 1 : 0;\r
- \r
- self::$skin->parse('adminskinieimport');\r
+\r
+ if ( !is_object(self::$skin) )\r
+ {\r
+ self::action_adminskiniedoimport();\r
+ }\r
+ else\r
+ {\r
+ self::$skin->parse('adminskinieimport');\r
+ }\r
return;\r
}\r
\r
$_REQUEST['skinnames'] = $importer->getSkinNames();\r
$_REQUEST['tpltnames'] = $importer->getTemplateNames();\r
\r
- self::$skin->parse('adminskiniedoimport');\r
+ if ( !is_object(self::$skin) )\r
+ {\r
+ global $DIR_SKINS;\r
+ $query = "SELECT min(sdnumber) FROM %s WHERE sdname != 'bookmarklet' AND sdincmode = 'admin'";\r
+ $query = sprintf($query, sql_table('skin_desc'));\r
+ $res = intval(DB::getValue($query));\r
+ $query = "UPDATE %s SET value = %d WHERE name = 'AdminSkin'";\r
+ $query = sprintf($query, sql_table('config'), $res);\r
+ DB::execute($query);\r
+ $skin = new Skin(0, 'AdminActions', 'AdminSkin');\r
+ $skin->parse('importAdmin', $DIR_SKINS . 'admin/defaultimporter.skn');\r
+ }\r
+ else\r
+ {\r
+ self::$skin->parse('adminskiniedoimport');\r
+ }\r
return;\r
}\r
\r
self::error(_ERROR_DISALLOWED);\r
return;\r
}\r
- \r
+\r
/**\r
- * Admin::PluninAdminPagehead()\r
- * Output pluginadmin page head\r
+ * Admin::action_PluginAdmin()\r
+ * Output pluginadmin\r
*\r
+ * @param string $skinContents\r
* @param string $extrahead\r
* @return void\r
*/\r
- static public function PluninAdminPagehead($extrahead = '')\r
+ static public function action_PluginAdmin($skinContents, $extrahead = '')\r
{\r
self::$extrahead .= $extrahead;\r
- self::$skin->parse('pagehead');\r
- return;\r
- }\r
- \r
- /**\r
- * Admin::PluninAdminPagefoot()\r
- * Output pluginadmin page foot\r
- *\r
- * @param void\r
- * @return void\r
- */\r
- static public function PluninAdminPagefoot()\r
- {\r
- self::$skin->parse('pagefoot');\r
+ self::$skin->parse('pluginadmin', $skinContents);\r
return;\r
}\r
\r
{\r
self::$headMess = $message;\r
}\r
+ $plugname = $manager->getPluginNameFromPid($pid);\r
+ $plugin = $manager->getPlugin($plugname);\r
Admin::$extrahead .= "<script type=\"text/javascript\" src=\"javascript/numbercheck.js\"></script>\n";\r
\r
self::$skin->parse('pluginoptions');\r