PageRenderTime 54ms CodeModel.GetById 22ms RepoModel.GetById 0ms app.codeStats 0ms

/branches/modules/planet/planet.controller.php

http://xe-planet.googlecode.com/
PHP | 936 lines | 579 code | 191 blank | 166 comment | 98 complexity | c86b7d6f994d3dd2c8342c67f0a500a5 MD5 | raw file
  1. <?php
  2. /**
  3. * @class planetController
  4. * @author sol (sol@ngleader.com)
  5. * @brief planet ??? Controller class
  6. **/
  7. class planetController extends planet {
  8. /**
  9. * @brief ???
  10. **/
  11. function init() {
  12. $oPlanetModel = &getModel('planet');
  13. $oModuleModel = &getModel('module');
  14. Context::set('module_info',$this->module_info = $oPlanetModel->getPlanetConfig());
  15. $this->grant = $oModuleModel->getGrant($this->module_info, Context::get('logged_info'), $this->xml_info);
  16. Context::set('grant', $this->grant);
  17. }
  18. /**
  19. * @brief ??? ? ??
  20. **/
  21. function procPlanetDeleteDocument() {
  22. $document_srl = Context::get('document_srl');
  23. if(!$document_srl) return new Object(-1,'msg_invalid_request');
  24. // document module model ?? ??
  25. $oDocumentController = &getController('document');
  26. // ?? ??
  27. $output = $oDocumentController->deleteDocument($document_srl);
  28. if(!$output->toBool()) return $output;
  29. $output = $oDocumentController->deleteDocument($document_srl);
  30. $args->document_srl = $document_srl;
  31. $this->deleteCalling($args);
  32. // ?? ??? ??
  33. $this->add('document_srl', $document_srl);
  34. $this->setMessage('success_deleted');
  35. }
  36. function deleteCalling($args){
  37. if(!$args->document_srl) return;
  38. $output = executeQuery('planet.deleteCalling', $args);
  39. return $output;
  40. }
  41. function deleteCallingItem($args){
  42. if(!$args->document_srl || !$args->module_srl) return;
  43. $output = executeQuery('planet.deleteCallingItem', $args);
  44. return $output;
  45. }
  46. /**
  47. * @brief ??? ??
  48. **/
  49. function procPlanetDeleteComment() {
  50. // ?? ?? ??
  51. $comment_srl = Context::get('comment_srl');
  52. if(!$comment_srl) return $this->doError('msg_invalid_request');
  53. // comment ??? controller ?? ??
  54. $oCommentController = &getController('comment');
  55. $output = $oCommentController->deleteComment($comment_srl, $this->grant->manager);
  56. if(!$output->toBool()) return $output;
  57. $this->add('comment_srl', $comment_srl);
  58. $this->add('document_srl', $output->get('document_srl'));
  59. $this->setMessage('success_deleted');
  60. }
  61. /**
  62. * @brief ??? ??
  63. **/
  64. function procPlanetCreate() {
  65. if(!Context::get('is_logged')) return new Object(-1,'msg_not_logged');
  66. if(!$this->grant->create) return new Object(-1,'msg_not_permitted');
  67. $oPlanetModel = &getModel('planet');
  68. $myplanet = $oPlanetModel->getMemberPlanet();
  69. if($myplanet->isExists()) return new Object(-1,'msg_planet_exists');
  70. $args->planet_title = Context::get("planet_title");
  71. $args->browser_title = Context::get("browser_title");
  72. $args->mid = Context::get("planet_mid");
  73. $args->tag = Context::get("tag");
  74. if(in_array($args->mid, array('www','naver','hangame','promotion','notice','group','team','center','division','tf','faq','question','uit'))) return new Object(-1,'msg_denied_planet_title');
  75. // ??? ??? ??? ?? ?? ?? ?? ??? ??? ?? ??? ??? ??? ??
  76. // ?? ??? ?? - ?? ??? ??? ?? ?? ???
  77. $oMemberModel = &getModel('member');
  78. if($oMemberModel->isDeniedID($args->mid)) return new Object(-1,'msg_denied_planet_title');
  79. // ??? ??
  80. $output = $this->insertPlanet($args);
  81. if(!$output->toBool()) return $output;
  82. // planet?? ???? postscript? ?? ????? ????? ???? ??
  83. $oDocumentController = &getController('document');
  84. $oDocumentController->insertDocumentExtraKey($output->get('module_srl'), 20, 'postscript', 'text', 'N', 'N', '', '', 'ps');
  85. // ?? ??? ??
  86. $logged_info = Context::get('logged_info');
  87. $welcome_args->content = Context::getLang('msg_welcome_planet');
  88. $welcome_args->module_srl = $output->get('module_srl');
  89. $welcome_args->member_srl = $logged_info->member_srl;
  90. $oMemberModel = &getModel('member');
  91. $member_info = $oMemberModel->getMemberInfoByMemberSrl($welcome_args->member_srl);
  92. $welcome_args->user_id = $member_info->user_id;
  93. $welcome_args->user_name = $member_info->user_name;
  94. $welcome_args->nick_name = $member_info->nick_name;
  95. $welcome_args->email_address = $member_info->email_address;
  96. $welcome_args->homepage = $member_info->homepage;
  97. $this->insertContent($welcome_args,true);
  98. $this->setError($output->getError());
  99. $this->setMessage($output->getMessage());
  100. $this->add('mid', $args->mid);
  101. $this->add('mid_url', getUrl('','mid',$args->mid));
  102. }
  103. /**
  104. * @brief ??? ?? ???
  105. **/
  106. function procPlanetPhotoModify() {
  107. if(!Context::isUploaded()) exit();
  108. $photo = Context::get('photo');
  109. if(!is_uploaded_file($photo['tmp_name'])) exit();
  110. $oPlanetModel = &getModel('planet');
  111. $planet = $oPlanetModel->getMemberPlanet();
  112. if($planet->isExists()) $url = getUrl('','mid',$planet->getMid());
  113. else {
  114. $module_info = $oPlanetModel->getPlanetConfig();
  115. $url = getUrl('','mid',$module_info->mid);
  116. }
  117. Context::set('url',$url);
  118. $this->insertPlanetPhoto($planet->getModuleSrl(), $photo['tmp_name']);
  119. $this->setTemplatePath($this->module_path.'tpl');
  120. $this->setTemplateFile('move_myplanet');
  121. }
  122. /**
  123. * @brief ??? ??? ??
  124. **/
  125. function procPlanetColorsetModify() {
  126. $oPlanetModel = &getModel('planet');
  127. $myplanet = $oPlanetModel->getMemberPlanet();
  128. if(!$myplanet->isExists()) return new Object(-1, 'msg_not_permitted');
  129. $colorset = Context::get('colorset');
  130. if(!$colorset) return new Object(-1,'msg_invalid_request');
  131. $this->updatePlanetColorset($myplanet->getModuleSrl(), $colorset);
  132. $this->setTemplatePath($this->module_path.'tpl');
  133. $this->setTemplateFile('move_myplanet');
  134. }
  135. /**
  136. * @brief ?? - ??? ? ??
  137. * ?? ??. document ??? ??
  138. **/
  139. function procPlanetContentWrite() {
  140. $oPlanetModel = &getModel('planet');
  141. $myplanet = $oPlanetModel->getMemberPlanet();
  142. if(!$myplanet->isExists()) return new Object(-1, 'msg_not_permitted');
  143. if($this->module_srl != $myplanet->getModuleSrl()) return new Object(-1, 'msg_not_permitted');
  144. $obj = Context::getRequestVars();
  145. $obj->module_srl = $myplanet->module_srl;
  146. $output = $this->insertContent($obj);
  147. // ?? ??? ??
  148. if(!$output->toBool()) return $output;
  149. // me2day?? ??
  150. if(Context::get('me2day_autopush')=='Y') {
  151. $content = Context::get('content');
  152. $tags = Context::get('tags');
  153. $postscript = Context::get('postscript');
  154. if($postscript) $content .= " (".$postscript.")";
  155. if($tags) $tags = str_replace(',',' ',str_replace(' ','',$tags));
  156. $this->doPostToMe2day($myplanet->getMe2dayUID(), $myplanet->getMe2dayUKey(), $content, $tags);
  157. }
  158. // ??? ??
  159. $this->add('mid', Context::get('mid'));
  160. $this->add('document_srl', $output->get('document_srl'));
  161. // ?? ??? ??
  162. $this->setMessage('success_registed');
  163. }
  164. function insertContent($obj,$manual_inserted=false){
  165. // ?? ?? ??? ???, ?? ??.
  166. if(!$obj->commentStatus) $obj->commentStatus = 'ALLOW';
  167. // ??? ??
  168. $content = $this->grammarConvert($obj->content);
  169. $obj->content = $content->content;
  170. $calling = $content->calling;
  171. $oDocumentController = &getController('document');
  172. $output = $oDocumentController->insertDocument($obj,$manual_inserted);
  173. if(!$output->toBool()) return $output;
  174. // ??? ?? ???? ??
  175. $planet_args->latest_document_srl = $output->get('document_srl');
  176. $planet_args->module_srl = $obj->module_srl;
  177. $output = executeQuery('planet.updatePlanetLatestDocument', $planet_args);
  178. $calling = array_unique($calling);
  179. foreach($calling as $k => $module_srl){
  180. unset($args);
  181. $args->document_srl = $planet_args->latest_document_srl;
  182. $args->module_srl = $module_srl;
  183. $this->insertCalling($args);
  184. }
  185. return $output;
  186. }
  187. function insertCalling($obj){
  188. $args->module_srl = $obj->module_srl;
  189. $args->document_srl = $obj->document_srl;
  190. $args->list_order = -1*getNextSequence();
  191. $args->regdate = date("YmdHis");
  192. return executeQuery('planet.insertCallings', $args);
  193. }
  194. /**
  195. * @brief ???? ?? ??
  196. **/
  197. function procPlanetContentTagModify(){
  198. $req = Context::getRequestVars();
  199. // document module? model ?? ??
  200. $oDocumentModel = &getModel('document');
  201. // document module? controller ?? ??
  202. $oDocumentController = &getController('document');
  203. $oDocument = $oDocumentModel->getDocument($req->document_srl);
  204. $oDocument->add('tags',$req->planet_content_tag);
  205. $obj = $oDocument->getObjectVars();
  206. $obj->postscript = $oDocument->getExtraValue(20);
  207. $output = $oDocumentController->updateDocument($oDocument, $obj);
  208. $this->setMessage('success_updated');
  209. }
  210. /**
  211. * @brief ??? ???? ?? ??
  212. **/
  213. function procPlanetInsertMemo() {
  214. $planet_memo = trim(Context::get('planet_memo'));
  215. if(!$planet_memo) return new Object(-1,'msg_invalid_request');
  216. if(!Context::get('is_logged')) return new Object(-1,'msg_not_permitted');
  217. $oPlanetModel = &getModel('planet');
  218. $myplanet = $oPlanetModel->getMemberPlanet();
  219. // ?? ???? ?? ?? ??
  220. $planet = $oPlanetModel->getPlanet($this->module_srl);
  221. if(!$planet->isExists()) return new Object(-1,'msg_invalid_request');
  222. // ?? ???? ??? ??
  223. if(!$myplanet->isExists()) return new Object(-1,'msg_not_permitted');
  224. // ?? ??
  225. $output = $this->insertMemo($this->module_srl, $myplanet->getModuleSrl(), $planet_memo);
  226. if(!$output->toBool()) return $output;
  227. // ?? ?? ??? ???? tpl? return
  228. $this->add('tpl', $oPlanetModel->getMemoHtml($this->module_srl, 1));
  229. }
  230. /**
  231. * @brief ?? ??
  232. **/
  233. function procPlanetDeleteMemo() {
  234. $planet_memo_srl = trim(Context::get("planet_memo_srl"));
  235. if(!$planet_memo_srl) return new Object(-1,'msg_invalid_request');
  236. $args->planet_memo_srl = $planet_memo_srl;
  237. $output = executeQuery('planet.getPlanetMemo', $args);
  238. if(!$output->toBool()) return $output;
  239. $memo = $output->data;
  240. if(!$output->data) return new Object(-1,'msg_invalid_request');
  241. $oPlanetModel = &getModel('planet');
  242. $myplanet = $oPlanetModel->getMemberPlanet();
  243. if(!$myplanet->isExists()) return new Object(-1,'msg_invalid_request');
  244. Context::set('myplanet', $myplanet);
  245. $planet = $oPlanetModel->getPlanet($memo->module_srl);
  246. if(!$planet->isExists()) return new Object(-1,'msg_invalid_request');
  247. Context::set('planet', $planet);
  248. // ?????? ???
  249. $logged_info = Context::get('logged_info');
  250. Context::set('isMyPlanet', $planet->getMemberSrl() == $logged_info->member_srl);
  251. if($planet->getModuleSrl() != $memo->module_srl && $myplanet->getModuleSrl() != $memo->write_planet_srl) return new Object(-1,'msg_not_permitted');
  252. $this->deleteMemo($planet_memo_srl);
  253. // ?? ?? ??? ???? tpl? return
  254. $this->add('tpl', $oPlanetModel->getMemoHtml($memo->module_srl, 1));
  255. }
  256. /**
  257. * @brief ??? ?? ?? ??
  258. * ???? ?? ??? module config? ???? ???
  259. * ?? : ?? ??? ??, ??, ?? ??
  260. **/
  261. function insertPlanetConfig($planet) {
  262. $oModuleController = &getController('module');
  263. $oModuleController->insertModuleConfig('planet', $planet);
  264. }
  265. /**
  266. * @brief ??? ??
  267. * ???? modules ???? ???? ??(mid, browser_title)? ???? planet???? ??? ??? ??? ????
  268. **/
  269. function insertPlanet($planet, $member_srl = 0) {
  270. $planet->module = 'planet';
  271. $planet->module_srl = getNextSequence();
  272. $oMemberModel = &getModel('member');
  273. $oModuleController = &getController('module');
  274. $output = $oModuleController->insertModule($planet);
  275. if(!$output->toBool()) return $output;
  276. if(!$member_srl) $member_info = Context::get('logged_info');
  277. else $member_info = $oMemberModel->getMemberInfoByMemberSrl($member_srl);
  278. $args->planet_title = $planet->planet_title;
  279. $args->module_srl = $output->get('module_srl');
  280. $args->member_srl = $member_info->member_srl;
  281. $args->close_notice = 'N';
  282. $output = executeQuery('planet.insertPlanet', $args);
  283. if(!$output->toBool()) return $output;
  284. if($planet->tag) {
  285. $tmp_arr = explode(",",trim($planet->tag));
  286. $tag_list = null;
  287. for($i=0;$i<count($tmp_arr);$i++) {
  288. $tag = trim($tmp_arr[$i]);
  289. if(!$tag) continue;
  290. unset($tag_args);
  291. $tag_args->module_srl = $args->module_srl;
  292. $tag_args->tag = $tag;
  293. executeQuery('planet.insertPlanetTag', $tag_args);
  294. }
  295. }
  296. $output->add('module_srl', $planet->module_srl);
  297. return $output;
  298. }
  299. /**
  300. * @brief ??? ??
  301. * ???? ?? ??? ??
  302. **/
  303. function updatePlanet($planet) {
  304. $oModuleController = &getController('module');
  305. $output = $oModuleController->updateModule($planet);
  306. $output->add('module_srl', $planet->module_srl);
  307. return $output;
  308. }
  309. /**
  310. * @brief ??? ??? ??
  311. **/
  312. function insertPlanetPhoto($module_srl, $source) {
  313. $oPlanetModel = &getModel('planet');
  314. $path = $oPlanetModel->getPlanetPhotoPath($module_srl);
  315. if(!is_dir($path)) FileHandler::makeDir($path);
  316. $filename = sprintf('%s/%d.jpg', $path, $module_srl);
  317. FileHandler::createImageFile($source, $filename, 96, 96, 'jpg', 'crop');
  318. }
  319. /**
  320. * @brief ?? - ??? ???? ?? ??
  321. * ???? ??? modules???? browser_title??? ????
  322. **/
  323. function updatePlanetBrowserTitle($module_srl, $browser_title) {
  324. $args->module_srl = $module_srl;
  325. $args->browser_title = $browser_title;
  326. return executeQuery('planet.updatePlanetBrowserTitle', $args);
  327. }
  328. /**
  329. * @brief ?? - ??? ??? ??
  330. **/
  331. function updatePlanetColorset($module_srl, $colorset) {
  332. $args->module_srl = $module_srl;
  333. $args->colorset = $colorset;
  334. $logged_info = Context::get('logged_info');
  335. $args->member_srl = $logged_info->member_srl;
  336. return executeQuery('planet.updatePlanetColorset', $args);
  337. }
  338. /**
  339. * @brief ?? - ??? ?? ??
  340. * ???? ??? planet???? planet_title??? ????
  341. **/
  342. function updatePlanetTitle($module_srl, $planet_title) {
  343. $args->module_srl = $module_srl;
  344. $args->planet_title = $planet_title;
  345. $logged_info = Context::get('logged_info');
  346. $args->member_srl = $logged_info->member_srl;
  347. return executeQuery('planet.updatePlanetTitle', $args);
  348. }
  349. /**
  350. * @brief ?? - ??? ?? ??
  351. * ???? ??? modules ???? description??? ????.
  352. **/
  353. function updatePlanetIntro() {
  354. }
  355. /**
  356. * @brief ?? - ??? ?? ?? ??
  357. * ???? ?? ?? ??
  358. **/
  359. function updatePlanetTag($module_srl,$arrTags) {
  360. $arrAddTags = array();
  361. $arrDeleteTags = array();
  362. $oPlanetModel = &getModel('planet');
  363. $output = $oPlanetModel->getPlanetTags($module_srl);
  364. $args->module_srl = $module_srl;
  365. executeQuery('planet.deletePlanetTags', $args);
  366. if(count($arrTags)) {
  367. $arrTags = array_unique($arrTags);
  368. foreach($arrTags as $tag){
  369. if(strlen($tag) > 0){
  370. unset($tag_args);
  371. $tag_args->module_srl = $module_srl;
  372. $tag_args->tag = $tag;
  373. executeQuery('planet.insertPlanetTag', $tag_args);
  374. }
  375. }
  376. }
  377. }
  378. /**
  379. * @brief ?? - ???? ?? ??
  380. * ?? ???? ???? ???? ??? ??
  381. **/
  382. function insertMemo($module_srl, $write_planet_srl, $memo_content) {
  383. $args->module_srl = $module_srl;
  384. $args->write_planet_srl = $write_planet_srl;
  385. $args->memo_content = $memo_content;
  386. return executeQuery('planet.insertPlanetMemo', $args);
  387. }
  388. /**
  389. * @brief ?? - ??? ?? ??
  390. **/
  391. function deleteMemo($planet_memo_srl) {
  392. $args->planet_memo_srl = $planet_memo_srl;
  393. $output = executeQuery('planet.deletePlanetMemo', $args);
  394. return $output;
  395. }
  396. /**
  397. * @brief ?? - ?? ??? ??
  398. * ???? ?? ???? ?? ???? ??? ? ??
  399. **/
  400. function addFavoritePlanet() {
  401. return executeQuery('planet.insertPlanetFavorite', $args);
  402. }
  403. /**
  404. * @brief ?? - ?? ??? ??
  405. **/
  406. function removeFavoritePlanet() {
  407. return executeQuery('planet.deletePlanetFavorite', $args);
  408. }
  409. /**
  410. * @brief ?? - ??? ??? ??
  411. * ???? ???? ???? ??
  412. **/
  413. function updatePlanetPhoto() {
  414. }
  415. /**
  416. * @brief ?? - ??? welcome ??? ????
  417. **/
  418. function procNotReadWelcome(){
  419. if(!Context::get('is_logged')) return new Object(-1,'msg_not_logged');
  420. if(!$this->grant->create) return new Object(-1,'msg_not_permitted');
  421. $args->close_notice = 'Y';
  422. $args->module_srl = Context::get('module_srl');
  423. $logged_info = Context::get('logged_info');
  424. $args->member_srl = $logged_info->member_srl;
  425. $output = executeQuery('planet.updateShowReadWelcome', $args);
  426. return $output;
  427. }
  428. /**
  429. * @brief ?? - ??? ?? ??
  430. * ???????
  431. **/
  432. function procPlanetInfoModify(){
  433. $target = Context::get('target');
  434. $oPlanetModel = &getModel('planet');
  435. $myplanet = $oPlanetModel->getMemberPlanet();
  436. $planet = $oPlanetModel->getPlanet($this->module_srl);
  437. if($myplanet->getModuleSrl()!=$planet->getModuleSrl()) return new ObjecT(-1,'msg_not_permitted');
  438. switch($target){
  439. case 'planet_tag':
  440. $planet_tag = Context::get('planet_tag');
  441. $planet_tag = explode(',',$planet_tag);
  442. foreach($planet_tag as $v) $v = trim($v);
  443. $this->updatePlanetTag($myplanet->getModuleSrl(),$planet_tag);
  444. break;
  445. case 'planet_name':
  446. $planet_name = Context::get('planet_name');
  447. return $this->updatePlanetTitle($myplanet->getModuleSrl(), $planet_name);
  448. break;
  449. case 'browser_title':
  450. $browser_title = Context::get('browser_title');
  451. return $this->updatePlanetBrowserTitle($myplanet->getModuleSrl(), $browser_title);
  452. break;
  453. case 'planet_info_photo':
  454. break;
  455. default:
  456. }
  457. }
  458. /**
  459. * @brief ?? - ??? ?? ??
  460. **/
  461. function procPlanetVoteContent(){
  462. $document_srl = Context::get('document_srl');
  463. $oDocumentController = &getController('document');
  464. return $oDocumentController->updateVotedCount($document_srl);
  465. }
  466. /**
  467. * @brief ???? ??
  468. **/
  469. function procPlanetInsertInterestTag() {
  470. $tag = trim(Context::get('tag'));
  471. if(!$tag) return new Object(-1,'msg_invalid_request');
  472. $oPlanetModel = &getModel('planet');
  473. $myplanet = $oPlanetModel->getMemberPlanet();
  474. if(!$myplanet->isExists()) return new Object(-1,'msg_invalid_request');
  475. $interest_tags = $oPlanetModel->getInterestTags($myplanet->getModuleSrl());
  476. if(in_array($tag, $interest_tags)) return new Object(-1,'msg_planet_already_added_favorite');
  477. $args->module_srl = $myplanet->getModuleSrl();
  478. $args->tag = $tag;
  479. $output = executeQuery('planet.insertInterestTag', $args);
  480. if(!$output->toBool()) return $output;
  481. $this->add('tpl', $oPlanetModel->getInterestTagsHtml($myplanet->getModuleSrl()));
  482. }
  483. /**
  484. * @brief ???? ??
  485. **/
  486. function procPlanetDeleteInterestTag() {
  487. $tag = trim(Context::get('tag'));
  488. if(!$tag) return new Object(-1,'msg_invalid_request');
  489. $oPlanetModel = &getModel('planet');
  490. $myplanet = $oPlanetModel->getMemberPlanet();
  491. if(!$myplanet->isExists()) return new Object(-1,'msg_invalid_request');
  492. $args->module_srl = $myplanet->getModuleSrl();
  493. $args->tag = $tag;
  494. $output = executeQuery('planet.deleteInterestTag', $args);
  495. if(!$output->toBool()) return $output;
  496. $this->add('tpl', $oPlanetModel->getInterestTagsHtml($myplanet->getModuleSrl()));
  497. }
  498. /**
  499. * @brief ??????
  500. **/
  501. function procPlanetInsertFavorite() {
  502. $module_srl = Context::get('module_srl');
  503. if(!$module_srl) return new Object(-1,'msg_invalid_request');
  504. $oPlanetModel = &getModel('planet');
  505. $myplanet = $oPlanetModel->getMemberPlanet();
  506. if(!$myplanet->isExists()) return new Object(-1,'msg_invalid_request');
  507. if($myplanet->getModuleSrl() == $module_srl) return new Object(-1,'msg_invalid_request');
  508. if($oPlanetModel->isInsertedFavorite($myplanet->getModuleSrl(), $module_srl)) return new Object(-1,'msg_planet_already_added_favorite');
  509. $args->list_order = $args->planet_favorite_srl = getNextSequence();
  510. $args->module_srl = $myplanet->getModuleSrl();
  511. $args->reg_planet_srl = $module_srl;
  512. return executeQuery('planet.insertPlanetFavorite', $args);
  513. }
  514. /**
  515. * @brief ?? - ???? ?? ??
  516. *
  517. **/
  518. function procPlanetReplyWrite() {
  519. // ?? ??
  520. // ?? ??? ??? ??? ??
  521. $req = Context::gets('document_srl','planet_reply_content');
  522. $obj->module_srl = $this->module_srl;
  523. $obj->document_srl = $req->document_srl;
  524. $obj->content = $req->planet_reply_content;
  525. // ?? ??
  526. $content = $this->grammarConvert($obj->content);
  527. $obj->content = $content->content;
  528. $calling = $content->calling;
  529. // ??? ????? ??
  530. $oDocumentModel = &getModel('document');
  531. $oDocument = $oDocumentModel->getDocument($obj->document_srl);
  532. if(!$oDocument->isExists()) return new Object(-1,'msg_not_permitted');
  533. // comment ??? model ?? ??
  534. $oCommentModel = &getModel('comment');
  535. // comment ??? controller ?? ??
  536. $oCommentController = &getController('comment');
  537. $obj->comment_srl = getNextSequence();
  538. $output = $oCommentController->insertComment($obj);
  539. if(!$output->toBool()) return $output;
  540. // ??? ?? ?? (????? ??)
  541. $logged_info = Context::get('logged_info');
  542. if($oDocument->get('member_srl') != $logged_info->member_srl) {
  543. $h_args->module_srl = $obj->module_srl;
  544. $h_args->document_srl = $obj->document_srl;
  545. $h_args->list_order = -1*$obj->comment_srl;
  546. $checkOutput = executeQuery('planet.getCatch', $h_args);
  547. if($checkOutput->data->count) executeQuery('planet.deleteCatch', $h_args);
  548. executeQuery('planet.insertCatch', $h_args);
  549. }
  550. // ??? ?? ?? (??? ?? ?? ?? ?? ?? ?????? ??)
  551. $f_args->document_srl = $obj->document_srl;
  552. $f_args->member_srl = $logged_info->member_srl;
  553. $output = executeQueryArray('planet.getFishings', $f_args);
  554. if($output->toBool() && $output->data) {
  555. $list_order = getNextSequence();
  556. foreach($output->data as $val) {
  557. $val->module_srl;
  558. $args = null;
  559. $args->module_srl = $val->module_srl;
  560. $args->document_srl = $obj->document_srl;
  561. $args->list_order = -1*getNextSequence();
  562. $args->regdate = date("YmdHis");
  563. executeQuery('planet.insertFishings', $args);
  564. }
  565. }
  566. $calling = array_unique($calling);
  567. foreach($calling as $k => $module_srl){
  568. unset($args);
  569. $args->document_srl = $obj->document_srl;
  570. $args->module_srl = $module_srl;
  571. $this->deleteCallingItem($args);
  572. $this->insertCalling($args);
  573. }
  574. $this->setMessage('success_registed');
  575. $this->add('mid', Context::get('mid'));
  576. $this->add('document_srl', $obj->document_srl);
  577. $this->add('comment_srl', $obj->comment_srl);
  578. }
  579. function procPlanetEnableRss() {
  580. $oPlanetModel = &getModel('planet');
  581. $myplanet = $oPlanetModel->getMemberPlanet();
  582. if(!$myplanet->isExists()) return new Object(-1,'msg_not_permitted');
  583. $oRssAdminController = &getAdminController('rss');
  584. $oRssAdminController->setRssModuleConfig($myplanet->getModuleSrl(), 'Y');
  585. }
  586. function procPlanetDisableRss() {
  587. $oPlanetModel = &getModel('planet');
  588. $myplanet = $oPlanetModel->getMemberPlanet();
  589. if(!$myplanet->isExists()) return new Object(-1,'msg_not_permitted');
  590. $oRssAdminController = &getAdminController('rss');
  591. $oRssAdminController->setRssModuleConfig($myplanet->getModuleSrl(), 'N');
  592. }
  593. function procPlanetMe2dayApi() {
  594. $oPlanetModel = &getModel('planet');
  595. $myplanet = $oPlanetModel->getMemberPlanet();
  596. if(!$myplanet->isExists()) return new Object(-1,'msg_not_permitted');
  597. $args = Context::gets('me2day_id','me2day_ukey','me2day_autopush');
  598. if(!$args->me2day_autopush) $args->me2day_autopush = 'N';
  599. $output = $this->doValidateMe2dayInfo($args->me2day_id, $args->me2day_ukey);
  600. if(!$output->toBool()) return $output;
  601. $args->module_srl = $myplanet->getModuleSrl();
  602. $args->member_srl = $myplanet->getMemberSrl();
  603. $output = executeQuery('planet.updatePlanetMe2day', $args);
  604. if(!$output->toBool()) return $output;
  605. $this->setMessage('msg_success_auth_me2day');
  606. }
  607. function doValidateMe2dayInfo($user_id, $user_key) {
  608. require_once($this->module_path.'libs/me2day.api.php');
  609. $oMe2 = new me2api($user_id, $user_key);
  610. return $oMe2->chkNoop($user_id, $user_key);
  611. }
  612. function doPostToMe2day($user_id, $user_key, $body, $tags) {
  613. require_once($this->module_path.'libs/me2day.api.php');
  614. $oMe2 = new me2api($user_id, $user_key);
  615. return $oMe2->doPost($body, $tags);
  616. }
  617. /**
  618. * @brief SMS? ???
  619. *
  620. **/
  621. function procPlanetInsertSMS(){
  622. $phone_number = Context::get('phone_number');
  623. $message = Context::get('message');
  624. $message = Context::convertEncodingStr($message);
  625. //@???? ??
  626. if(substr($message,0,1)=='@') $message = substr($message,1);
  627. $args->phone_number = $phone_number;
  628. $oPlanetModel = &getModel('planet');
  629. $output = $oPlanetModel->getSMSUser($args);
  630. // SMS ???? ??? ?? planet? ??
  631. if($output->data){
  632. $args->content = $message;
  633. $args->module_srl = $output->data->module_srl;
  634. $args->member_srl = $output->data->member_srl;
  635. $oMemberModel = &getModel('member');
  636. $output = $oMemberModel->getMemberInfoByMemberSrl($args->member_srl);
  637. $args->user_id = $output->user_id;
  638. $args->user_name = $output->user_name;
  639. $args->nick_name = $output->nick_name;
  640. $args->email_address = $output->email_address;
  641. $args->homepage = $output->homepage;
  642. $module_info = $oPlanetModel->getPlanetConfig();
  643. $args->tags = join(',',$module_info->smstag);
  644. $manual_inserted = true;
  645. $output = $this->insertContent($args,$manual_inserted);
  646. }else{
  647. // SMS ???? ???? planet_sms_resv? ???
  648. $output = $this->insertSMSRecv($phone_number,$message);
  649. }
  650. if($output->toBool()){
  651. header("X-SMSMORESPONSE:0");
  652. }else{
  653. header("X-SMSMORESPONSE:1");
  654. }
  655. // response? XMLRPC? ??
  656. Context::setResponseMethod('XMLRPC');
  657. return $output;
  658. }
  659. function insertSMSRecv($phone_number,$message){
  660. $args->phone_number = $phone_number;
  661. $args->message = $message;
  662. $output = executeQuery('planet.insertSMSRecv', $args);
  663. return $output;
  664. }
  665. /**
  666. * @brief SMS? ?? ??? ??? ????
  667. **/
  668. function procPlanetSetSMS(){
  669. // is login?
  670. if(!Context::get('is_logged')) return new Object(-1,'msg_not_logged');
  671. $phone_number = Context::get('phone_number');
  672. if(!$phone_number) return new Object(-1,'error');
  673. $oPlanetModel = &getModel('planet');
  674. $planet = $oPlanetModel->getMemberPlanet();
  675. $args->phone_number = $phone_number;
  676. // dont have planet!
  677. if(!$planet->isExists()) return new Object(-1,'error');
  678. $output = $oPlanetModel->getSMSUser($args);
  679. if($output->data) return new Object(-1,'msg_already_have_phone_number');
  680. $mid = $planet->getMid();
  681. $oModuleModel = &getModel('module');
  682. $output = $oModuleModel->getModuleInfoByMid($mid);
  683. $args->module_srl = $output->module_srl;
  684. // SMSUser? ?? ??? ????
  685. $this->removeSMSUser($args->module_srl);
  686. $logged_info = Context::get('logged_info');
  687. $args->member_srl = $logged_info->member_srl;
  688. $output = executeQuery('planet.insertSMSUser', $args);
  689. if(!$output->toBool()) return $output;
  690. // ?? ???? ????? ??? planet? ??
  691. $oPlanetModel = &getModel('planet');
  692. $output = $oPlanetModel->getSMSRecv($phone_number);
  693. if($output->data && is_array($output->data)){
  694. $module_info = $oPlanetModel->getPlanetConfig();
  695. $smstag = join(',',$module_info->smstag);
  696. for($i=0,$c=count($output->data);$i<$c;$i++){
  697. unset($obj);
  698. $obj->content = $output->data[$i]->message;
  699. $obj->module_srl = $args->module_srl;
  700. $args->tags = $smstag;
  701. $this->insertContent($obj);
  702. }
  703. $this->removeSMSRecv($phone_number);
  704. }
  705. $this->setMessage('msg_success_set_phone_number');
  706. }
  707. function removeSMSRecv($phone_number){
  708. $args->phone_number = $phone_number;
  709. $output = executeQuery('planet.deleteSMSRecv', $args);
  710. return $output;
  711. }
  712. function removeSMSUser($module_srl){
  713. $args->module_srl = $module_srl;
  714. $output = executeQuery('planet.deleteSMSUser', $args);
  715. return $output;
  716. }
  717. /**
  718. * @brief ??? ??? ???? ????? "???" ??? ???? trigger
  719. **/
  720. function triggerMemberMenu(&$obj) {
  721. $member_srl = Context::get('target_srl');
  722. if(!$member_srl) return new Object();
  723. $args->member_srl = $member_srl;
  724. $output = executeQuery('planet.getMemberPlanet', $args);
  725. if(!$output->toBool() || !$output->data) return new Object();
  726. $site_module_info = Context::get('site_module_info');
  727. $default_url = Context::getDefaultUrl();
  728. if($site_module_info->site_srl && !$default_url) return new Object();
  729. $url = getSiteUrl($default_url, '','mid',$output->data->mid);
  730. $oMemberController = &getController('member');
  731. $oMemberController->addMemberPopupMenu($url, 'planet', './modules/planet/tpl/images/planet.gif');
  732. return new Object();
  733. }
  734. /**
  735. * @brief ?? ????? forward action? ???? ???? ??? ?? ???? ???? trigger
  736. **/
  737. function triggerSetLayout(&$module_info) {
  738. if($module_info->module!='planet') return new Object();
  739. $oPlanetModel = &getModel('planet');
  740. $planet_config = $oPlanetModel->getPlanetConfig();
  741. $module_info->layout_srl = $planet_config->layout_srl;
  742. return new Object();
  743. }
  744. }
  745. ?>