// include all classes and config data
include('../config.php');
+// get skin object
+$skinid = $CONF['BookmarkletSkin'];
+if ( !Skin::existsID($skinid) )
+{
+ echo _ERROR_SKIN;
+ exit;
+}
+$skin = new Skin($skinid, 'AdminActions', 'AdminSkin');
+
// check logged-in or pass through
$action = requestVar('action');
if ( !$member->isLoggedIn() )
{
- bm_loginAndPassThrough($action);
+ bm_loginAndPassThrough($skin, $action);
exit;
}
else if ( $action == 'login')
$action = 'add';
}
-// send HTTP 1.1 message header for Content-Type
-sendContentType('text/html', 'bookmarklet-' . $action);
-
// check ticket
$aActionsNotToCheck = array('login', 'add', 'edit');
if ( !in_array($action, $aActionsNotToCheck) )
{
if ( !$manager->checkTicket() )
{
- bm_doError(_ERROR_BADTICKET);
+ bm_doError($skin, _ERROR_BADTICKET);
}
}
{
// adds the item for real
case 'additem':
- bm_doAddItem();
+ bm_doAddItem($skin);
break;
// shows the edit item form
case 'edit':
- bm_doEditForm();
+ bm_doEditForm($skin);
break;
// edits the item for real
case 'edititem':
- bm_doEditItem();
+ bm_doEditItem($skin);
break;
// on login, 'action' gets changed to 'nextaction'
case 'login':
- bm_doError('Something went wrong');
+ bm_doError($skin, 'Something went wrong');
break;
// shows the fill in form
case 'add':
default:
- bm_doShowForm();
+ bm_doShowForm($skin);
break;
}
-function bm_doAddItem()
+function bm_doAddItem($skin)
{
global $member, $manager, $CONF;
if ( $result['status'] == 'error' )
{
- bm_doError($result['message']);
+ bm_doError($skin, $result['message']);
}
$blogid = getBlogIDFromItemID($result['itemid']);
$extrahead = '';
}
- bm_message(_ITEM_ADDED, _ITEM_ADDED, $message,$extrahead);
+ bm_message($skin, _ITEM_ADDED, $message,$extrahead);
return;
}
-function bm_doEditItem()
+function bm_doEditItem($skin)
{
global $member, $manager, $CONF;
// 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');
// show error when sth goes wrong
if ( !$catid )
{
- bm_doError('Could not create new category');
+ bm_doError($skin, 'Could not create new category');
}
}
$timestamp = 0;
break;
default:
- bm_doError('Something went wrong');
+ bm_doError($skin, 'Something went wrong');
}
// update item for real
Item::delete($draftid);
}
- // show success message
- if ( $catid != intPostVar('catid') )
+ if ( $result['status'] == 'newcategory' )
{
- bm_message(_ITEM_UPDATED, _ITEM_UPDATED, 'Item was added, and a new category was created. <a href="index.php?action=categoryedit&blogid=' . $blog->getID() . '&catid=' . $catid . '" onclick="if (event && 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&blogid={$blogid}&catid={$result['catid']}";
+ $onclick = 'if (event && 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(_ITEM_UPDATED, _ITEM_UPDATED, _ITEM_UPDATED, '');
+ $message = _ITEM_ADDED;
}
+ // show success message
+ bm_message($skin, _ITEM_ADDED, $message, '');
return;
}
-function bm_loginAndPassThrough($action='add')
+function bm_loginAndPassThrough($skin, $action='add')
{
+ /*
+ * TODO: これを出力させる
$blogid = intRequestVar('blogid');
$itemid = intRequestVar('itemid');
- $log_text = requestVar('logtext');
- $log_link = requestVar('loglink');
- $log_linktitle = requestVar('loglinktitle');
-
- echo "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Strict//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd\">\n";
- echo "<html xmlns=\"http://www.w3.org/1999/xhtml\">\n";
- echo "<head>\n";
- echo "<title>Nucleus CMS Bookmarklet</title>\n";
+ $log_text = requestVar('logtext');
+ $log_link = requestVar('loglink');
+ $log_linktitle = requestVar('loglinktitle');
- bm_style();
-
- echo "</head>\n";
- echo "<body>\n";
- echo '<h1>' . _LOGIN_PLEASE . "</h1>\n";
- echo "<form method=\"post\" action=\"bookmarklet.php\">\n";
- echo "<p>\n";
- echo _LOGINFORM_NAME . "<input type=\"text\" name=\"login\" value=\"\" /><br />\n";
- echo _LOGINFORM_PWD . "<input type=\"password\" name=\"password\" value=\"\" /><br />\n";
echo '<input type="hidden" name="blogid" value="' . Entity::hsc($blogid). '" />' . "\n";
echo '<input type="hidden" name="itemid" value="' . Entity::hsc($itemid). '" />' . "\n";
echo '<input type="hidden" name="logtext" value="' . Entity::hsc($log_text) . '" />' . "\n";
echo '<input type="hidden" name="loglink" value="' . Entity::hsc($log_link) . '" />' . "\n";
echo '<input type="hidden" name="loglinktitle" value="' . Entity::hsc($log_linktitle) . '" />' . "\n";
echo "<input type=\"hidden\" name=\"nextaction\" value=\"{$action}\" />\n";
- echo '<button type="submit" name="action" value="login">' . _LOGIN . "</button>\n";
- echo "</p>\n";
- echo "</form>\n";
- echo '<p><a href="bookmarklet.php" onclick="window.close();">' . _POPUP_CLOSE . "</a></p>\n";
- echo "</body>\n";
- echo "</html>\n";
+ */
+
+ $skin->parse('showlogin');
return;
}
-function bm_doShowForm()
+function bm_doShowForm($skin)
{
- global $member;
+ global $manager, $member;
$blogid = intRequestVar('blogid');
$log_text = trim(requestVar('logtext'));
if ( !Blog::existsID($blogid) )
{
- bm_doError(_ERROR_NOSUCHBLOG);
+ bm_doError($skin, _ERROR_NOSUCHBLOG);
}
-
- if ( !$member->isTeamMember($blogid) )
+ else if ( !$member->isTeamMember($blogid) )
{
- bm_doError(_ERROR_NOTONTEAM);
+ bm_doError($skin, _ERROR_NOTONTEAM);
}
+ $blog =& $manager->getBlog($blogid);
+
$logje = '';
if ( $log_text )
$logje .= '<a href="' . Entity::hsc($log_link) . '">' . Entity::hsc($log_linktitle) . '</a>';
}
+ $item = array();
$item['body'] = $logje;
$item['title'] = Entity::hsc($log_linktitle);
- $factory = new PageFactory($blogid);
- $factory->createAddForm('bookmarklet', $item);
+ $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;
+
+ Admin::setAdminAction('createitem');
+ $skin->parse('createitem');
return;
}
-function bm_doEditForm()
+function bm_doEditForm($skin)
{
global $member, $manager;
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);
}
- $item =& $manager->getItem($itemid, 1, 1);
$blog =& $manager->getBlog(getBlogIDFromItemID($itemid) );
+ $item =& $manager->getItem($itemid, 1, 1);
- $manager->notify('PrepareItemForEdit', array('item' => &$item) );
+ $data = array(
+ 'blog' => &$blog,
+ 'item' => &$item
+ );
+ $manager->notify('PrepareItemForEdit', $data);
if ( $blog->convertBreaks() )
{
$item['more'] = removeBreaks($item['more']);
}
- $formfactory = new PageFactory($blog->getID() );
- $formfactory->createEditForm('bookmarklet', $item);
+ Admin::$blog = &$blog;
+ Admin::$contents = &$item;
- return;
-}
+ Admin::setAdminAction('itemedit');
+ $skin->parse('itemedit');
+
+ return;}
-function bm_doError($msg)
+function bm_doError($skin, $msg)
{
- bm_message(_ERROR, _ERRORMSG, $msg);
+ bm_message($skin, _ERRORMSG, $msg);
die;
}
-function bm_message($title, $head, $msg, $extrahead = '')
+function bm_message($skin, $title, $msg, $extrahead = '')
{
- echo "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Strict//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd\">\n";
- echo "<html xmlns=\"http://www.w3.org/1999/xhtml\">\n";
- echo "<head>\n";
- echo "<title>{$title}</title>\n";
-
- bm_style();
-
- echo $extrahead . "\n";
- echo "</head>\n";
- echo "<body>\n";
- echo "<h1>{$head}</h1>\n";
- echo "<p>{$msg}</p>\n";
- echo '<p><a href="bookmarklet.php" onclick="window.close();window.opener.location.reload();">' . _POPUP_CLOSE . "</a></p>\n";
- echo "</body>\n";
- echo "</html>\n";
+ Admin::$extrahead = $extrahead;
+ Admin::$headMess = $msg;
+ $skin->parse('adminerrorpage');
return;
}
-function bm_style()
-{
- echo "<link rel=\"stylesheet\" type=\"text/css\" href=\"styles/bookmarklet.css\" />\n";
- echo "<link rel=\"stylesheet\" type=\"text/css\" href=\"styles/addedit.css\" />\n";
- return;
-}
-
function bm_doContextMenuCode($width=600, $height=500)
{
- global $CONF;
-
+ global $CONF;
$blogid = (integer) intGetVar('blogid');
echo "<script type=\"text/javascript\" defer=\"defer\">\n";