OSDN Git Service

FIX:Strict Standards: Only variables should be passed by reference in
[nucleus-jp/nucleus-next.git] / nucleus / bookmarklet.php
index 7a7e8f7..61af96c 100644 (file)
@@ -26,13 +26,18 @@ $CONF['UsingAdminArea'] = 1;
 include('../config.php');
 
 // get skin object
-$skinid = $CONF['BookmarkletSkin'];
+$skinid = $member->bookmarklet;
 if ( !Skin::existsID($skinid) )
 {
-       echo _ERROR_SKIN;
-       exit;
+       $skinid = $CONF['BookmarkletSkin'];
+       if ( !Skin::existsID($skinid) )
+       {
+               sendContentType('text/html');
+               echo _ERROR_SKIN;
+               exit;
+       }
 }
-$skin = new Skin($skinid, 'AdminActions', 'AdminSkin');
+$skin =& $manager->getSkin($skinid, 'AdminActions', 'AdminSkin');
 
 // check logged-in or pass through
 $action = requestVar('action');
@@ -64,7 +69,7 @@ if ( !in_array($action, $aActionsNotToCheck) )
 {
        if ( !$manager->checkTicket() )
        {
-               bm_doError(_ERROR_BADTICKET);
+               bm_doError($skin, _ERROR_BADTICKET);
        }
 }
 
@@ -107,7 +112,7 @@ function bm_doAddItem($skin)
        
        if ( $result['status'] == 'error' )
        {
-               bm_doError($result['message']);
+               bm_doError($skin, $result['message']);
        }
        
        $blogid = getBlogIDFromItemID($result['itemid']);
@@ -124,9 +129,7 @@ function bm_doAddItem($skin)
                $extrahead = '';
        }
        
-       bm_message($skin, _ITEM_ADDED, _ITEM_ADDED, $message,$extrahead);
-       
-       return;
+       bm_message($skin, _ITEM_ADDED, $message,$extrahead);
        
        return;
 }
@@ -141,7 +144,7 @@ function bm_doEditItem($skin)
        // only allow if user is allowed to alter item
        if ( !$member->canUpdateItem($itemid, $catid) )
        {
-               bm_doError(_ERROR_DISALLOWED);
+               bm_doError($skin, _ERROR_DISALLOWED);
        }
        
        $body = postVar('body');
@@ -171,7 +174,7 @@ function bm_doEditItem($skin)
                // show error when sth goes wrong
                if ( !$catid )
                {
-                       bm_doError('Could not create new category');
+                       bm_doError($skin, 'Could not create new category');
                }
        }
        
@@ -194,7 +197,7 @@ function bm_doEditItem($skin)
                        $timestamp = 0;
                        break;
                default:
-                       bm_doError('Something went wrong');
+                       bm_doError($skin, 'Something went wrong');
        }
        
        // update item for real
@@ -205,16 +208,21 @@ function bm_doEditItem($skin)
                Item::delete($draftid);
        }
        
-       // show success message
-       if ( $catid != intPostVar('catid') )
+       if ( $result['status'] == 'newcategory' )
        {
-               bm_message($skin, _ITEM_UPDATED, _ITEM_UPDATED, 'Item was added, and a new category was created. <a href="index.php?action=categoryedit&amp;blogid=' . $blog->getID() . '&amp;catid=' . $catid . '" onclick="if (event &amp;&amp; event.preventDefault) event.preventDefault(); window.open(this.href); return false;" title="Opens in new window">Click here to edit the name and description of the category.</a>', '');
+               $href           = "index.php?action=categoryedit&amp;blogid={$blogid}&amp;catid={$result['catid']}";
+               $onclick        = 'if (event &amp;&amp; event.preventDefault) event.preventDefault(); window.open(this.href); return false;';
+               $title          = _BOOKMARKLET_NEW_WINDOW;
+               $aTag           = " <a href=\"{$href}\" onclick=\"{$onclick}\" title=\"{$title}\">";
+               $message        = _BOOKMARKLET_NEW_CATEGORY . $aTag . _BOOKMARKLET_NEW_CATEGORY_EDIT . '</a>';
        }
        else
        {
-               bm_message($skin, _ITEM_UPDATED, _ITEM_UPDATED, _ITEM_UPDATED, '');
+               $message = _ITEM_ADDED;
        }
        
+       // show success message
+       bm_message($skin, _ITEM_ADDED, $message, '');
        return;
 }
 
