X-Git-Url: http://git.sourceforge.jp/view?p=nucleus-jp%2Fnucleus-jp-ancient.git;a=blobdiff_plain;f=euc%2Faction.php;h=b9e32a1b5bd9c88093cfbf565f315805e64d0613;hp=f18729a721ef5c632c61f7fca909003ffaabe14e;hb=8da2a40e98bcba83f18b2a0c3f2cc0f3265b901c;hpb=6d9b8148423fcdcd09a7650a59cc3fa31a9e0218;ds=sidebyside diff --git a/euc/action.php b/euc/action.php index f18729a..b9e32a1 100755 --- a/euc/action.php +++ b/euc/action.php @@ -1,7 +1,7 @@ getBlog($blogid); - - // note: PreAddComment and PostAddComment gets called somewhere inside addComment - $errormessage = $comments->addComment($blog->getCorrectTime(),$post); - - if ($errormessage == '1') { - // redirect when adding comments succeeded - if (postVar('url')) { - redirect(postVar('url')); - } else { - $url = createItemLink($post['itemid']); - redirect($url); - } - } else { - // else, show error message using default skin for blog - doError($errormessage, new SKIN($blog->getDefaultSkin())); - } -} - -// Sends a message from the current member to the member given as argument -function sendMessage() { - global $CONF, $member; - - $error = validateMessage(); - if ($error != '') - doError($error); - - if (!$member->isLoggedIn()) { - $fromMail = postVar('frommail'); - if (!isValidMailAddress($fromMail)) - doError(_ERROR_BADMAILADDRESS); - $fromName = _MMAIL_FROMANON; - } else { - $fromMail = $member->getEmail(); - $fromName = $member->getDisplayName(); - } - - $tomem = new MEMBER(); - $tomem->readFromId(postVar('memberid')); - - $message = _MMAIL_MSG . ' ' . $fromName . "\n" - . '(' . _MMAIL_FROMNUC. ' ' . $CONF['IndexURL'] .") \n\n" - . _MMAIL_MAIL . " \n\n" - . postVar('message'); - $message .= getMailFooter(); - - $title = _MMAIL_TITLE . ' ' . $fromName; -// mail($tomem->getEmail(), $title, $message, 'From: '. $fromMail); - mb_language('ja'); - mb_internal_encoding(_CHARSET); - @mb_send_mail($tomem->getEmail(), $title, $message, "From: ". $fromMail); - - if (postVar('url')) { - redirect(postVar('url')); - } else { - $CONF['MemberURL'] = $CONF['IndexURL']; - if ($CONF['URLMode'] == 'pathinfo') - $url = createMemberLink($tomem->getID()); - else - $url = $CONF['IndexURL'] . createMemberLink($tomem->getID()); - redirect($url); - } - -} - - function validateMessage() { - global $CONF, $member, $manager; - - if (!$CONF['AllowMemberMail']) - return _ERROR_MEMBERMAILDISABLED; - - if (!$member->isLoggedIn() && !$CONF['NonmemberMail']) - return _ERROR_DISALLOWED; - - if (!$member->isLoggedIn() && (!isValidMailAddress(postVar('frommail')))) - return _ERROR_BADMAILADDRESS; - - // let plugins do verification (any plugin which thinks the comment is invalid - // can change 'error' to something other than '') - $result = ''; - $manager->notify('ValidateForm', array('type' => 'membermail', 'error' => &$result)); - - return $result; - - } - - -// creates a new user account -function createAccount() { - global $CONF, $manager; - - if (!$CONF['AllowMemberCreate']) - doError(_ERROR_MEMBERCREATEDISABLED); - - // create random password - $pw = genPassword(10); - // create member (non admin/can login/no notes) - $r = MEMBER::create(postVar('name'), postVar('realname'), $pw, postVar('email'), postVar('url'), 0, $CONF['NewMemberCanLogon'], ''); - if ($r != 1) - doError($r); - // send message containing password. - $newmem = new MEMBER(); - $newmem->readFromName(postVar('name')); - $newmem->sendPassword($pw); - $manager->notify('PostRegister',array('member' => &$newmem)); +$a =& new ACTION(); +$errorInfo = $a->doAction($action); - if (postVar('desturl')) { - redirect(postVar('desturl')); - } else { - echo _MSG_ACCOUNTCREATED; - } +if ($errorInfo) +{ + doError($errorInfo['message'], new SKIN($errorInfo['skinid'])); } -// sends a new password -function forgotPassword() { - $membername = trim(postVar('name')); - - if (!MEMBER::exists($membername)) - doError(_ERROR_NOSUCHMEMBER); - $mem = MEMBER::createFromName($membername); - - // check if e-mail address is correct - if (!($mem->getEmail() == postVar('email'))) - doError(_ERROR_INCORRECTEMAIL); - - $pw = genPassword(10); - $mem->setPassword($pw); // change password - $mem->write(); // save - $mem->sendPassword($pw);// send - - if (postVar('url')) { - redirect(postVar('url')); - } else { - echo _MSG_PASSWORDSENT; - } -} - -// handle karma votes -function doKarma($type) { - global $itemid, $member, $CONF, $manager; - - // check if itemid exists - if (!$manager->existsItem($itemid,0,0)) - doError(_ERROR_NOSUCHITEM); - - $blogid = getBlogIDFromItemID($itemid); - checkban($blogid); - - $karma =& $manager->getKarma($itemid); - - // check if not already voted - if (!$karma->isVoteAllowed(serverVar('REMOTE_ADDR'))) - doError(_ERROR_VOTEDBEFORE); - - // check if item does allow voting - $item =& $manager->getItem($itemid,0,0); - if ($item['closed']) - doError(_ERROR_ITEMCLOSED); - - switch($type) { - case 'pos': - $karma->votePositive(); - break; - case 'neg': - $karma->voteNegative(); - break; - } - - $blogid = getBlogIDFromItemID($itemid); - $blog =& $manager->getBlog($blogid); - - // send email to notification address, if any - if ($blog->getNotifyAddress() && $blog->notifyOnVote()) { - - $mailto_msg = _NOTIFY_KV_MSG . ' ' . $itemid . "\n"; - $mailto_msg .= $CONF['IndexURL'] . 'index.php?itemid=' . $itemid . "\n\n"; - if ($member->isLoggedIn()) { - $mailto_msg .= _NOTIFY_MEMBER . ' ' . $member->getDisplayName() . ' (ID=' . $member->getID() . ")\n"; - } - $mailto_msg .= _NOTIFY_IP . ' ' . serverVar('REMOTE_ADDR') . "\n"; - $mailto_msg .= _NOTIFY_HOST . ' ' . gethostbyaddr(serverVar('REMOTE_ADDR')) . "\n"; - $mailto_msg .= _NOTIFY_VOTE . "\n " . $type . "\n"; - $mailto_msg .= getMailFooter(); - - $mailto_title = _NOTIFY_KV_TITLE . ' ' . strip_tags($item['title']) . ' (' . $itemid . ')'; - - $frommail = $member->getNotifyFromMailAddress(); - - $notify = new NOTIFICATION($blog->getNotifyAddress()); - $notify->notify($mailto_title, $mailto_msg , $frommail); - } - - - $refererUrl = serverVar('HTTP_REFERER'); - if ($refererUrl) - $url = $refererUrl; - else - $url = $CONF['IndexURL'] . 'index.php?itemid=' . $itemid; - - redirect($url); -} - -/** - * Calls a plugin action - */ -function callPlugin() { - global $manager; - - $pluginName = 'NP_' . requestVar('name'); - $actionType = requestVar('type'); - - // 1: check if plugin is installed - if (!$manager->pluginInstalled($pluginName)) - doError(_ERROR_NOSUCHPLUGIN); - - // 2: call plugin - $pluginObject =& $manager->getPlugin($pluginName); - if ($pluginObject) - $error = $pluginObject->doAction($actionType); - else - $error = 'Could not load plugin (see actionlog)'; - - // doAction returns error when: - // - an error occurred (duh) - // - no actions are allowed (doAction is not implemented) - if ($error) - doError($error); - -} - -function checkban($blogid) { - // check if banned - $ban = BAN::isBanned($blogid, serverVar('REMOTE_ADDR')); - if ($ban != 0) { - doError(_ERROR_BANNED1 . $ban->iprange . _ERROR_BANNED2 . $ban->message . _ERROR_BANNED3); - } - -} - - - -?> +?> \ No newline at end of file