Exemple #1
0
 function doview()
 {
     $id = $this->get[2];
     $did = $this->get[3];
     if (!is_numeric($id) || !is_numeric($did) || empty($did)) {
         $this->message($this->view->lang['parameterError'], 'BACK', 0);
     }
     $pic = $_ENV['pic']->get_pic_by_id($id);
     $piclist = $_ENV['pic']->get_pic_by_did($did);
     $comments = $_ENV['comment']->get_comments($did, $start = 0, $limit = 5);
     foreach ($comments as $key => $comment) {
         $comments[$key]['comment'] = string::hstrlen($comment['comment']) > 60 ? string::substring($comment['comment'], 0, 60) . "..." : $comment['comment'];
     }
     $countnum = count($piclist);
     foreach ($piclist as $key => $val) {
         if ($val['id'] == $id) {
             $all_key = $key;
             break;
         }
     }
     if ($countnum <= 12) {
         $returnlist =& $piclist;
         $li_key = $all_key;
     } else {
         $i = 12 - ($countnum - $all_key);
         $li_key = $i > 0 ? $i : 0;
         $returnlist = array_slice($piclist, $all_key - $li_key, 12);
     }
     $this->view->assign('did', $did);
     $this->view->assign('max_num', $countnum);
     $this->view->assign('all_key', $all_key);
     $this->view->assign('li_key', $li_key);
     $this->view->assign('comments', $comments);
     $this->view->assign('pic', $pic);
     $this->view->assign("piclist", $returnlist);
     $this->view->assign('navtitle', $pic['title'] . $this->view->lang['image']);
     //$this->view->display('viewpic');
     $_ENV['block']->view('viewpic');
 }
Exemple #2
0
 function doimport()
 {
     $title = string::hiconv($this->post['title']);
     $data = $_ENV['doc']->get_doc_by_title($title);
     $page = $this->cache->getcache('systemdata');
     if (empty($page)) {
         $page = 1;
     }
     $_ENV['hdapi']->roll_docs($page, 10);
     $this->cache->writecache('systemdata', ++$page);
     if ($data) {
         $this->message(0, '', 2);
     }
     $doc['content'] = $_ENV['hdapi']->get_content_import($title, 2, true);
     $doc['tags'] = array($title);
     $doc['search_tags'] = $title;
     if ($doc['content'] && is_string($doc['content'])) {
         $doc['category'] = $this->post['cid'];
         $doc['title'] = $title;
         $doc['letter'] = string::getfirstletter($title);
         $doc['content'] = mysql_real_escape_string($doc['content']);
         $doc['content'] = str_replace('\\r\\n', "\r\n", $doc['content']);
         $doc['tags'] = $_ENV['doc']->jointags($doc['tags']);
         $doc['summary'] = trim(string::convercharacter(strip_tags($doc['content'])));
         $doc['images'] = util::getimagesnum($doc['content']);
         $doc['time'] = $this->time;
         $doc['words'] = string::hstrlen($doc['content']);
         $doc['visible'] = '1';
         //$this->setting['verify_doc']?'0':'1';
         $did = $_ENV['doc']->add_doc($doc);
         $_ENV['doc']->add_searchindex($did, $doc['title'], $doc['search_tags'], $doc['content']);
         $_ENV['user']->add_credit($this->user['uid'], 'doc-create', $this->setting['credit_create']);
         $_ENV['user']->update_field('creates', $this->user['creates'] + 1, $this->user['uid']);
         $_ENV['category']->update_category_docs($this->post['category']);
         //$data = array('did'=>$did, 'name'=>'互动百科 '.$title, 'url'=>'http://www.hudong.com/wiki/'.urlencode($this->post['title']));
         //$_ENV['reference']->add($data);
         $this->message(1, '', 2);
     } else {
         if ($doc['content'] && is_array($doc['content'])) {
             $this->message($doc['content']['return_type'] . '_' . $doc['content']['return_info'], '', 2);
         } else {
             $this->message(2, '', 2);
         }
     }
 }
Exemple #3
0
 function recent_comment($start = 0, $limit = 10)
 {
     $comments = array();
     $query = $this->db->query('SELECT u.image,c.* FROM ' . DB_TABLEPRE . 'comment c LEFT JOIN ' . DB_TABLEPRE . 'user u ON c.authorid=u.uid ORDER BY `time` DESC LIMIT ' . "{$start},{$limit}");
     while ($comment = $this->db->fetch_array($query)) {
         $comment['comment'] = $comment['comment'];
         $comment['image'] = $comment['image'] ? $comment['image'] : 'style/default/user.jpg';
         $comment['image'] = $_ENV['global']->uc_api_avatar($comment['image'], $comment['authorid'], 'small');
         $comment['tipcomment'] = string::hstrlen($comment['comment']) > 12 ? string::substring($comment['comment'], 0, 12) . "..." : $comment['comment'];
         $comment['time'] = $this->base->date($comment['time']);
         $comments[] = $comment;
     }
     return $comments;
 }