@@ -236,10 +244,7 @@ function bm_loginAndPassThrough($skin, $action='add')
        echo "<input type=\"hidden\" name=\"nextaction\" value=\"{$action}\" />\n";
        */
        
-       $skin->parse('pagehead');
        $skin->parse('showlogin');
-       $skin->parse('pagefoot');
-       
        
        return;
 }
@@ -255,17 +260,14 @@ function bm_doShowForm($skin)
        
        if ( !Blog::existsID($blogid) )
        {
-               bm_doError(_ERROR_NOSUCHBLOG);
+               bm_doError($skin, _ERROR_NOSUCHBLOG);
        }
-       else
+       else if ( !$member->isTeamMember($blogid) )
        {
-               $blog =& $manager->getBlog($blogid);
+               bm_doError($skin, _ERROR_NOTONTEAM);
        }
        
-       if ( !$member->isTeamMember($blogid) )
-       {
-               bm_doError(_ERROR_NOTONTEAM);
-       }
+       $blog =& $manager->getBlog($blogid);
        
        $logje = '';
        
@@ -284,14 +286,27 @@ function bm_doShowForm($skin)
                $logje .= '<a href="' . Entity::hsc($log_link) . '">' . Entity::hsc($log_linktitle) . '</a>';
        }
        
-       $variables = array();
-       $variables['body'] = $logje;
-       $variables['title'] = Entity::hsc($log_linktitle);
+       $item = array();
+       $item['body'] = $logje;
+       $item['title'] = Entity::hsc($log_linktitle);
+       
+       $data = array(
+               'blog'          => &$blog,
+               'item'          => &$item,
+               'contents'      => &$item
+       );
+       $manager->notify('PreAddItemForm', $data);
+       
+       if ( $blog->convertBreaks() )
+       {
+               $item['body'] = removeBreaks($item['body']);
+       }
+       
+       Admin::$blog = &$blog;
+       Admin::$contents = &$item;
        
-       /* TODO: $itemを渡す */
-       $skin->parse('pagehead');
+       Admin::$action = 'createitem';
        $skin->parse('createitem');
-       $skin->parse('pagefoot');
        
        return;
 }
@@ -304,45 +319,47 @@ function bm_doEditForm($skin)
        
        if ( !$manager->existsItem($itemid, 0, 0) )
        {
-               bm_doError(_ERROR_NOSUCHITEM);
+               bm_doError($skin, _ERROR_NOSUCHITEM);
        }
-       
-       if ( !$member->canAlterItem($itemid) )
+       else if ( !$member->canAlterItem($itemid) )
        {
-               bm_doError(_ERROR_DISALLOWED);
+               bm_doError($skin, _ERROR_DISALLOWED);
        }
        
-       $variables =& $manager->getItem($itemid, 1, 1);
        $blog =& $manager->getBlog(getBlogIDFromItemID($itemid) );
+       $item =& $manager->getItem($itemid, 1, 1);
        
-       $manager->notify('PrepareItemForEdit', array('item' => &$variables) );
+       $data = array(
+               'blog' => &$blog,
+               'item' => &$item
+       );
+       $manager->notify('PrepareItemForEdit', $data);
        
        if ( $blog->convertBreaks() )
        {
-               $variables['body'] = removeBreaks($variables['body']);
-               $variables['more'] = removeBreaks($variables['more']);
+               $item['body'] = removeBreaks($item['body']);
+               $item['more'] = removeBreaks($item['more']);
        }
        
-       /* TODO: $itemを渡す */
-       $skin->parse('pagehead');
+       Admin::$blog = &$blog;
+       Admin::$contents = &$item;
+       
+       Admin::$action = 'itemedit';
        $skin->parse('itemedit');
-       $skin->parse('pagefoot');
        
        return;}
 
 function bm_doError($skin, $msg)
 {
-       bm_message($skin, _ERROR, _ERRORMSG, $msg);
+       bm_message($skin, _ERRORMSG, $msg);
        die;
 }
 
-function bm_message($skin, $title, $head, $msg, $extrahead = '')
+function bm_message($skin, $title, $msg, $extrahead = '')
 {
-       /* TODO: $title, $head, $msg, $extraheadを渡す */
-       $skin->parse('pagehead');
+       Admin::$extrahead = $extrahead;
+       Admin::$headMess = $msg;
        $skin->parse('adminerrorpage');
-       $skin->parse('pagefoot');
-       
        
        return;
 }