示例#1
0
 function editPost()
 {
     if (!$this->_checkUser($this->params[1], $this->params[2])) {
         $this->response->add(new XoopsXmlRpcFault(104));
     } else {
         if (!($fields =& $this->_getPostFields($this->params[0]))) {
         } else {
             $missing = array();
             foreach ($fields as $tag => $detail) {
                 if (!isset($this->params[3][$tag])) {
                     $data = $this->_getTagCdata($this->params[3]['xoops_text'], $tag, true);
                     if (trim($data) == '') {
                         if ($detail['required']) {
                             $missing[] = $tag;
                         }
                     } else {
                         $post[$tag] = $data;
                     }
                 } else {
                     $post[$tag] = $this->params[3][$tag];
                 }
             }
             if (count($missing) > 0) {
                 $msg = '';
                 foreach ($missing as $m) {
                     $msg .= '<' . $m . '> ';
                 }
                 $this->response->add(new XoopsXmlRpcFault(109, $msg));
             } else {
                 // will be removed... don't worry if this looks bad
                 include_once XOOPS_ROOT_PATH . '/modules/news/class/class.newsstory.php';
                 $story = new NewsStory($this->params[0]);
                 $storyid = $story->storyid();
                 if (empty($storyid)) {
                     $this->response->add(new XoopsXmlRpcFault(106));
                 } elseif (!$this->_checkAdmin()) {
                     $this->response->add(new XoopsXmlRpcFault(111));
                 } else {
                     $story->setTitle(addslashes(trim($post['title'])));
                     if (isset($post['moretext'])) {
                         $story->setBodytext(addslashes(trim($post['moretext'])));
                     }
                     if (!isset($post['hometext'])) {
                         $story->setHometext(addslashes(trim($this->params[3]['xoops_text'])));
                     } else {
                         $story->setHometext(addslashes(trim($post['hometext'])));
                     }
                     if ($this->params[4]) {
                         $story->setApproved(true);
                         $story->setPublished(time());
                     }
                     $story->setTopicalign('R');
                     if (!$story->store()) {
                         $this->response->add(new XoopsXmlRpcFault(106));
                     } else {
                         $this->response->add(new XoopsXmlRpcBoolean(true));
                     }
                 }
             }
         }
     }
 }