Exemple #4
0
 function doimport()
 {
     //global $wmdb;
     if (file_exists($this->configfile) && file_exists($this->sumfile)) {
         include $this->configfile;
         include $this->sumfile;
     } else {
         $this->message('5|0', '', 2);
     }
     $this->wmdb = new hddb(WDB_HOST, WDB_USER, WDB_PW, WDB_NAME, WDB_CHARSET, WDB_CONNECT);
     //$wmdb = $this->wmdb;
     //判断做到哪一步了.
     if (file_exists($this->processfile)) {
         include $this->processfile;
         list($type, $i) = explode('|', $process);
         if ($type >= 5) {
             $this->message('5|0', '', 2);
         }
     } else {
         list($type, $i) = array(1, 0);
     }
     $totalnum = array(1 => $catsum, 2 => $usersum, 3 => $docsum, 4 => $clinksum);
     $totalnum = $totalnum[$type];
     $j = 10;
     for (; $i < $totalnum; $i += $j) {
         $msg = $type . '|' . (($n = $i + $j) >= $totalnum ? $totalnum : $n);
         if ($type == 1 || $type == 2 || $type == 4) {
             //导入分类和用户。
             $hdsql = $_ENV['mwimport']->get_sql($this->wmdb, $type, $i, $j);
             if (!$hdsql || $this->db->query($hdsql)) {
                 $_ENV['mwimport']->writefile($this->processfile, '<?php $process = "' . $msg . '"; ?>');
             } else {
                 $this->message('5|0', '', 2);
             }
         } elseif ($type == 3) {
             include HDWIKI_ROOT . '/plugins/mwimport/text/Mediawiki.php';
             $parser = 'Mediawiki';
             $text_wiki = new Text_Wiki_Mediawiki();
             $sql = "SELECT a.page_id, a.page_title, b.old_text, b.old_flags, b.old_id FROM " . WDB_TABLEPRE . "page a, " . WDB_TABLEPRE . "text b WHERE a.page_namespace = 0 AND a.page_latest = b.old_id limit " . $i . ",{$j}";
             $query = $this->wmdb->query($sql);
             while ($doc = $this->wmdb->fetch_array($query)) {
                 if ($_ENV['doc']->get_doc_by_title($doc['page_title'])) {
                     continue;
                 }
                 $doc['did'] = $doc['page_id'];
                 $doc['title'] = $doc['page_title'];
                 $doc['letter'] = string::getfirstletter($doc['page_title']);
                 $wiki = $text_wiki->singleton($parser);
                 $result = $wiki->transform($source);
                 $doc['old_text'] = $wiki->transform($doc['old_text']);
                 //加入对内容的处理和过滤。
                 $doc['old_text'] = mysql_real_escape_string($doc['old_text']);
                 $doc['tags'] = '';
                 $doc['summary'] = trim(string::convercharacter(string::substring(strip_tags($doc['old_text']), 0, 100)));
                 $doc['images'] = util::getimagesnum($doc['old_text']);
                 $doc['time'] = $this->time;
                 $doc['words'] = string::hstrlen($doc['old_text']);
                 $doc['visible'] = '1';
                 $doc['cid'] = $_ENV['mwimport']->get_cid($this->wmdb, '', $doc['did']);
                 $sql = "SELECT rev_user,rev_user_text FROM " . WDB_TABLEPRE . "revision  WHERE rev_page = " . $doc['page_id'] . " ORDER BY  rev_id ";
                 $user = $this->wmdb->fetch_first($sql);
                 $this->db->query("REPLACE INTO " . DB_TABLEPRE . "doc\r\n\t\t\t    (did,cid,letter,title,tag ,summary ,content,author,authorid,time,lastedit,lasteditor,lasteditorid,visible,editions)\r\n\t\t\t    VALUES (" . $doc['did'] . "," . $doc['cid'] . ",'" . $doc['letter'] . "','" . $doc['title'] . "','" . $doc['tags'] . "','" . $doc['summary'] . "','" . $doc['old_text'] . "',\r\n\t\t\t    '" . $user['rev_user_text'] . "','" . $user['rev_user'] . "',\r\n\t\t\t    " . $doc['time'] . "," . $doc['time'] . ",'" . $user['rev_user_text'] . "','" . $user['rev_user'] . "','" . $doc['visible'] . "',1)");
             }
             $_ENV['mwimport']->writefile($this->processfile, '<?php $process = "' . $msg . '"; ?>');
         }
         $this->message($msg, '', 2);
     }
     $msg = $type + 1 . '|0';
     $_ENV['mwimport']->writefile($this->processfile, '<?php $process = "' . $msg . '"; ?>');
     $this->message($msg, '', 2);
 }
Exemple #5
0
 function cooperatedocs($num = 0)
 {
     $coopdoc = array();
     $cooperatedocs = explode(';', $this->base->setting['cooperatedoc']);
     if ($num == 0) {
         $counts = count($cooperatedocs);
     } else {
         $counts = $num;
     }
     for ($i = 0; $i < $counts; $i++) {
         if ($cooperatedocs[$i] == '') {
             unset($cooperatedocs[$i]);
         } else {
             $coopdoc[$i]['shorttitle'] = string::hstrlen($cooperatedocs[$i]) > 10 ? string::substring($cooperatedocs[$i], 0, 5) . "..." : $cooperatedocs[$i];
             $coopdoc[$i]['title'] = $cooperatedocs[$i];
         }
     }
     return $coopdoc;
 }
Exemple #6
0
 function docooperate()
 {
     $coopdoc = array();
     $cooperatedocs = explode(';', $this->setting['cooperatedoc']);
     $counts = count($cooperatedocs);
     for ($i = 0; $i < $counts; $i++) {
         if ($cooperatedocs[$i] == '') {
             unset($cooperatedocs[$i]);
         } else {
             $coopdoc[$i]['shorttitle'] = string::hstrlen($cooperatedocs[$i]) > 4 ? string::substring($cooperatedocs[$i], 0, 4) . "..." : $cooperatedocs[$i];
             $coopdoc[$i]['title'] = $cooperatedocs[$i];
         }
     }
     $this->view->assign('coopdoc', $coopdoc);
     //$this->view->display('cooperate');
     $_ENV['block']->view('cooperate');
 }