X-Git-Url: http://git.osdn.net/view?a=blobdiff_plain;f=nucleus%2Flibs%2FADMIN.php;h=1800e6894e70ab1555219fee8415c057c25622bf;hb=83b8a886f41c2d4bc7ac3e736891a387bdd0cbea;hp=11b70deb24f19de1370a8c07af4bb89fe7ffa6a5;hpb=9f3adaabc9ce98a491836b8b4de4a88c6c748e26;p=nucleus-jp%2Fnucleus-next.git diff --git a/nucleus/libs/ADMIN.php b/nucleus/libs/ADMIN.php index 11b70de..1800e68 100644 --- a/nucleus/libs/ADMIN.php +++ b/nucleus/libs/ADMIN.php @@ -208,7 +208,6 @@ class Admin $alias = array( 'login' => 'overview', '' => 'overview', - 'admntemplateoverview' => 'admintemplateoverview' ); } if ( array_key_exists($action, $alias) && isset($alias[$action]) ) @@ -233,7 +232,7 @@ class Admin self::error(_ERROR_BADTICKET); } } - + /* 3. parse according to the action */ if ( !method_exists('Admin', $methodName) && !in_array(self::$action, $allowActions) && self::existsSkinContents($action) ) { @@ -251,7 +250,7 @@ class Admin } elseif ( $id != $CONF['AdminSkin'] ) { - self::$skin = new Skin($CONF['AdminSkin']); + self::$skin = new Skin($CONF['AdminSkin'], 'AdminActions'); if ( self::$skin && self::existsSkinContents('adminerrorpage') ) { self::error(_BADACTION . ENTITY::hsc($action)); @@ -667,14 +666,12 @@ class Admin $itemid = intRequestVar('itemid'); } - /* TODO: we consider to use the other way insterad of this */ - $_REQUEST['itemid'] = $itemid; - $_REQUEST['blogid'] = getBlogIdFromItemId($itemid); - // only allow if user is allowed to alter item $member->canAlterItem($itemid) or self::disallow(); - $blogid = getBlogIdFromItemId($itemid); + $item =& $manager->getItem($itemid, 1, 1); + $_REQUEST['itemid'] = $item['itemid']; + $_REQUEST['blogid'] = $item['blogid']; self::$skin->parse('itemcommentlist'); return; @@ -846,26 +843,24 @@ class Admin // only allow if user is allowed to alter item $member->canAlterItem($itemid) or self::disallow(); - $blogid = getBlogIDFromItemID($itemid); - $blog =& $manager->getBlog($blogid); - - $contents =& $manager->getItem($itemid, 1, 1); - $manager->notify('PrepareItemForEdit', array('blog'=> &$blog, 'item' => &$contents)); + $item =& $manager->getItem($itemid, 1, 1); + $blog =& $manager->getBlog($item['blogid']); + $manager->notify('PrepareItemForEdit', array('blog'=> &$blog, 'item' => &$item)); if ( $blog->convertBreaks() ) { - if ( array_key_exists('body', $contents) && !empty($contents['body']) ) + if ( array_key_exists('body', $item) && !empty($item['body']) ) { - $contents['body'] = removeBreaks($contents['body']); + $item['body'] = removeBreaks($item['body']); } - if ( array_key_exists('more', $contents) && !empty($contents['more']) ) + if ( array_key_exists('more', $item) && !empty($item['more']) ) { - $contents['more'] = removeBreaks($contents['more']); + $item['more'] = removeBreaks($item['more']); } } self::$blog = &$blog; - self::$contents = &$contents; + self::$contents = &$item; self::$skin->parse('itemedit'); return; @@ -925,20 +920,20 @@ class Admin } } - /* - set some variables based on actiontype - - actiontypes: - draft items -> addnow, addfuture, adddraft, delete - non-draft items -> edit, changedate, delete - - variables set: - $timestamp: set to a nonzero value for future dates or date changes - $wasdraft: set to 1 when the item used to be a draft item - $publish: set to 1 when the edited item is not a draft - */ + /** + * set some variables based on actiontype + * + * actiontypes: + * draft items -> addnow, addfuture, adddraft, delete + * non-draft items -> edit, changedate, delete + * + * variables set: + * $timestamp: set to a nonzero value for future dates or date changes + * $wasdraft: set to 1 when the item used to be a draft item + * $publish: set to 1 when the edited item is not a draft + */ $blogid = getBlogIDFromItemID($itemid); - $blog =& $manager->getBlog($blogid); + $blog =& $manager->getBlog($blogid); $wasdrafts = array('adddraft', 'addfuture', 'addnow'); $wasdraft = in_array($actiontype, $wasdrafts) ? 1 : 0; @@ -974,7 +969,7 @@ class Admin else { // TODO: set start item correctly for itemlist - $item =& $manager->getitem($itemid, 0, 0); + $item =& $manager->getitem($itemid, 1, 1); $query = "SELECT COUNT(*) FROM %s WHERE unix_timestamp(itime) <= '%s';"; $query = sprintf($query, sql_table('item'), $item['timestamp']); $cnt = DB::getValue($query); @@ -1017,20 +1012,20 @@ class Admin */ static private function action_itemdeleteconfirm() { - global $member; + global $member, $manager; $itemid = intRequestVar('itemid'); // only allow if user is allowed to alter item $member->canAlterItem($itemid) or self::disallow(); - // get blogid first - $blogid = getBlogIdFromItemId($itemid); + // get item first + $item =& $manager->getItem($itemid, 1, 1); // delete item (note: some checks will be performed twice) - self::deleteOneItem($itemid); + self::deleteOneItem($item['itemid']); - self::action_itemlist($blogid); + self::action_itemlist($item['blogid']); return; } @@ -1052,13 +1047,13 @@ class Admin } // need to get blogid before the item is deleted - $blogid = getBlogIDFromItemId($itemid); + $item =& $manager->getItem($itemid, 1, 1); $manager->loadClass('ITEM'); - Item::delete($itemid); + Item::delete($item['itemid']); // update blog's futureposted - self::updateFuturePosted($blogid); + self::updateFuturePosted($item['itemid']); return; } @@ -1207,19 +1202,17 @@ class Admin self::error($result['message']); } - $itemid = (integer) $result['itemid']; - - $blogid = (integer) getBlogIDFromItemID($itemid); + $item =& $manager->getItem($result['itemid'], 0, 0); if ( $result['status'] == 'newcategory' ) { - $distURI = $manager->addTicketToUrl($CONF['AdminURL'] . 'index.php?action=itemList&blogid=' . $blogid); - self::action_categoryedit($result['catid'], $blogid, $distURI); + $distURI = $manager->addTicketToUrl($CONF['AdminURL'] . 'index.php?action=itemList&blogid=' . $item['blogid']); + self::action_categoryedit($result['catid'], $item['blogid'], $distURI); } else { $methodName = 'action_itemlist'; - self::action_itemlist($blogid); + self::action_itemlist($item['blogid']); } return; } @@ -3059,27 +3052,13 @@ class Admin $member->isAdmin() or self::disallow(); Admin::$extrahead .= "\n"; - Admin::$extrahead .= '\n"; + Admin::$extrahead .= "\n"; self::$skin->parse('templateedit'); return; } /** - * TODO: remove this - * - static private function _templateEditRow(&$template, $description, $name, $help = '', $tabindex = 0, $big = 0) { - static $count = 1; - if (!isset($template[$name])) $template[$name] = ''; - ?> - - - - array()); - $manager->notify('TemplateExtraFields', $data); + $manager->notify('AdminTemplateExtraFields', $data); foreach ( $data['fields'] as $pfkey => $pfvalue ) { foreach ( $pfvalue as $pffield => $pfdesc ) @@ -3976,10 +3955,9 @@ class Admin 'skintype' => $skintype ); $manager->notify('PreDeleteSkinPart', $data); - // delete part - $query = "DELETE FROM %s WHERE sdesc=%d AND stype='%s';"; - $query = sprintf($query, sql_table('skin'), (integer) $skinid, (integer) $skintype); + $query = "DELETE FROM %s WHERE sdesc=%d AND stype=%s;"; + $query = sprintf($query, sql_table('skin'), (integer) $skinid, DB::quoteValue($skintype) ); DB::execute($query); $data = array( @@ -4341,10 +4319,10 @@ class Admin 'skintype' => $skintype ); $manager->notify('PreDeleteAdminSkinPart', $data); - + // delete part - $query = 'DELETE FROM %s WHERE sdesc = %d AND stype ="%s"'; - $query = sprintf($query, sql_table('skin'), (integer) $skinid, $skintype); + $query = 'DELETE FROM %s WHERE sdesc = %d AND stype = %s ;'; + $query = sprintf($query, sql_table('skin'), (integer) $skinid, DB::quoteValue($skintype) ); DB::execute($query); $data = array( @@ -4449,6 +4427,7 @@ class Admin } /** + * FIXME: DUPLICATION, NO NEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEED!!!!!! * Admin::action_adminskinieimport() * * @param void @@ -4504,12 +4483,20 @@ class Admin $_REQUEST['skinclashes'] = $skinNameClashes; $_REQUEST['tpltclashes'] = $templateNameClashes; $_REQUEST['nameclashes'] = $hasNameClashes ? 1 : 0; - - self::$skin->parse('adminskinieimport'); + + if ( !is_object(self::$skin) ) + { + self::action_adminskiniedoimport(); + } + else + { + self::$skin->parse('adminskinieimport'); + } return; } /** + * FIXME: DUPLICATION, NO NEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEED!!!!!! * Admin::action_adminskiniedoimport() * * @param void @@ -4562,7 +4549,22 @@ class Admin $_REQUEST['skinnames'] = $importer->getSkinNames(); $_REQUEST['tpltnames'] = $importer->getTemplateNames(); - self::$skin->parse('adminskiniedoimport'); + if ( !is_object(self::$skin) ) + { + global $DIR_SKINS; + $query = "SELECT min(sdnumber) FROM %s WHERE sdname != 'admin/bookmarklet' AND sdname LIKE 'admin/%%'"; + $query = sprintf($query, sql_table('skin_desc')); + $res = intval(DB::getValue($query)); + $query = "UPDATE %s SET value = %d WHERE name = 'AdminSkin'"; + $query = sprintf($query, sql_table('config'), $res); + DB::execute($query); + $skin = new Skin(0, 'AdminActions', 'AdminSkin'); + $skin->parse('importAdmin', $DIR_SKINS . 'admin/defaultimporter.skn'); + } + else + { + self::$skin->parse('adminskiniedoimport'); + } return; } @@ -4747,31 +4749,19 @@ class Admin self::error(_ERROR_DISALLOWED); return; } - + /** - * Admin::PluninAdminPagehead() - * Output pluginadmin page head + * Admin::action_PluginAdmin() + * Output pluginadmin * + * @param string $skinContents * @param string $extrahead * @return void */ - static public function PluninAdminPagehead($extrahead = '') + static public function action_PluginAdmin($skinContents, $extrahead = '') { self::$extrahead .= $extrahead; - self::$skin->parse('pagehead'); - return; - } - - /** - * Admin::PluninAdminPagefoot() - * Output pluginadmin page foot - * - * @param void - * @return void - */ - static public function PluninAdminPagefoot() - { - self::$skin->parse('pagefoot'); + self::$skin->parse('pluginadmin', $skinContents); return; } @@ -4900,7 +4890,11 @@ class Admin */ static private function action_banlistnewfromitem() { - self::action_banlistnew(getBlogIDFromItemID(intRequestVar('itemid'))); + global $manager; + + $itemid = intRequestVar('itemid'); + $item =& $manager->getItem($itemid, 1, 1); + self::action_banlistnew($item['blogid']); return; }