示例#2
0
 $story = new NewsStory();
 $story->setTitle($subject);
 $story->setHometext($message);
 $story->setUid($uid);
 $story->setTopicId($topic_id);
 $story->setHostname(xoops_getenv('REMOTE_ADDR'));
 $story->setNohtml($nohtml_db);
 $nosmiley = isset($nosmiley) ? intval($nosmiley) : 0;
 $notifypub = isset($notifypub) ? intval($notifypub) : 0;
 $story->setNosmiley($nosmiley);
 $story->setNotifyPub($notifypub);
 $story->setType('user');
 if ($xoopsModuleConfig['autoapprove'] == 1) {
     $approve = 1;
     $story->setApproved($approve);
     $story->setPublished(time());
     $story->setExpired(0);
     $story->setTopicalign('R');
 }
 $result = $story->store();
 if ($result) {
     // Notification
     $notification_handler =& xoops_gethandler('notification');
     $tags = array();
     $tags['STORY_NAME'] = $subject;
     $tags['STORY_URL'] = XOOPS_URL . '/modules/' . $xoopsModule->getVar('dirname') . '/article.php?storyid=' . $story->storyid();
     if ($xoopsModuleConfig['autoapprove'] == 1) {
         $notification_handler->triggerEvent('global', 0, 'new_story', $tags);
     } else {
         $tags['WAITINGSTORIES_URL'] = XOOPS_URL . '/modules/' . $xoopsModule->getVar('dirname') . '/admin/index.php?op=newarticle';
         $notification_handler->triggerEvent('global', 0, 'story_submit', $tags);
示例#3
0
 $story->setNotifyPub(0);
 /**/
 $story->setType('admin');
 $story->setExpired(0);
 /**/
 $story->setTopicdisplay(0);
 /**/
 $story->setTopicalign('R');
 /**/
 $story->setIhome(0);
 /**/
 $story->setBodytext(' ');
 /**/
 $story->setExpired(0);
 /**/
 $story->setPublished(0);
 /**/
 $story->setApproved(0);
 /**/
 //save the story
 $result = $story->store();
 //notify
 if ($result) {
     $notification_handler =& xoops_gethandler('notification');
     $tags['WAITINGSTORIES_URL'] = XOOPS_URL . '/modules/news/admin/index.php?op=newarticle';
     $notification_handler->triggerEvent('global', 0, 'story_submit', $tags);
     $tags = array();
     $tags['STORY_NAME'] = $post->getVar('subject', 'e');
     $tags['STORY_URL'] = XOOPS_URL . '/modules/news/ticle.php?storyid=' . $story->storyid();
     $tags['WAITINGSTORIES_URL'] = XOOPS_URL . '/modules/news/admin/index.php?op=newarticle';
     $notification_handler->triggerEvent('global', 0, 'story_submit', $tags);
示例#4
0
 $story->setTitle($_POST['title']);
 $story->setHometext($_POST['hometext']);
 $story->setTopicId(intval($_POST['topic_id']));
 $story->setHostname(xoops_getenv('REMOTE_ADDR'));
 $story->setNohtml($nohtml_db);
 $nosmiley = isset($_POST['nosmiley']) ? intval($_POST['nosmiley']) : 0;
 $story->setNosmiley($nosmiley);
 $notifypub = isset($_POST['notifypub']) ? intval($_POST['notifypub']) : 0;
 $story->setNotifyPub($notifypub);
 $story->setType($_POST['type']);
 if (!empty($_POST['autodate']) && $approveprivilege) {
     $publish_date = $_POST['publish_date'];
     $pubdate = strtotime($publish_date['date']) + $publish_date['time'];
     //$offset = $xoopsUser -> timezone() - $xoopsConfig['server_TZ'];
     //$pubdate = $pubdate - ( $offset * 3600 );
     $story->setPublished($pubdate);
 }
 if (!empty($_POST['autoexpdate']) && $approveprivilege) {
     $expiry_date = $_POST['expiry_date'];
     $expiry_date = strtotime($expiry_date['date']) + $expiry_date['time'];
     $offset = $xoopsUser->timezone() - $xoopsConfig['server_TZ'];
     $expiry_date = $expiry_date - $offset * 3600;
     $story->setExpired($expiry_date);
 } else {
     $story->setExpired(0);
 }
 if ($approveprivilege) {
     if (news_getmoduleoption('metadata')) {
         $story->Setdescription($_POST['description']);
         $story->Setkeywords($_POST['keywords']);
     }
示例#5
0
             $links = "\n\n" . _AMS_NW_RELATEDARTICLES . "\n\n";
         }
         $links .= _AMS_NW_EXTERNALLINK . ' [url=' . $link['link_link'] . ']' . $link['link_title'] . '[/url]' . "\n";
     }
 }
 // The forum
 $forum = '';
 if ($use_forum && $one_amstopic['forum_id'] != 0) {
     $forum = "\n\n" . '[url=' . XOOPS_URL . '/modules/newbb/viewforum.php?forum=' . $one_amstopic['forum_id'] . ']' . _AMS_AM_LINKEDFORUM . '[/url]' . "\n";
 }
 // We create the story
 $news = new NewsStory();
 $news->setUid($text_lastversion['uid']);
 $news->setTitle($article['title']);
 $news->created = $article['created'];
 $news->setPublished($article['published']);
 $news->setExpired($article['expired']);
 $news->setHostname($article['hostname']);
 $news->setNohtml($article['nohtml']);
 $news->setNosmiley($article['nosmiley']);
 $news->setHometext($text_lastversion['hometext']);
 $news->setBodytext($text_lastversion['bodytext'] . $links . $forum);
 $news->Setkeywords('');
 $news->Setdescription('');
 $news->counter = $article['counter'];
 $news->setTopicId($news_topicid);
 $news->setIhome($article['ihome']);
 $news->setNotifyPub($article['notifypub']);
 $news->story_type = $article['story_type'];
 $news->setTopicdisplay($article['topicdisplay']);
 $news->setTopicalign($article['topicalign']);