From minahito ¡÷ users.sourceforge.jp Thu Oct 13 01:54:50 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Thu, 13 Oct 2005 01:54:50 +0900 Subject: [xoops-cvslog 425] CVS update: xoops2jp/html/modules/newbb Message-ID: <20051012165450.5B7182AC00F@users.sourceforge.jp> Index: xoops2jp/html/modules/newbb/viewtopic.php diff -u xoops2jp/html/modules/newbb/viewtopic.php:1.3 xoops2jp/html/modules/newbb/viewtopic.php:1.3.2.1 --- xoops2jp/html/modules/newbb/viewtopic.php:1.3 Mon Sep 5 05:46:10 2005 +++ xoops2jp/html/modules/newbb/viewtopic.php Thu Oct 13 01:54:50 2005 @@ -1,5 +1,5 @@ getVar('dirname')."/index.php",2,_MD_ERRORFORUM); exit(); } elseif ( empty($topic_id) ) { redirect_header('viewforum.php?forum='.$forum,2,_MD_ERRORTOPIC); @@ -111,7 +111,7 @@ $accesserror = 1; } if ( $accesserror == 1 ) { - redirect_header("index.php",2,_MD_NORIGHTTOACCESS); + redirect_header(XOOPS_URL."/modules/".$xoopsModule->getVar('dirname')."/index.php",2,_MD_NORIGHTTOACCESS); exit(); } $can_post = 1; From minahito ¡÷ users.sourceforge.jp Thu Oct 13 02:07:05 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Thu, 13 Oct 2005 02:07:05 +0900 Subject: [xoops-cvslog 426] CVS update: xoops2jp/html Message-ID: <20051012170705.EF54C2AC00F@users.sourceforge.jp> Index: xoops2jp/html/misc.php diff -u xoops2jp/html/misc.php:1.5 xoops2jp/html/misc.php:1.5.2.1 --- xoops2jp/html/misc.php:1.5 Mon Sep 5 05:46:08 2005 +++ xoops2jp/html/misc.php Thu Oct 13 02:07:05 2005 @@ -1,5 +1,5 @@ stripSlashesGPC(trim($_POST['yname'])); $fname = $myts->stripSlashesGPC(trim($_POST['fname'])); $fmail = $myts->stripSlashesGPC(trim($_POST['fmail'])); - if (!checkEmail($fmail) || !checkEmail($ymail)) { + if (!checkEmail($fmail) || !checkEmail($ymail) || preg_match("/[\\0-\\31]/",$yname)) { $errormessage = _MSC_INVALIDEMAIL1."
"._MSC_INVALIDEMAIL2.""; redirect_header(XOOPS_URL."/misc.php?action=showpopups&type=friend&op=sendform",2,$errormessage); exit(); From minahito ¡÷ users.sourceforge.jp Thu Oct 13 02:24:51 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Thu, 13 Oct 2005 02:24:51 +0900 Subject: [xoops-cvslog 427] CVS update: xoops2jp/html/modules/contact Message-ID: <20051012172452.0453F2AC031@users.sourceforge.jp> Index: xoops2jp/html/modules/contact/index.php diff -u xoops2jp/html/modules/contact/index.php:1.5 xoops2jp/html/modules/contact/index.php:1.5.2.1 --- xoops2jp/html/modules/contact/index.php:1.5 Mon Sep 5 05:46:09 2005 +++ xoops2jp/html/modules/contact/index.php Thu Oct 13 02:24:51 2005 @@ -1,5 +1,5 @@ stripSlashesGPC($_POST['usersEmail']); + if(!checkEmail($usersEmail)) { + // ToDo: use message catalog + redirect_header(XOOPS_URL."/modules/".$xoopsModule->getVar('dirname')."/index.php",2,"EMAIL ERROR"); + exit(); + } + $usersCompanyName = $myts->stripSlashesGPC($_POST['usersCompanyName']); $usersCompanyLocation = $myts->stripSlashesGPC($_POST['usersCompanyLocation']); $usersComments = $myts->stripSlashesGPC($_POST['usersComments']); From minahito ¡÷ users.sourceforge.jp Thu Oct 13 12:08:47 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Thu, 13 Oct 2005 12:08:47 +0900 Subject: [xoops-cvslog 428] CVS update: xoops2jp/html/include Message-ID: <20051013030847.39A8C2AC01A@users.sourceforge.jp> Index: xoops2jp/html/include/version.php diff -u xoops2jp/html/include/version.php:1.10 xoops2jp/html/include/version.php:1.10.2.1 --- xoops2jp/html/include/version.php:1.10 Mon Sep 5 05:46:09 2005 +++ xoops2jp/html/include/version.php Thu Oct 13 12:08:46 2005 @@ -1,4 +1,4 @@ \ No newline at end of file From minahito ¡÷ users.sourceforge.jp Wed Oct 19 02:10:44 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Wed, 19 Oct 2005 02:10:44 +0900 Subject: [xoops-cvslog 429] CVS update: /xoops2jp/docs Message-ID: <20051018171044.741032AC01B@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Wed Oct 19 02:10:59 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Wed, 19 Oct 2005 02:10:59 +0900 Subject: [xoops-cvslog 430] CVS update: /xoops2jp/extras Message-ID: <20051018171059.5438F2AC01B@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Wed Oct 19 02:11:53 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Wed, 19 Oct 2005 02:11:53 +0900 Subject: [xoops-cvslog 431] CVS update: /xoops2jp/html Message-ID: <20051018171153.AAE512AC01B@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Wed Oct 19 02:12:33 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Wed, 19 Oct 2005 02:12:33 +0900 Subject: [xoops-cvslog 432] CVS update: /xoops2jp/html Message-ID: <20051018171233.38D022AC0CF@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Wed Oct 19 02:12:57 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Wed, 19 Oct 2005 02:12:57 +0900 Subject: [xoops-cvslog 433] CVS update: /xoops2jp/html Message-ID: <20051018171257.504B42AC01B@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Wed Oct 19 02:13:12 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Wed, 19 Oct 2005 02:13:12 +0900 Subject: [xoops-cvslog 434] CVS update: /xoops2jp/html Message-ID: <20051018171312.9C8A72AC01B@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Wed Oct 19 02:13:23 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Wed, 19 Oct 2005 02:13:23 +0900 Subject: [xoops-cvslog 435] CVS update: /xoops2jp/html Message-ID: <20051018171323.3DB612AC01B@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Wed Oct 19 02:13:32 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Wed, 19 Oct 2005 02:13:32 +0900 Subject: [xoops-cvslog 436] CVS update: /xoops2jp/html Message-ID: <20051018171332.B6EFB2AC0CF@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Wed Oct 19 02:13:43 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Wed, 19 Oct 2005 02:13:43 +0900 Subject: [xoops-cvslog 437] CVS update: /xoops2jp/html Message-ID: <20051018171343.CA65B2AC01B@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Wed Oct 19 02:13:55 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Wed, 19 Oct 2005 02:13:55 +0900 Subject: [xoops-cvslog 438] CVS update: /xoops2jp/html Message-ID: <20051018171355.287732AC01B@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Wed Oct 19 02:14:04 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Wed, 19 Oct 2005 02:14:04 +0900 Subject: [xoops-cvslog 439] CVS update: /xoops2jp/html Message-ID: <20051018171404.7D8EB2AC01B@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Wed Oct 19 02:14:14 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Wed, 19 Oct 2005 02:14:14 +0900 Subject: [xoops-cvslog 440] CVS update: /xoops2jp/html Message-ID: <20051018171414.C761B2AC01B@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Wed Oct 19 02:14:31 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Wed, 19 Oct 2005 02:14:31 +0900 Subject: [xoops-cvslog 441] CVS update: /xoops2jp/html Message-ID: <20051018171431.BF9D52AC01B@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Wed Oct 19 02:15:05 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Wed, 19 Oct 2005 02:15:05 +0900 Subject: [xoops-cvslog 442] CVS update: /xoops2jp/html/class Message-ID: <20051018171505.3EB5A2AC01B@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Wed Oct 19 02:15:53 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Wed, 19 Oct 2005 02:15:53 +0900 Subject: [xoops-cvslog 443] CVS update: /xoops2jp/html/class Message-ID: <20051018171553.B76E92AC0CF@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Wed Oct 19 02:16:18 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Wed, 19 Oct 2005 02:16:18 +0900 Subject: [xoops-cvslog 444] CVS update: /xoops2jp/html/class Message-ID: <20051018171618.D8F292AC01B@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Wed Oct 19 02:16:40 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Wed, 19 Oct 2005 02:16:40 +0900 Subject: [xoops-cvslog 445] CVS update: /xoops2jp/html/class Message-ID: <20051018171640.261DA2AC01B@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Wed Oct 19 02:17:20 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Wed, 19 Oct 2005 02:17:20 +0900 Subject: [xoops-cvslog 446] CVS update: /xoops2jp/html/class Message-ID: <20051018171720.23F512AC01B@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Wed Oct 19 02:17:54 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Wed, 19 Oct 2005 02:17:54 +0900 Subject: [xoops-cvslog 447] CVS update: /xoops2jp/html/class/smarty/plugins Message-ID: <20051018171754.EA2842AC01B@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Wed Oct 19 02:17:55 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Wed, 19 Oct 2005 02:17:55 +0900 Subject: [xoops-cvslog 448] CVS update: /xoops2jp/html/class/mail/phpmailer Message-ID: <20051018171755.14B132AC0CF@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Wed Oct 19 02:17:55 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Wed, 19 Oct 2005 02:17:55 +0900 Subject: [xoops-cvslog 449] CVS update: /xoops2jp/html/class/xml Message-ID: <20051018171755.329702AC01B@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Wed Oct 19 02:18:06 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Wed, 19 Oct 2005 02:18:06 +0900 Subject: [xoops-cvslog 450] CVS update: /xoops2jp/html/class/xml/rpc Message-ID: <20051018171806.5CD6C2AC01B@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Wed Oct 19 02:18:33 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Wed, 19 Oct 2005 02:18:33 +0900 Subject: [xoops-cvslog 451] CVS update: /xoops2jp/html/class/xoopsform Message-ID: <20051018171833.9C1482AC01B@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Wed Oct 19 02:19:03 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Wed, 19 Oct 2005 02:19:03 +0900 Subject: [xoops-cvslog 452] CVS update: /xoops2jp/html/include Message-ID: <20051018171903.D877E2AC01B@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Wed Oct 19 02:19:33 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Wed, 19 Oct 2005 02:19:33 +0900 Subject: [xoops-cvslog 453] CVS update: /xoops2jp/html/include Message-ID: <20051018171933.3D8352AC01B@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Wed Oct 19 02:20:06 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Wed, 19 Oct 2005 02:20:06 +0900 Subject: [xoops-cvslog 454] CVS update: /xoops2jp/html/include Message-ID: <20051018172006.33EF52AC01B@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Wed Oct 19 02:20:37 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Wed, 19 Oct 2005 02:20:37 +0900 Subject: [xoops-cvslog 455] CVS update: /xoops2jp/html/install Message-ID: <20051018172037.4F7382AC01B@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Wed Oct 19 02:21:03 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Wed, 19 Oct 2005 02:21:03 +0900 Subject: [xoops-cvslog 456] CVS update: /xoops2jp/html/kernel Message-ID: <20051018172103.D15362AC01B@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Wed Oct 19 02:21:15 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Wed, 19 Oct 2005 02:21:15 +0900 Subject: [xoops-cvslog 457] CVS update: /xoops2jp/html/language/english Message-ID: <20051018172115.9CF702AC01B@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Wed Oct 19 02:21:31 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Wed, 19 Oct 2005 02:21:31 +0900 Subject: [xoops-cvslog 458] CVS update: /xoops2jp/html/language/japanese Message-ID: <20051018172131.7DE332AC01B@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Wed Oct 19 02:21:53 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Wed, 19 Oct 2005 02:21:53 +0900 Subject: [xoops-cvslog 459] CVS update: /xoops2jp/html/modules/system/admin/smilies Message-ID: <20051018172153.650822AC01B@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Wed Oct 19 02:21:53 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Wed, 19 Oct 2005 02:21:53 +0900 Subject: [xoops-cvslog 460] CVS update: /xoops2jp/html/modules/system/admin/mailusers Message-ID: <20051018172153.862E42AC03A@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Wed Oct 19 02:21:53 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Wed, 19 Oct 2005 02:21:53 +0900 Subject: [xoops-cvslog 461] CVS update: /xoops2jp/html/modules/system/admin/images Message-ID: <20051018172153.A6C312AC01B@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Wed Oct 19 02:21:53 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Wed, 19 Oct 2005 02:21:53 +0900 Subject: [xoops-cvslog 462] CVS update: /xoops2jp/html/modules/system/admin/users Message-ID: <20051018172153.CA7CA2AC03A@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Wed Oct 19 02:21:53 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Wed, 19 Oct 2005 02:21:53 +0900 Subject: [xoops-cvslog 463] CVS update: /xoops2jp/html/modules/system/templates Message-ID: <20051018172153.ED8992AC01B@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Wed Oct 19 02:21:54 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Wed, 19 Oct 2005 02:21:54 +0900 Subject: [xoops-cvslog 464] CVS update: /xoops2jp/html/modules/system/admin/groups Message-ID: <20051018172154.1C8972AC03A@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Wed Oct 19 02:21:54 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Wed, 19 Oct 2005 02:21:54 +0900 Subject: [xoops-cvslog 465] CVS update: /xoops2jp/html/modules/system/admin/userrank Message-ID: <20051018172154.3FA632AC01B@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Wed Oct 19 02:21:54 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Wed, 19 Oct 2005 02:21:54 +0900 Subject: [xoops-cvslog 466] CVS update: /xoops2jp/html/modules/system/admin/version Message-ID: <20051018172154.5DD252AC03A@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Wed Oct 19 02:21:54 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Wed, 19 Oct 2005 02:21:54 +0900 Subject: [xoops-cvslog 467] CVS update: /xoops2jp/html/modules/system/admin/comments Message-ID: <20051018172154.7A7CA2AC01B@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Wed Oct 19 02:21:54 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Wed, 19 Oct 2005 02:21:54 +0900 Subject: [xoops-cvslog 468] CVS update: /xoops2jp/html/modules/system/admin/preferences Message-ID: <20051018172154.994512AC079@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Wed Oct 19 02:21:54 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Wed, 19 Oct 2005 02:21:54 +0900 Subject: [xoops-cvslog 469] CVS update: /xoops2jp/html/modules/system/admin/tplsets Message-ID: <20051018172154.C555B2AC01B@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Wed Oct 19 02:21:55 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Wed, 19 Oct 2005 02:21:55 +0900 Subject: [xoops-cvslog 470] CVS update: /xoops2jp/html/modules/system/admin/blocksadmin Message-ID: <20051018172155.041FC2AC03A@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Wed Oct 19 02:21:55 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Wed, 19 Oct 2005 02:21:55 +0900 Subject: [xoops-cvslog 471] CVS update: /xoops2jp/html/modules/system/admin/modulesadmin Message-ID: <20051018172155.291FD2AC01B@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Wed Oct 19 02:21:55 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Wed, 19 Oct 2005 02:21:55 +0900 Subject: [xoops-cvslog 472] CVS update: /xoops2jp/html/modules/system/admin/banners Message-ID: <20051018172155.4AA0F2AC03A@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Wed Oct 19 02:21:55 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Wed, 19 Oct 2005 02:21:55 +0900 Subject: [xoops-cvslog 473] CVS update: /xoops2jp/html/modules/system/blocks Message-ID: <20051018172155.6CAC92AC079@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Wed Oct 19 02:21:55 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Wed, 19 Oct 2005 02:21:55 +0900 Subject: [xoops-cvslog 474] CVS update: /xoops2jp/html/modules/system/templates/blocks Message-ID: <20051018172155.8BB802AC01B@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Wed Oct 19 02:21:55 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Wed, 19 Oct 2005 02:21:55 +0900 Subject: [xoops-cvslog 475] CVS update: /xoops2jp/html/modules/system/admin/findusers Message-ID: <20051018172155.AD2292AC03A@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Wed Oct 19 02:21:55 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Wed, 19 Oct 2005 02:21:55 +0900 Subject: [xoops-cvslog 476] CVS update: /xoops2jp/html/modules/system/admin/avatars Message-ID: <20051018172155.CB1ED2AC079@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Wed Oct 19 02:22:09 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Wed, 19 Oct 2005 02:22:09 +0900 Subject: [xoops-cvslog 477] CVS update: /xoops2jp/html/themes/default Message-ID: <20051018172209.14D862AC01B@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Wed Oct 19 16:19:15 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Wed, 19 Oct 2005 16:19:15 +0900 Subject: [xoops-cvslog 478] CVS update: /xoops2jp/html/modules/base Message-ID: <20051019071915.516E32AC033@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Wed Oct 19 16:19:17 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Wed, 19 Oct 2005 16:19:17 +0900 Subject: [xoops-cvslog 479] CVS update: /xoops2jp/html/modules/base Message-ID: <20051019071917.1FA982AC033@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Wed Oct 19 16:23:24 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Wed, 19 Oct 2005 16:23:24 +0900 Subject: [xoops-cvslog 480] CVS update: /xoops2jp/html/modules/base/class Message-ID: <20051019072324.077772AC010@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Wed Oct 19 16:23:25 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Wed, 19 Oct 2005 16:23:25 +0900 Subject: [xoops-cvslog 481] CVS update: /xoops2jp/html/modules/base/class Message-ID: <20051019072325.AEF5C2AC010@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Wed Oct 19 16:23:41 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Wed, 19 Oct 2005 16:23:41 +0900 Subject: [xoops-cvslog 482] CVS update: /xoops2jp/html/modules/base/class/common Message-ID: <20051019072341.E63D32AC010@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Wed Oct 19 16:23:43 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Wed, 19 Oct 2005 16:23:43 +0900 Subject: [xoops-cvslog 483] CVS update: /xoops2jp/html/modules/base/class/common Message-ID: <20051019072343.B2F592AC010@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Wed Oct 19 16:25:18 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Wed, 19 Oct 2005 16:25:18 +0900 Subject: [xoops-cvslog 484] CVS update: /xoops2jp/html/modules/base/class/common Message-ID: <20051019072518.7DF1C2AC010@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Wed Oct 19 16:26:03 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Wed, 19 Oct 2005 16:26:03 +0900 Subject: [xoops-cvslog 485] CVS update: /xoops2jp/html/modules/base/class/common Message-ID: <20051019072603.0640A2AC010@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Wed Oct 19 16:27:36 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Wed, 19 Oct 2005 16:27:36 +0900 Subject: [xoops-cvslog 486] CVS update: /xoops2jp/html/modules/base/class/debug Message-ID: <20051019072736.195D82AC010@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Wed Oct 19 16:27:37 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Wed, 19 Oct 2005 16:27:37 +0900 Subject: [xoops-cvslog 487] CVS update: /xoops2jp/html/modules/base/class/debug Message-ID: <20051019072737.DB39E2AC010@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Wed Oct 19 16:30:10 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Wed, 19 Oct 2005 16:30:10 +0900 Subject: [xoops-cvslog 487] CVS update: /xoops2jp/html/modules/base/class/template Message-ID: <20051019073011.069F72AC010@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Wed Oct 19 16:30:12 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Wed, 19 Oct 2005 16:30:12 +0900 Subject: [xoops-cvslog 488] CVS update: /xoops2jp/html/modules/base/class/template Message-ID: <20051019073012.EE46A2AC010@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Wed Oct 19 16:31:56 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Wed, 19 Oct 2005 16:31:56 +0900 Subject: [xoops-cvslog 489] CVS update: /xoops2jp/html/modules/base/class/template Message-ID: <20051019073156.648D52AC010@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Wed Oct 19 16:33:49 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Wed, 19 Oct 2005 16:33:49 +0900 Subject: [xoops-cvslog 490] CVS update: /xoops2jp/html/include Message-ID: <20051019073349.42C352AC010@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Wed Oct 19 16:34:20 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Wed, 19 Oct 2005 16:34:20 +0900 Subject: [xoops-cvslog 491] CVS update: /xoops2jp/html/include Message-ID: <20051019073420.104762AC010@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Wed Oct 19 16:34:40 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Wed, 19 Oct 2005 16:34:40 +0900 Subject: [xoops-cvslog 492] CVS update: /xoops2jp/html/settings Message-ID: <20051019073440.A12472AC010@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Wed Oct 19 16:34:42 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Wed, 19 Oct 2005 16:34:42 +0900 Subject: [xoops-cvslog 493] CVS update: /xoops2jp/html/settings Message-ID: <20051019073442.6011B2AC010@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Wed Oct 19 16:35:53 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Wed, 19 Oct 2005 16:35:53 +0900 Subject: [xoops-cvslog 494] CVS update: /xoops2jp/html/settings Message-ID: <20051019073553.E5EE92AC010@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Wed Oct 19 16:36:47 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Wed, 19 Oct 2005 16:36:47 +0900 Subject: [xoops-cvslog 495] CVS update: /xoops2jp/html/class Message-ID: <20051019073647.37EFF2AC033@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Wed Oct 19 16:45:11 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Wed, 19 Oct 2005 16:45:11 +0900 Subject: [xoops-cvslog 496] CVS update: /xoops2jp/html/include Message-ID: <20051019074511.27C122AC010@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Wed Oct 19 16:48:18 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Wed, 19 Oct 2005 16:48:18 +0900 Subject: [xoops-cvslog 497] CVS update: /xoops2jp/html/class Message-ID: <20051019074818.E47622AC02D@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Wed Oct 19 16:49:28 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Wed, 19 Oct 2005 16:49:28 +0900 Subject: [xoops-cvslog 498] CVS update: /xoops2jp/html/include Message-ID: <20051019074928.297722AC02D@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Wed Oct 19 16:56:08 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Wed, 19 Oct 2005 16:56:08 +0900 Subject: [xoops-cvslog 499] CVS update: /xoops2jp/html/modules/base/class Message-ID: <20051019075608.4E9132AC010@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Wed Oct 19 16:56:08 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Wed, 19 Oct 2005 16:56:08 +0900 Subject: [xoops-cvslog 500] CVS update: /xoops2jp/html/modules/base/class/common Message-ID: <20051019075608.787DF2AC02D@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Wed Oct 19 16:56:08 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Wed, 19 Oct 2005 16:56:08 +0900 Subject: [xoops-cvslog 501] CVS update: /xoops2jp/html/modules/base/class/debug Message-ID: <20051019075608.94E4D2AC010@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Wed Oct 19 16:56:08 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Wed, 19 Oct 2005 16:56:08 +0900 Subject: [xoops-cvslog 502] CVS update: /xoops2jp/html/modules/base/class/template Message-ID: <20051019075608.BD12F2AC02D@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Wed Oct 19 16:56:08 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Wed, 19 Oct 2005 16:56:08 +0900 Subject: [xoops-cvslog 503] CVS update: /xoops2jp/html/modules/base Message-ID: <20051019075608.D9D732AC010@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Wed Oct 19 16:56:47 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Wed, 19 Oct 2005 16:56:47 +0900 Subject: [xoops-cvslog 503] CVS update: /xoops2jp/html/settings Message-ID: <20051019075647.332A62AC010@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Wed Oct 19 17:00:06 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Wed, 19 Oct 2005 17:00:06 +0900 Subject: [xoops-cvslog 504] CVS update: /xoops2jp/html/modules/base/class/common Message-ID: <20051019080006.21FF72AC010@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Wed Oct 19 17:01:05 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Wed, 19 Oct 2005 17:01:05 +0900 Subject: [xoops-cvslog 505] CVS update: /xoops2jp/html/modules/base/class/common Message-ID: <20051019080105.E8E552AC010@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Wed Oct 19 17:01:25 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Wed, 19 Oct 2005 17:01:25 +0900 Subject: [xoops-cvslog 506] CVS update: /xoops2jp/html/modules/base/class/debug Message-ID: <20051019080125.C11A42AC010@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Wed Oct 19 17:01:57 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Wed, 19 Oct 2005 17:01:57 +0900 Subject: [xoops-cvslog 507] CVS update: /xoops2jp/html/modules/base/class/template Message-ID: <20051019080157.3047F2AC010@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Wed Oct 19 17:02:21 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Wed, 19 Oct 2005 17:02:21 +0900 Subject: [xoops-cvslog 508] CVS update: /xoops2jp/html/modules/base/class/template Message-ID: <20051019080221.454352AC010@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Wed Oct 19 17:03:30 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Wed, 19 Oct 2005 17:03:30 +0900 Subject: [xoops-cvslog 509] CVS update: /xoops2jp/html/settings Message-ID: <20051019080330.ECF282AC010@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Wed Oct 19 17:04:05 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Wed, 19 Oct 2005 17:04:05 +0900 Subject: [xoops-cvslog 510] CVS update: /xoops2jp/html/settings Message-ID: <20051019080405.3EC8F2AC010@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Wed Oct 19 17:04:19 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Wed, 19 Oct 2005 17:04:19 +0900 Subject: [xoops-cvslog 511] CVS update: /xoops2jp/html/modules/base Message-ID: <20051019080419.08CC22AC010@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Wed Oct 19 17:05:59 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Wed, 19 Oct 2005 17:05:59 +0900 Subject: [xoops-cvslog 512] CVS update: /xoops2jp/html/include Message-ID: <20051019080559.5B1D42AC010@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Wed Oct 19 17:07:37 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Wed, 19 Oct 2005 17:07:37 +0900 Subject: [xoops-cvslog 513] CVS update: /xoops2jp/html/modules/base/class Message-ID: <20051019080737.2C60D2AC010@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Wed Oct 19 17:08:36 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Wed, 19 Oct 2005 17:08:36 +0900 Subject: [xoops-cvslog 514] CVS update: /xoops2jp/html/modules/base/class/common Message-ID: <20051019080836.2E9C42AC010@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Wed Oct 19 17:09:12 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Wed, 19 Oct 2005 17:09:12 +0900 Subject: [xoops-cvslog 515] CVS update: /xoops2jp/html/include Message-ID: <20051019080912.86E4E2AC010@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Fri Oct 21 17:49:50 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Fri, 21 Oct 2005 17:49:50 +0900 Subject: [xoops-cvslog 516] CVS update: /xoops2jp/html/modules/base/class/debug Message-ID: <20051021084950.533032AC015@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Fri Oct 21 17:50:13 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Fri, 21 Oct 2005 17:50:13 +0900 Subject: [xoops-cvslog 517] CVS update: /xoops2jp/html/modules/base/class/template Message-ID: <20051021085013.177E32AC015@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Fri Oct 21 17:51:02 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Fri, 21 Oct 2005 17:51:02 +0900 Subject: [xoops-cvslog 518] CVS update: /xoops2jp/html/class Message-ID: <20051021085102.238062AC015@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Fri Oct 21 18:59:45 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Fri, 21 Oct 2005 18:59:45 +0900 Subject: [xoops-cvslog 519] CVS update: /xoops2jp/html Message-ID: <20051021095945.E69762AC015@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Fri Oct 21 19:01:46 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Fri, 21 Oct 2005 19:01:46 +0900 Subject: [xoops-cvslog 520] CVS update: /xoops2jp/html Message-ID: <20051021100146.568832AC015@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Fri Oct 21 19:02:34 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Fri, 21 Oct 2005 19:02:34 +0900 Subject: [xoops-cvslog 521] CVS update: /xoops2jp/html Message-ID: <20051021100234.C84822AC015@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Fri Oct 21 19:02:55 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Fri, 21 Oct 2005 19:02:55 +0900 Subject: [xoops-cvslog 522] CVS update: /xoops2jp/html/include Message-ID: <20051021100255.B1BA62AC0A3@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Fri Oct 21 19:03:19 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Fri, 21 Oct 2005 19:03:19 +0900 Subject: [xoops-cvslog 523] CVS update: /xoops2jp/html/modules/base/class Message-ID: <20051021100319.D17022AC015@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Fri Oct 21 19:03:32 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Fri, 21 Oct 2005 19:03:32 +0900 Subject: [xoops-cvslog 524] CVS update: /xoops2jp/html/modules/base/class Message-ID: <20051021100332.64AB02AC015@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Fri Oct 21 19:04:18 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Fri, 21 Oct 2005 19:04:18 +0900 Subject: [xoops-cvslog 525] CVS update: /xoops2jp/html/modules/base/class/language Message-ID: <20051021100418.D38172AC012@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Fri Oct 21 19:04:20 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Fri, 21 Oct 2005 19:04:20 +0900 Subject: [xoops-cvslog 526] CVS update: /xoops2jp/html/modules/base/class/language Message-ID: <20051021100420.CA5C52AC012@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Fri Oct 21 19:05:28 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Fri, 21 Oct 2005 19:05:28 +0900 Subject: [xoops-cvslog 527] CVS update: /xoops2jp/html/modules/base/class/template Message-ID: <20051021100528.022B02AC012@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Fri Oct 21 19:05:47 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Fri, 21 Oct 2005 19:05:47 +0900 Subject: [xoops-cvslog 528] CVS update: /xoops2jp/html/modules/base/class/template Message-ID: <20051021100547.DD6622AC012@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Fri Oct 21 19:06:00 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Fri, 21 Oct 2005 19:06:00 +0900 Subject: [xoops-cvslog 529] CVS update: /xoops2jp/html/settings Message-ID: <20051021100600.789F12AC012@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Fri Oct 21 19:06:40 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Fri, 21 Oct 2005 19:06:40 +0900 Subject: [xoops-cvslog 530] CVS update: /xoops2jp/html/modules/base/class/misc Message-ID: <20051021100640.F2E722AC012@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Fri Oct 21 19:06:44 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Fri, 21 Oct 2005 19:06:44 +0900 Subject: [xoops-cvslog 531] CVS update: /xoops2jp/html/modules/base/class/misc Message-ID: <20051021100644.870212AC012@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Fri Oct 21 19:07:35 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Fri, 21 Oct 2005 19:07:35 +0900 Subject: [xoops-cvslog 532] CVS update: /xoops2jp/html/modules/base/class/theme Message-ID: <20051021100735.63C572AC012@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Fri Oct 21 19:07:37 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Fri, 21 Oct 2005 19:07:37 +0900 Subject: [xoops-cvslog 533] CVS update: /xoops2jp/html/modules/base/class/theme Message-ID: <20051021100737.166482AC012@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Fri Oct 21 19:46:50 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Fri, 21 Oct 2005 19:46:50 +0900 Subject: [xoops-cvslog 534] CVS update: /xoops2jp/etc Message-ID: <20051021104650.25EB52AC012@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Fri Oct 21 19:46:50 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Fri, 21 Oct 2005 19:46:50 +0900 Subject: [xoops-cvslog 535] CVS update: /xoops2jp/etc/process Message-ID: <20051021104650.48DA12AC04F@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Fri Oct 21 19:46:52 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Fri, 21 Oct 2005 19:46:52 +0900 Subject: [xoops-cvslog 536] CVS update: /xoops2jp/etc/process Message-ID: <20051021104652.1D8A62AC012@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Sat Oct 22 00:53:33 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Sat, 22 Oct 2005 00:53:33 +0900 Subject: [xoops-cvslog 536] CVS update: /xoops2jp/html/modules/base/class/language Message-ID: <20051021155333.3DC922AC015@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Sat Oct 22 19:11:55 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Sat, 22 Oct 2005 19:11:55 +0900 Subject: [xoops-cvslog 537] CVS update: /xoops2jp/html/modules/base/images Message-ID: <20051022101155.D8B0C2AC014@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Sat Oct 22 19:12:01 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Sat, 22 Oct 2005 19:12:01 +0900 Subject: [xoops-cvslog 538] CVS update: /xoops2jp/html/modules/base/images Message-ID: <20051022101201.496682AC014@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Sat Oct 22 19:12:10 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Sat, 22 Oct 2005 19:12:10 +0900 Subject: [xoops-cvslog 539] CVS update: /xoops2jp/html/modules/base/language Message-ID: <20051022101210.7599C2AC014@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Sat Oct 22 19:12:10 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Sat, 22 Oct 2005 19:12:10 +0900 Subject: [xoops-cvslog 540] CVS update: /xoops2jp/html/modules/base/language/english Message-ID: <20051022101210.9A86F2AC02C@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Sat Oct 22 19:12:10 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Sat, 22 Oct 2005 19:12:10 +0900 Subject: [xoops-cvslog 541] CVS update: /xoops2jp/html/modules/base/language/japanese Message-ID: <20051022101210.BECFF2AC02F@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Sat Oct 22 19:12:12 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Sat, 22 Oct 2005 19:12:12 +0900 Subject: [xoops-cvslog 542] CVS update: /xoops2jp/html/modules/base/language/japanese Message-ID: <20051022101212.4E4302AC014@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Sat Oct 22 19:12:12 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Sat, 22 Oct 2005 19:12:12 +0900 Subject: [xoops-cvslog 543] CVS update: /xoops2jp/html/modules/base/language/english Message-ID: <20051022101212.747DF2AC02C@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Sat Oct 22 19:12:24 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Sat, 22 Oct 2005 19:12:24 +0900 Subject: [xoops-cvslog 542] CVS update: /xoops2jp/html/modules/pm Message-ID: <20051022101224.2719F2AC014@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Sat Oct 22 19:12:24 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Sat, 22 Oct 2005 19:12:24 +0900 Subject: [xoops-cvslog 543] CVS update: /xoops2jp/html/modules/pm/images Message-ID: <20051022101224.496BC2AC02C@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Sat Oct 22 19:12:24 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Sat, 22 Oct 2005 19:12:24 +0900 Subject: [xoops-cvslog 544] CVS update: /xoops2jp/html/modules/pm/language Message-ID: <20051022101224.6BDC02AC014@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Sat Oct 22 19:12:24 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Sat, 22 Oct 2005 19:12:24 +0900 Subject: [xoops-cvslog 545] CVS update: /xoops2jp/html/modules/pm/language/english Message-ID: <20051022101224.908EC2AC02C@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Sat Oct 22 19:12:24 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Sat, 22 Oct 2005 19:12:24 +0900 Subject: [xoops-cvslog 546] CVS update: /xoops2jp/html/modules/pm/language/japanese Message-ID: <20051022101224.B54612AC014@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Sat Oct 22 19:12:26 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Sat, 22 Oct 2005 19:12:26 +0900 Subject: [xoops-cvslog 547] CVS update: /xoops2jp/html/modules/pm/images Message-ID: <20051022101226.7FA812AC014@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Sat Oct 22 19:12:26 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Sat, 22 Oct 2005 19:12:26 +0900 Subject: [xoops-cvslog 548] CVS update: /xoops2jp/html/modules/pm/language/japanese Message-ID: <20051022101226.A6EB02AC02F@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Sat Oct 22 19:12:26 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Sat, 22 Oct 2005 19:12:26 +0900 Subject: [xoops-cvslog 549] CVS update: /xoops2jp/html/modules/pm Message-ID: <20051022101226.C618D2AC030@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Sat Oct 22 19:12:26 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Sat, 22 Oct 2005 19:12:26 +0900 Subject: [xoops-cvslog 550] CVS update: /xoops2jp/html/modules/pm/language/english Message-ID: <20051022101226.E41A62AC014@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Sat Oct 22 19:12:55 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Sat, 22 Oct 2005 19:12:55 +0900 Subject: [xoops-cvslog 547] CVS update: /xoops2jp/html Message-ID: <20051022101255.D2ED72AC014@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Sun Oct 23 14:05:44 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Sun, 23 Oct 2005 14:05:44 +0900 Subject: [xoops-cvslog 548] CVS update: /xoops2jp/html/modules/user Message-ID: <20051023050544.0FC1E2AC014@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Sun Oct 23 14:05:44 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Sun, 23 Oct 2005 14:05:44 +0900 Subject: [xoops-cvslog 549] CVS update: /xoops2jp/html/modules/user/images Message-ID: <20051023050544.3406D2AC027@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Sun Oct 23 14:05:45 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Sun, 23 Oct 2005 14:05:45 +0900 Subject: [xoops-cvslog 550] CVS update: /xoops2jp/html/modules/user/images Message-ID: <20051023050545.CBEBD2AC014@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Sun Oct 23 14:06:02 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Sun, 23 Oct 2005 14:06:02 +0900 Subject: [xoops-cvslog 550] CVS update: /xoops2jp/html/modules/user/language Message-ID: <20051023050602.E78802AC014@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Sun Oct 23 14:06:03 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Sun, 23 Oct 2005 14:06:03 +0900 Subject: [xoops-cvslog 551] CVS update: /xoops2jp/html/modules/user/language/english Message-ID: <20051023050603.177232AC027@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Sun Oct 23 14:06:03 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Sun, 23 Oct 2005 14:06:03 +0900 Subject: [xoops-cvslog 552] CVS update: /xoops2jp/html/modules/user/language/japanese Message-ID: <20051023050603.3B3412AC014@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Sun Oct 23 14:06:04 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Sun, 23 Oct 2005 14:06:04 +0900 Subject: [xoops-cvslog 553] CVS update: /xoops2jp/html/modules/user/language/japanese Message-ID: <20051023050604.EDBB12AC014@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Sun Oct 23 14:06:05 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Sun, 23 Oct 2005 14:06:05 +0900 Subject: [xoops-cvslog 554] CVS update: /xoops2jp/html/modules/user/language/english Message-ID: <20051023050605.1F2642AC027@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Sun Oct 23 14:06:23 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Sun, 23 Oct 2005 14:06:23 +0900 Subject: [xoops-cvslog 553] CVS update: /xoops2jp/html/modules/user Message-ID: <20051023050623.709F32AC014@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Sun Oct 23 14:06:45 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Sun, 23 Oct 2005 14:06:45 +0900 Subject: [xoops-cvslog 554] CVS update: /xoops2jp/html/modules/user Message-ID: <20051023050645.04B562AC014@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Sun Oct 23 14:07:02 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Sun, 23 Oct 2005 14:07:02 +0900 Subject: [xoops-cvslog 555] CVS update: /xoops2jp/html/modules/base Message-ID: <20051023050702.AF3B42AC014@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Sun Oct 23 14:08:15 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Sun, 23 Oct 2005 14:08:15 +0900 Subject: [xoops-cvslog 556] CVS update: /xoops2jp/html/include Message-ID: <20051023050815.2F8222AC014@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Sun Oct 23 14:15:10 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Sun, 23 Oct 2005 14:15:10 +0900 Subject: [xoops-cvslog 557] CVS update: /xoops2jp/html/modules/user Message-ID: <20051023051510.ADFFE2AC014@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Sun Oct 23 14:56:28 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Sun, 23 Oct 2005 14:56:28 +0900 Subject: [xoops-cvslog 558] CVS update: /xoops2jp/html/modules/pm Message-ID: <20051023055629.00C082AC014@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Sun Oct 23 14:57:52 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Sun, 23 Oct 2005 14:57:52 +0900 Subject: [xoops-cvslog 559] CVS update: /xoops2jp/html/modules/base/class Message-ID: <20051023055752.9FF402AC014@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Sun Oct 23 14:58:08 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Sun, 23 Oct 2005 14:58:08 +0900 Subject: [xoops-cvslog 560] CVS update: /xoops2jp/html/modules/base/class/language Message-ID: <20051023055808.C05922AC014@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Sun Oct 23 14:58:20 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Sun, 23 Oct 2005 14:58:20 +0900 Subject: [xoops-cvslog 561] CVS update: /xoops2jp/html/modules/user Message-ID: <20051023055820.613672AC014@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Sun Oct 23 14:58:46 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Sun, 23 Oct 2005 14:58:46 +0900 Subject: [xoops-cvslog 562] CVS update: /xoops2jp/html/modules/user Message-ID: <20051023055846.4CAC62AC014@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Sun Oct 23 14:59:06 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Sun, 23 Oct 2005 14:59:06 +0900 Subject: [xoops-cvslog 563] CVS update: /xoops2jp/html/modules/user/strategy Message-ID: <20051023055906.E18C32AC014@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Sun Oct 23 14:59:08 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Sun, 23 Oct 2005 14:59:08 +0900 Subject: [xoops-cvslog 564] CVS update: /xoops2jp/html/modules/user/strategy Message-ID: <20051023055908.9A6552AC014@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Sun Oct 23 14:59:38 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Sun, 23 Oct 2005 14:59:38 +0900 Subject: [xoops-cvslog 565] CVS update: /xoops2jp/html/include Message-ID: <20051023055938.0E17A2AC014@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Sun Oct 23 15:00:34 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Sun, 23 Oct 2005 15:00:34 +0900 Subject: [xoops-cvslog 566] CVS update: /xoops2jp/html Message-ID: <20051023060034.C53632AC014@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Sun Oct 23 15:00:59 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Sun, 23 Oct 2005 15:00:59 +0900 Subject: [xoops-cvslog 567] CVS update: /xoops2jp/html Message-ID: <20051023060059.13AD92AC014@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Sun Oct 23 15:25:07 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Sun, 23 Oct 2005 15:25:07 +0900 Subject: [xoops-cvslog 568] CVS update: /xoops2jp/html/modules/base/class Message-ID: <20051023062507.172BF2AC020@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Sun Oct 23 15:33:18 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Sun, 23 Oct 2005 15:33:18 +0900 Subject: [xoops-cvslog 569] CVS update: /xoops2jp/html/modules/base/class/common Message-ID: <20051023063318.628AB2AC032@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Sun Oct 23 15:42:19 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Sun, 23 Oct 2005 15:42:19 +0900 Subject: [xoops-cvslog 570] CVS update: /xoops2jp/html/class Message-ID: <20051023064220.01A512AC014@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Sun Oct 23 15:56:35 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Sun, 23 Oct 2005 15:56:35 +0900 Subject: [xoops-cvslog 571] CVS update: /xoops2jp/html/modules/base/class/template Message-ID: <20051023065635.0E72F2AC032@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Sun Oct 23 16:03:25 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Sun, 23 Oct 2005 16:03:25 +0900 Subject: [xoops-cvslog 572] CVS update: /xoops2jp/html/modules/base/class/common Message-ID: <20051023070325.99D7D2AC032@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Sun Oct 23 16:03:44 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Sun, 23 Oct 2005 16:03:44 +0900 Subject: [xoops-cvslog 573] CVS update: /xoops2jp/html/modules/base/class/misc Message-ID: <20051023070344.09A692AC032@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Sun Oct 23 17:31:31 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Sun, 23 Oct 2005 17:31:31 +0900 Subject: [xoops-cvslog 574] CVS update: /xoops2jp/html/class Message-ID: <20051023083131.686532AC027@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Sun Oct 23 18:44:34 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Sun, 23 Oct 2005 18:44:34 +0900 Subject: [xoops-cvslog 575] CVS update: /xoops2jp/html/class Message-ID: <20051023094434.8B9272AC01D@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Sun Oct 23 19:19:53 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Sun, 23 Oct 2005 19:19:53 +0900 Subject: [xoops-cvslog 576] CVS update: /xoops2jp/html/language/english Message-ID: <20051023101953.412C72AC00F@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Sun Oct 23 19:20:00 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Sun, 23 Oct 2005 19:20:00 +0900 Subject: [xoops-cvslog 577] CVS update: /xoops2jp/html/language/japanese Message-ID: <20051023102000.5E4AF2AC00F@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Sun Oct 23 19:22:55 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Sun, 23 Oct 2005 19:22:55 +0900 Subject: [xoops-cvslog 578] CVS update: /xoops2jp/html/class Message-ID: <20051023102255.6C3412AC00F@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Sun Oct 23 19:23:16 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Sun, 23 Oct 2005 19:23:16 +0900 Subject: [xoops-cvslog 579] CVS update: /xoops2jp/html/modules/pm/templates Message-ID: <20051023102316.CC7FD2AC00F@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Sun Oct 23 19:23:18 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Sun, 23 Oct 2005 19:23:18 +0900 Subject: [xoops-cvslog 580] CVS update: /xoops2jp/html/modules/pm/templates Message-ID: <20051023102318.459B52AC00F@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Sun Oct 23 19:23:48 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Sun, 23 Oct 2005 19:23:48 +0900 Subject: [xoops-cvslog 581] CVS update: /xoops2jp/html/modules/pm Message-ID: <20051023102348.73A852AC00F@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Sun Oct 23 19:24:11 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Sun, 23 Oct 2005 19:24:11 +0900 Subject: [xoops-cvslog 582] CVS update: /xoops2jp/html/modules/pm Message-ID: <20051023102411.711D52AC00F@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Sun Oct 23 23:02:50 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Sun, 23 Oct 2005 23:02:50 +0900 Subject: [xoops-cvslog 583] CVS update: /xoops2jp/html/class Message-ID: <20051023140250.EB6852AC032@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Sun Oct 23 23:08:11 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Sun, 23 Oct 2005 23:08:11 +0900 Subject: [xoops-cvslog 584] CVS update: /xoops2jp/html/install Message-ID: <20051023140811.113272AC032@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Sun Oct 23 23:08:16 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Sun, 23 Oct 2005 23:08:16 +0900 Subject: [xoops-cvslog 585] CVS update: /xoops2jp/html/install Message-ID: <20051023140816.734B42AC032@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Sun Oct 23 23:47:31 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Sun, 23 Oct 2005 23:47:31 +0900 Subject: [xoops-cvslog 586] CVS update: /xoops2jp/html/class Message-ID: <20051023144731.7F9812AC01C@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Mon Oct 24 00:28:49 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Mon, 24 Oct 2005 00:28:49 +0900 Subject: [xoops-cvslog 587] CVS update: /xoops2jp/html/include Message-ID: <20051023152849.9B76A2AC01C@users.sourceforge.jp> From onokazu ¡÷ users.sourceforge.jp Mon Oct 24 20:26:51 2005 From: onokazu ¡÷ users.sourceforge.jp (onokazu) Date: Mon, 24 Oct 2005 20:26:51 +0900 Subject: [xoops-cvslog 588] CVS update: xoops2jp/html/modules/newbb Message-ID: <20051024112651.578A12AC063@users.sourceforge.jp> Index: xoops2jp/html/modules/newbb/index.php diff -u xoops2jp/html/modules/newbb/index.php:1.5 xoops2jp/html/modules/newbb/index.php:1.5.2.1 --- xoops2jp/html/modules/newbb/index.php:1.5 Mon Sep 5 05:46:10 2005 +++ xoops2jp/html/modules/newbb/index.php Mon Oct 24 20:26:51 2005 @@ -1,143 +1,143 @@ - // -// ------------------------------------------------------------------------ // -// This program is free software; you can redistribute it and/or modify // -// it under the terms of the GNU General Public License as published by // -// the Free Software Foundation; either version 2 of the License, or // -// (at your option) any later version. // -// // -// You may not change or alter any portion of this comment or credits // -// of supporting developers from this source code or any supporting // -// source code which is considered copyrighted (c) material of the // -// original comment or credit authors. // -// // -// This program is distributed in the hope that it will be useful, // -// but WITHOUT ANY WARRANTY; without even the implied warranty of // -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // -// GNU General Public License for more details. // -// // -// You should have received a copy of the GNU General Public License // -// along with this program; if not, write to the Free Software // -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA // -// ------------------------------------------------------------------------ // -// Author: Kazumi Ono (AKA onokazu) // -// URL: http://www.myweb.ne.jp/, http://www.xoops.org/, http://jp.xoops.org/ // -// Project: The XOOPS Project // -// ------------------------------------------------------------------------- // - -include "header.php"; -// this page uses smarty template -// this must be set before including main header.php -$xoopsOption['template_main']= 'newbb_index.html'; -include XOOPS_ROOT_PATH."/header.php"; - -$myts =& MyTextSanitizer::getInstance(); - -$sql = 'SELECT c.* FROM '.$xoopsDB->prefix('bb_categories').' c, '.$xoopsDB->prefix("bb_forums").' f WHERE f.cat_id=c.cat_id GROUP BY c.cat_id, c.cat_title, c.cat_order ORDER BY c.cat_order'; -if ( !$result = $xoopsDB->query($sql) ) { - redirect_header(XOOPS_URL.'/',1,_MD_ERROROCCURED); - exit(); -} - -$xoopsTpl->assign(array("lang_welcomemsg" => sprintf(_MD_WELCOME,htmlspecialchars($xoopsConfig['sitename'], ENT_QUOTES)), "lang_tostart" => _MD_TOSTART, "lang_totaltopics" => _MD_TOTALTOPICSC, "lang_totalposts" => _MD_TOTALPOSTSC, "total_topics" => get_total_topics(), "total_posts" => get_total_posts(0, 'all'), "lang_lastvisit" => sprintf(_MD_LASTVISIT,formatTimestamp($last_visit)), "lang_currenttime" => sprintf(_MD_TIMENOW,formatTimestamp(time(),"m")), "lang_forum" => _MD_FORUM, "lang_topics" => _MD_TOPICS, "lang_posts" => _MD_POSTS, "lang_lastpost" => _MD_LASTPOST, "lang_moderators" => _MD_MODERATOR)); - -$viewcat = (!empty($_GET['cat'])) ? intval($_GET['cat']) : 0; -$categories = array(); -while ( $cat_row = $xoopsDB->fetchArray($result) ) { - $categories[] = $cat_row; -} - -$sql = 'SELECT f.*, u.uname, u.uid, p.topic_id, p.post_time, p.subject, p.icon FROM '.$xoopsDB->prefix('bb_forums').' f LEFT JOIN '.$xoopsDB->prefix('bb_posts').' p ON p.post_id = f.forum_last_post_id LEFT JOIN '.$xoopsDB->prefix('users').' u ON u.uid = p.uid'; -if ( $viewcat != 0 ) { - $sql .= ' WHERE f.cat_id = '.$viewcat; - $xoopsTpl->assign('forum_index_title', sprintf(_MD_FORUMINDEX,htmlspecialchars($xoopsConfig['sitename'], ENT_QUOTES))); -} else { - $xoopsTpl->assign('forum_index_title', ''); -} -$sql .= ' ORDER BY f.cat_id, f.forum_id'; -if ( !$result = $xoopsDB->query($sql) ) { - exit("Error"); -} -$forums = array(); // RMV-FIX -while ( $forum_data = $xoopsDB->fetchArray($result) ) { - $forums[] = $forum_data; -} -$cat_count = count($categories); -if ($cat_count > 0) { - for ( $i = 0; $i < $cat_count; $i++ ) { - $categories[$i]['cat_title'] = $myts->makeTboxData4Show($categories[$i]['cat_title']); - if ( $viewcat != 0 && $categories[$i]['cat_id'] != $viewcat ) { - $xoopsTpl->append("categories", $categories[$i]); - continue; - } - $topic_lastread = newbb_get_topics_viewed(); - foreach ( $forums as $forum_row ) { - unset($last_post); - if ( $forum_row['cat_id'] == $categories[$i]['cat_id'] ) { - if ($forum_row['post_time']) { - //$forum_row['subject'] = $myts->makeTboxData4Show($forum_row['subject']); - $categories[$i]['forums']['forum_lastpost_time'][] = formatTimestamp($forum_row['post_time']); - $last_post_icon = ''; - if ( $forum_row['icon'] ) { - $last_post_icon .= ''; - } else { - $last_post_icon .= ''; - } - $last_post_icon .= ''; - $categories[$i]['forums']['forum_lastpost_icon'][] = $last_post_icon; - if ( $forum_row['uid'] != 0 && $forum_row['uname'] ){ - $categories[$i]['forums']['forum_lastpost_user'][] = '' . $myts->makeTboxData4Show($forum_row['uname']).''; - } else { - $categories[$i]['forums']['forum_lastpost_user'][] = $xoopsConfig['anonymous']; - } - $forum_lastread = !empty($topic_lastread[$forum_row['topic_id']]) ? $topic_lastread[$forum_row['topic_id']] : false; - if ( $forum_row['forum_type'] == 1 ) { - $categories[$i]['forums']['forum_folder'][] = $bbImage['locked_forum']; - } elseif ( $forum_row['post_time'] > $forum_lastread && !empty($forum_row['topic_id'])) { - $categories[$i]['forums']['forum_folder'][] = $bbImage['newposts_forum']; - } else { - $categories[$i]['forums']['forum_folder'][] = $bbImage['folder_forum']; - } - } else { - // no forums, so put empty values - $categories[$i]['forums']['forum_lastpost_time'][] = ""; - $categories[$i]['forums']['forum_lastpost_icon'][] = ""; - $categories[$i]['forums']['forum_lastpost_user'][] = ""; - if ( $forum_row['forum_type'] == 1 ) { - $categories[$i]['forums']['forum_folder'][] = $bbImage['locked_forum']; - } else { - $categories[$i]['forums']['forum_folder'][] = $bbImage['folder_forum']; - } - } - $categories[$i]['forums']['forum_id'][] = $forum_row['forum_id']; - $categories[$i]['forums']['forum_name'][] = $myts->makeTboxData4Show($forum_row['forum_name']); - $categories[$i]['forums']['forum_desc'][] = $myts->makeTareaData4Show($forum_row['forum_desc']); - $categories[$i]['forums']['forum_topics'][] = $forum_row['forum_topics']; - $categories[$i]['forums']['forum_posts'][] = $forum_row['forum_posts']; - $all_moderators = get_moderators($forum_row['forum_id']); - $count = 0; - $forum_moderators = ''; - foreach ( $all_moderators as $mods) { - foreach ( $mods as $mod_id => $mod_name) { - if ( $count > 0 ) { - $forum_moderators .= ', '; - } - $forum_moderators .= ''.$myts->makeTboxData4Show($mod_name).''; - $count = 1; - } - } - $categories[$i]['forums']['forum_moderators'][] = $forum_moderators; - } - } - $xoopsTpl->append("categories", $categories[$i]); - } -} else { - $xoopsTpl->append("categories", array()); -} -$xoopsTpl->assign(array("img_hotfolder" => $bbImage['newposts_forum'], "img_folder" => $bbImage['folder_forum'], "img_locked" => $bbImage['locked_forum'], "lang_newposts" => _MD_NEWPOSTS, "lang_private" => _MD_PRIVATEFORUM, "lang_nonewposts" => _MD_NONEWPOSTS, "lang_search" => _MD_SEARCH, "lang_advsearch" => _MD_ADVSEARCH)); -include_once XOOPS_ROOT_PATH.'/footer.php'; -?> + // +// ------------------------------------------------------------------------ // +// This program is free software; you can redistribute it and/or modify // +// it under the terms of the GNU General Public License as published by // +// the Free Software Foundation; either version 2 of the License, or // +// (at your option) any later version. // +// // +// You may not change or alter any portion of this comment or credits // +// of supporting developers from this source code or any supporting // +// source code which is considered copyrighted (c) material of the // +// original comment or credit authors. // +// // +// This program is distributed in the hope that it will be useful, // +// but WITHOUT ANY WARRANTY; without even the implied warranty of // +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // +// GNU General Public License for more details. // +// // +// You should have received a copy of the GNU General Public License // +// along with this program; if not, write to the Free Software // +// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA // +// ------------------------------------------------------------------------ // +// Author: Kazumi Ono (AKA onokazu) // +// URL: http://www.myweb.ne.jp/, http://www.xoops.org/, http://jp.xoops.org/ // +// Project: The XOOPS Project // +// ------------------------------------------------------------------------- // + +include "header.php"; +// this page uses smarty template +// this must be set before including main header.php +$xoopsOption['template_main']= 'newbb_index.html'; +include XOOPS_ROOT_PATH."/header.php"; + +$myts =& MyTextSanitizer::getInstance(); + +$sql = 'SELECT c.* FROM '.$xoopsDB->prefix('bb_categories').' c, '.$xoopsDB->prefix("bb_forums").' f WHERE f.cat_id=c.cat_id GROUP BY c.cat_id, c.cat_title, c.cat_order ORDER BY c.cat_order'; +if ( !$result = $xoopsDB->query($sql) ) { + redirect_header(XOOPS_URL.'/',1,_MD_ERROROCCURED); + exit(); +} + +$xoopsTpl->assign(array("lang_welcomemsg" => sprintf(_MD_WELCOME,htmlspecialchars($xoopsConfig['sitename'], ENT_QUOTES)), "lang_tostart" => _MD_TOSTART, "lang_totaltopics" => _MD_TOTALTOPICSC, "lang_totalposts" => _MD_TOTALPOSTSC, "total_topics" => get_total_topics(), "total_posts" => get_total_posts(0, 'all'), "lang_lastvisit" => sprintf(_MD_LASTVISIT,formatTimestamp($last_visit)), "lang_currenttime" => sprintf(_MD_TIMENOW,formatTimestamp(time(),"m")), "lang_forum" => _MD_FORUM, "lang_topics" => _MD_TOPICS, "lang_posts" => _MD_POSTS, "lang_lastpost" => _MD_LASTPOST, "lang_moderators" => _MD_MODERATOR)); + +$viewcat = (!empty($HTTP_GET_VARS['cat'])) ? intval($HTTP_GET_VARS['cat']) : 0; +$categories = array(); +while ( $cat_row = $xoopsDB->fetchArray($result) ) { + $categories[] = $cat_row; +} + +$sql = 'SELECT f.*, u.uname, u.uid, p.topic_id, p.post_time, p.subject, p.icon FROM '.$xoopsDB->prefix('bb_forums').' f LEFT JOIN '.$xoopsDB->prefix('bb_posts').' p ON p.post_id = f.forum_last_post_id LEFT JOIN '.$xoopsDB->prefix('users').' u ON u.uid = p.uid'; +if ( $viewcat != 0 ) { + $sql .= ' WHERE f.cat_id = '.$viewcat; + $xoopsTpl->assign('forum_index_title', sprintf(_MD_FORUMINDEX,htmlspecialchars($xoopsConfig['sitename'], ENT_QUOTES))); +} else { + $xoopsTpl->assign('forum_index_title', ''); +} +$sql .= ' ORDER BY f.cat_id, f.forum_id'; +if ( !$result = $xoopsDB->query($sql) ) { + exit("Error"); +} +$forums = array(); // RMV-FIX +while ( $forum_data = $xoopsDB->fetchArray($result) ) { + $forums[] = $forum_data; +} +$cat_count = count($categories); +if ($cat_count > 0) { + for ( $i = 0; $i < $cat_count; $i++ ) { + $categories[$i]['cat_title'] = $myts->makeTboxData4Show($categories[$i]['cat_title']); + if ( $viewcat != 0 && $categories[$i]['cat_id'] != $viewcat ) { + $xoopsTpl->append("categories", $categories[$i]); + continue; + } + $topic_lastread = newbb_get_topics_viewed(); + foreach ( $forums as $forum_row ) { + unset($last_post); + if ( $forum_row['cat_id'] == $categories[$i]['cat_id'] ) { + if ($forum_row['post_time']) { + //$forum_row['subject'] = $myts->makeTboxData4Show($forum_row['subject']); + $categories[$i]['forums']['forum_lastpost_time'][] = formatTimestamp($forum_row['post_time']); + $last_post_icon = ''; + if ( $forum_row['icon'] ) { + $last_post_icon .= ''; + } else { + $last_post_icon .= ''; + } + $last_post_icon .= ''; + $categories[$i]['forums']['forum_lastpost_icon'][] = $last_post_icon; + if ( $forum_row['uid'] != 0 && $forum_row['uname'] ){ + $categories[$i]['forums']['forum_lastpost_user'][] = '' . $myts->makeTboxData4Show($forum_row['uname']).''; + } else { + $categories[$i]['forums']['forum_lastpost_user'][] = $xoopsConfig['anonymous']; + } + $forum_lastread = !empty($topic_lastread[$forum_row['topic_id']]) ? $topic_lastread[$forum_row['topic_id']] : false; + if ( $forum_row['forum_type'] == 1 ) { + $categories[$i]['forums']['forum_folder'][] = $bbImage['locked_forum']; + } elseif ( $forum_row['post_time'] > $forum_lastread && !empty($forum_row['topic_id'])) { + $categories[$i]['forums']['forum_folder'][] = $bbImage['newposts_forum']; + } else { + $categories[$i]['forums']['forum_folder'][] = $bbImage['folder_forum']; + } + } else { + // no forums, so put empty values + $categories[$i]['forums']['forum_lastpost_time'][] = ""; + $categories[$i]['forums']['forum_lastpost_icon'][] = ""; + $categories[$i]['forums']['forum_lastpost_user'][] = ""; + if ( $forum_row['forum_type'] == 1 ) { + $categories[$i]['forums']['forum_folder'][] = $bbImage['locked_forum']; + } else { + $categories[$i]['forums']['forum_folder'][] = $bbImage['folder_forum']; + } + } + $categories[$i]['forums']['forum_id'][] = $forum_row['forum_id']; + $categories[$i]['forums']['forum_name'][] = $myts->makeTboxData4Show($forum_row['forum_name']); + $categories[$i]['forums']['forum_desc'][] = $myts->makeTareaData4Show($forum_row['forum_desc']); + $categories[$i]['forums']['forum_topics'][] = $forum_row['forum_topics']; + $categories[$i]['forums']['forum_posts'][] = $forum_row['forum_posts']; + $all_moderators = get_moderators($forum_row['forum_id']); + $count = 0; + $forum_moderators = ''; + foreach ( $all_moderators as $mods) { + foreach ( $mods as $mod_id => $mod_name) { + if ( $count > 0 ) { + $forum_moderators .= ', '; + } + $forum_moderators .= ''.$myts->makeTboxData4Show($mod_name).''; + $count = 1; + } + } + $categories[$i]['forums']['forum_moderators'][] = $forum_moderators; + } + } + $xoopsTpl->append("categories", $categories[$i]); + } +} else { + $xoopsTpl->append("categories", array()); +} +$xoopsTpl->assign(array("img_hotfolder" => $bbImage['newposts_forum'], "img_folder" => $bbImage['folder_forum'], "img_locked" => $bbImage['locked_forum'], "lang_newposts" => _MD_NEWPOSTS, "lang_private" => _MD_PRIVATEFORUM, "lang_nonewposts" => _MD_NONEWPOSTS, "lang_search" => _MD_SEARCH, "lang_advsearch" => _MD_ADVSEARCH)); +include_once XOOPS_ROOT_PATH.'/footer.php'; +?> Index: xoops2jp/html/modules/newbb/viewforum.php diff -u xoops2jp/html/modules/newbb/viewforum.php:1.4 xoops2jp/html/modules/newbb/viewforum.php:1.4.2.1 --- xoops2jp/html/modules/newbb/viewforum.php:1.4 Mon Sep 5 05:46:10 2005 +++ xoops2jp/html/modules/newbb/viewforum.php Mon Oct 24 20:26:51 2005 @@ -1,282 +1,282 @@ - // -// ------------------------------------------------------------------------ // -// This program is free software; you can redistribute it and/or modify // -// it under the terms of the GNU General Public License as published by // -// the Free Software Foundation; either version 2 of the License, or // -// (at your option) any later version. // -// // -// You may not change or alter any portion of this comment or credits // -// of supporting developers from this source code or any supporting // -// source code which is considered copyrighted (c) material of the // -// original comment or credit authors. // -// // -// This program is distributed in the hope that it will be useful, // -// but WITHOUT ANY WARRANTY; without even the implied warranty of // -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // -// GNU General Public License for more details. // -// // -// You should have received a copy of the GNU General Public License // -// along with this program; if not, write to the Free Software // -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA // -// ------------------------------------------------------------------------ // -// Author: Kazumi Ono (AKA onokazu) // -// URL: http://www.myweb.ne.jp/, http://www.xoops.org/, http://jp.xoops.org/ // -// Project: The XOOPS Project // -// ------------------------------------------------------------------------- // - -include "header.php"; - -$forum = intval($_GET['forum']); -if ( $forum < 1 ) { - redirect_header("index.php", 2, _MD_ERRORFORUM); - exit(); -} -$sql = 'SELECT forum_type, forum_name, forum_access, allow_html, allow_sig, posts_per_page, hot_threshold, topics_per_page FROM '.$xoopsDB->prefix('bb_forums').' WHERE forum_id = '.$forum; -if ( !$result = $xoopsDB->query($sql) ) { - redirect_header("index.php", 2, _MD_ERRORCONNECT); - exit(); -} -if ( !$forumdata = $xoopsDB->fetchArray($result) ) { - redirect_header("index.php", 2, _MD_ERROREXIST); - exit(); -} -// this page uses smarty template -// this must be set before including main header.php -$xoopsOption['template_main'] = 'newbb_viewforum.html'; -include XOOPS_ROOT_PATH."/header.php"; -$can_post = 0; -$show_reg = 0; -if ( $forumdata['forum_type'] == 1 ) { - // this is a private forum. - $xoopsTpl->assign('is_private_forum', true); - $accesserror = 0; - if ( $xoopsUser ) { - if ( !$xoopsUser->isAdmin($xoopsModule->mid()) ) { - if ( !check_priv_forum_auth($xoopsUser->getVar("uid"), $forum, false) ) { - $accesserror = 1; - } - } - } else { - $accesserror = 1; - } - if ( $accesserror == 1 ) { - redirect_header("index.php",2,_MD_NORIGHTTOACCESS); - exit(); - } - $can_post = 1; - $show_reg = 1; -} else { - // this is not a priv forum - $xoopsTpl->assign('is_private_forum', false); - if ( $forumdata['forum_access'] == 1 ) { - // this is a reg user only forum - if ( $xoopsUser ) { - $can_post = 1; - } else { - $show_reg = 1; - } - } elseif ( $forumdata['forum_access'] == 2 ) { - // this is an open forum - $can_post = 1; - } else { - // this is an admin/moderator only forum - if ( $xoopsUser ) { - if ( $xoopsUserIsAdmin || is_moderator($forum, $xoopsUser->uid()) ) { - $can_post = 1; - } - } - } -} - -$xoopsTpl->assign("forum_id", $forum); -if ( $can_post == 1 ) { - $xoopsTpl->assign('viewer_can_post', true); - $xoopsTpl->assign('forum_post_or_register', "\""._MD_POSTNEW."\""); -} else { - $xoopsTpl->assign('viewer_can_post', false); - if ( $show_reg == 1 ) { - $xoopsTpl->assign('forum_post_or_register', ''._MD_REGTOPOST.''); - } else { - $xoopsTpl->assign('forum_post_or_register', ""); - } -} -$xoopsTpl->assign('forum_index_title', sprintf(_MD_FORUMINDEX,$xoopsConfig['sitename'])); -$xoopsTpl->assign('forum_image_folder', $bbImage['folder_topic']); -$myts =& MyTextSanitizer::getInstance(); -$xoopsTpl->assign('forum_name', $myts->makeTboxData4Show($forumdata['forum_name'])); -$xoopsTpl->assign('lang_moderatedby', _MD_MODERATEDBY); - -$forum_moderators = ""; -$count = 0; -$moderators = get_moderators($forum); -foreach ( $moderators as $mods ) { - foreach ( $mods as $mod_id => $mod_name ) { - if ( $count > 0 ) { - $forum_moderators .= ", "; - } - $forum_moderators .= ''.$myts->makeTboxData4Show($mod_name).''; - $count = 1; - } -} -$xoopsTpl->assign('forum_moderators', $forum_moderators); - - -$sel_sort_array = array("t.topic_title"=>_MD_TOPICTITLE, "t.topic_replies"=>_MD_NUMBERREPLIES, "u.uname"=>_MD_TOPICPOSTER, "t.topic_views"=>_MD_VIEWS, "p.post_time"=>_MD_LASTPOSTTIME); -if ( !isset($_GET['sortname']) || !in_array($_GET['sortname'], array_keys($sel_sort_array)) ) { - $sortname = "p.post_time"; -} else { - $sortname = $_GET['sortname']; -} - -$xoopsTpl->assign('lang_sortby', _MD_SORTEDBY); - -$forum_selection_sort = ''; - -// assign to template -$xoopsTpl->assign('forum_selection_sort', $forum_selection_sort); - -$sortorder = (!isset($_GET['sortorder']) || $_GET['sortorder'] != "ASC") ? "DESC" : "ASC"; -$forum_selection_order = ''; - -// assign to template -$xoopsTpl->assign('forum_selection_order', $forum_selection_order); - -$sortsince = !empty($_GET['sortsince']) ? intval($_GET['sortsince']) : 100; -$sel_since_array = array(1, 2, 5, 10, 20, 30, 40, 60, 75, 100); -$forum_selection_since = ''; - -// assign to template -$xoopsTpl->assign('forum_selection_since', $forum_selection_since); -$xoopsTpl->assign('lang_go', _MD_GO); - -$xoopsTpl->assign('h_topic_link', "viewforum.php?forum=$forum&sortname=t.topic_title&sortsince=$sortsince&sortorder=". (($sortname == "t.topic_title" && $sortorder == "DESC") ? "ASC" : "DESC")); -$xoopsTpl->assign('lang_topic', _MD_TOPIC); - -$xoopsTpl->assign('h_reply_link', "viewforum.php?forum=$forum&sortname=t.topic_replies&sortsince=$sortsince&sortorder=". (($sortname == "t.topic_replies" && $sortorder == "DESC") ? "ASC" : "DESC")); -$xoopsTpl->assign('lang_replies', _MD_REPLIES); - -$xoopsTpl->assign('h_poster_link', "viewforum.php?forum=$forum&sortname=u.uname&sortsince=$sortsince&sortorder=". (($sortname == "u.uname" && $sortorder == "DESC") ? "ASC" : "DESC")); -$xoopsTpl->assign('lang_poster', _MD_POSTER); - -$xoopsTpl->assign('h_views_link', "viewforum.php?forum=$forum&sortname=t.topic_views&sortsince=$sortsince&sortorder=". (($sortname == "t.topic_views" && $sortorder == "DESC") ? "ASC" : "DESC")); -$xoopsTpl->assign('lang_views', _MD_VIEWS); - -$xoopsTpl->assign('h_date_link', "viewforum.php?forum=$forum&sortname=p.post_time&sortsince=$sortsince&sortorder=". (($sortname == "p.post_time" && $sortorder == "DESC") ? "ASC" : "DESC")); -$xoopsTpl->assign('lang_date', _MD_DATE); - -$startdate = time() - (86400* $sortsince); -$start = !empty($_GET['start']) ? intval($_GET['start']) : 0; - -$sql = 'SELECT t.*, u.uname, u2.uname as last_poster, p.post_time as last_post_time, p.icon FROM '.$xoopsDB->prefix("bb_topics").' t LEFT JOIN '.$xoopsDB->prefix('users').' u ON u.uid = t.topic_poster LEFT JOIN '.$xoopsDB->prefix('bb_posts').' p ON p.post_id = t.topic_last_post_id LEFT JOIN '.$xoopsDB->prefix('users').' u2 ON u2.uid = p.uid WHERE t.forum_id = '.$forum.' AND (p.post_time > '.$startdate.' OR t.topic_sticky=1) ORDER BY topic_sticky DESC, '.$sortname.' '.$sortorder; -if ( !$result = $xoopsDB->query($sql,$forumdata['topics_per_page'],$start) ) { - redirect_header('index.php',2,_MD_ERROROCCURED); - exit(); -} - -// Read topic 'lastread' times from cookie, if exists -$topic_lastread = newbb_get_topics_viewed(); -while ( $myrow = $xoopsDB->fetchArray($result) ) { - - if ( empty($myrow['last_poster']) ) { - $myrow['last_poster'] = $xoopsConfig['anonymous']; - } - if ( $myrow['topic_sticky'] == 1 ) { - $image = $bbImage['folder_sticky']; - } elseif ( $myrow['topic_status'] == 1 ) { - $image = $bbImage['locked_topic']; - } else { - if ( $myrow['topic_replies'] >= $forumdata['hot_threshold'] ) { - if ( empty($topic_lastread[$myrow['topic_id']]) || ($topic_lastread[$myrow['topic_id']] < $myrow['last_post_time'] )) { - $image = $bbImage['hot_newposts_topic']; - } else { - $image = $bbImage['hot_folder_topic']; - } - } else { - if ( empty($topic_lastread[$myrow['topic_id']]) || ($topic_lastread[$myrow['topic_id']] < $myrow['last_post_time'] )) { - $image = $bbImage['newposts_topic']; - } else { - $image = $bbImage['folder_topic']; - } - } - } - $pagination = ''; - $addlink = ''; - $topiclink = 'viewtopic.php?topic_id='.$myrow['topic_id'].'&forum='.$forum; - $totalpages = ceil(($myrow['topic_replies'] + 1) / $forumdata['posts_per_page']); - if ( $totalpages > 1 ) { - $pagination .= '    '; - for ( $i = 1; $i <= $totalpages; $i++ ) { - - if ( $i > 3 && $i < $totalpages ) { - $pagination .= "..."; - } else { - $addlink = '&start='.(($i - 1) * $forumdata['posts_per_page']); - $pagination .= '['.$i.']'; - } - } - } - if ( $myrow['icon'] ) { - $topic_icon = ''; - } else { - $topic_icon = ''; - } - if ( $myrow['topic_poster'] != 0 && $myrow['uname'] ) { - $topic_poster = ''.$myrow['uname'].''; - } else { - $topic_poster = $xoopsConfig['anonymous']; - } - $xoopsTpl->append('topics', array('topic_icon'=>$topic_icon, 'topic_folder'=>$image, 'topic_title'=>$myts->makeTboxData4Show($myrow['topic_title']), 'topic_link'=>$topiclink, 'topic_page_jump'=>$pagination, 'topic_replies'=>$myrow['topic_replies'], 'topic_poster'=>$topic_poster, 'topic_views'=>$myrow['topic_views'], 'topic_last_posttime'=>formatTimestamp($myrow['last_post_time']), 'topic_last_poster'=>$myts->makeTboxData4Show($myrow['last_poster']))); -} - -$xoopsTpl->assign('lang_by', _MD_BY); - -$xoopsTpl->assign('img_newposts', $bbImage['newposts_topic']); -$xoopsTpl->assign('img_hotnewposts', $bbImage['hot_newposts_topic']); -$xoopsTpl->assign('img_folder', $bbImage['folder_topic']); -$xoopsTpl->assign('img_hotfolder', $bbImage['hot_folder_topic']); -$xoopsTpl->assign('img_locked', $bbImage['locked_topic']); -$xoopsTpl->assign('img_sticky', $bbImage['folder_sticky']); -$xoopsTpl->assign('lang_newposts', _MD_NEWPOSTS); -$xoopsTpl->assign('lang_hotnewposts', _MD_MORETHAN); -$xoopsTpl->assign('lang_hotnonewposts', _MD_MORETHAN2); -$xoopsTpl->assign('lang_nonewposts', _MD_NONEWPOSTS); -$xoopsTpl->assign('lang_legend', _MD_LEGEND); -$xoopsTpl->assign('lang_topiclocked', _MD_TOPICLOCKED); -$xoopsTpl->assign('lang_topicsticky', _MD_TOPICSTICKY); -$xoopsTpl->assign("lang_search", _MD_SEARCH); -$xoopsTpl->assign("lang_advsearch", _MD_ADVSEARCH); - -$sql = 'SELECT COUNT(*) FROM '.$xoopsDB->prefix('bb_topics').' WHERE forum_id = '.$forum.' AND (topic_time > '.$startdate.' OR topic_sticky = 1)'; -if ( !$r = $xoopsDB->query($sql) ) { - //redirect_header('index.php',2,_MD_ERROROCCURED); - //exit(); -} -list($all_topics) = $xoopsDB->fetchRow($r); -if ( $all_topics > $forumdata['topics_per_page'] ) { - include XOOPS_ROOT_PATH.'/class/pagenav.php'; - $nav = new XoopsPageNav($all_topics, $forumdata['topics_per_page'], $start, "start", 'forum='.$forum.'&sortname='.$sortname.'&sortorder='.$sortorder.'&sortsince='.$sortsince); - $xoopsTpl->assign('forum_pagenav', $nav->renderNav(4)); -} else { - $xoopsTpl->assign('forum_pagenav', ''); -} -$xoopsTpl->assign('forum_jumpbox', make_jumpbox($forum)); -include XOOPS_ROOT_PATH."/footer.php"; -?> + // +// ------------------------------------------------------------------------ // +// This program is free software; you can redistribute it and/or modify // +// it under the terms of the GNU General Public License as published by // +// the Free Software Foundation; either version 2 of the License, or // +// (at your option) any later version. // +// // +// You may not change or alter any portion of this comment or credits // +// of supporting developers from this source code or any supporting // +// source code which is considered copyrighted (c) material of the // +// original comment or credit authors. // +// // +// This program is distributed in the hope that it will be useful, // +// but WITHOUT ANY WARRANTY; without even the implied warranty of // +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // +// GNU General Public License for more details. // +// // +// You should have received a copy of the GNU General Public License // +// along with this program; if not, write to the Free Software // +// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA // +// ------------------------------------------------------------------------ // +// Author: Kazumi Ono (AKA onokazu) // +// URL: http://www.myweb.ne.jp/, http://www.xoops.org/, http://jp.xoops.org/ // +// Project: The XOOPS Project // +// ------------------------------------------------------------------------- // + +include "header.php"; + +$forum = intval($HTTP_GET_VARS['forum']); +if ( $forum < 1 ) { + redirect_header("index.php", 2, _MD_ERRORFORUM); + exit(); +} +$sql = 'SELECT forum_type, forum_name, forum_access, allow_html, allow_sig, posts_per_page, hot_threshold, topics_per_page FROM '.$xoopsDB->prefix('bb_forums').' WHERE forum_id = '.$forum; +if ( !$result = $xoopsDB->query($sql) ) { + redirect_header("index.php", 2, _MD_ERRORCONNECT); + exit(); +} +if ( !$forumdata = $xoopsDB->fetchArray($result) ) { + redirect_header("index.php", 2, _MD_ERROREXIST); + exit(); +} +// this page uses smarty template +// this must be set before including main header.php +$xoopsOption['template_main'] = 'newbb_viewforum.html'; +include XOOPS_ROOT_PATH."/header.php"; +$can_post = 0; +$show_reg = 0; +if ( $forumdata['forum_type'] == 1 ) { + // this is a private forum. + $xoopsTpl->assign('is_private_forum', true); + $accesserror = 0; + if ( $xoopsUser ) { + if ( !$xoopsUser->isAdmin($xoopsModule->mid()) ) { + if ( !check_priv_forum_auth($xoopsUser->getVar("uid"), $forum, false) ) { + $accesserror = 1; + } + } + } else { + $accesserror = 1; + } + if ( $accesserror == 1 ) { + redirect_header("index.php",2,_MD_NORIGHTTOACCESS); + exit(); + } + $can_post = 1; + $show_reg = 1; +} else { + // this is not a priv forum + $xoopsTpl->assign('is_private_forum', false); + if ( $forumdata['forum_access'] == 1 ) { + // this is a reg user only forum + if ( $xoopsUser ) { + $can_post = 1; + } else { + $show_reg = 1; + } + } elseif ( $forumdata['forum_access'] == 2 ) { + // this is an open forum + $can_post = 1; + } else { + // this is an admin/moderator only forum + if ( $xoopsUser ) { + if ( $xoopsUserIsAdmin || is_moderator($forum, $xoopsUser->uid()) ) { + $can_post = 1; + } + } + } +} + +$xoopsTpl->assign("forum_id", $forum); +if ( $can_post == 1 ) { + $xoopsTpl->assign('viewer_can_post', true); + $xoopsTpl->assign('forum_post_or_register', "\""._MD_POSTNEW."\""); +} else { + $xoopsTpl->assign('viewer_can_post', false); + if ( $show_reg == 1 ) { + $xoopsTpl->assign('forum_post_or_register', ''._MD_REGTOPOST.''); + } else { + $xoopsTpl->assign('forum_post_or_register', ""); + } +} +$xoopsTpl->assign('forum_index_title', sprintf(_MD_FORUMINDEX,$xoopsConfig['sitename'])); +$xoopsTpl->assign('forum_image_folder', $bbImage['folder_topic']); +$myts =& MyTextSanitizer::getInstance(); +$xoopsTpl->assign('forum_name', $myts->makeTboxData4Show($forumdata['forum_name'])); +$xoopsTpl->assign('lang_moderatedby', _MD_MODERATEDBY); + +$forum_moderators = ""; +$count = 0; +$moderators = get_moderators($forum); +foreach ( $moderators as $mods ) { + foreach ( $mods as $mod_id => $mod_name ) { + if ( $count > 0 ) { + $forum_moderators .= ", "; + } + $forum_moderators .= ''.$myts->makeTboxData4Show($mod_name).''; + $count = 1; + } +} +$xoopsTpl->assign('forum_moderators', $forum_moderators); + + +$sel_sort_array = array("t.topic_title"=>_MD_TOPICTITLE, "t.topic_replies"=>_MD_NUMBERREPLIES, "u.uname"=>_MD_TOPICPOSTER, "t.topic_views"=>_MD_VIEWS, "p.post_time"=>_MD_LASTPOSTTIME); +if ( !isset($HTTP_GET_VARS['sortname']) || !in_array($HTTP_GET_VARS['sortname'], array_keys($sel_sort_array)) ) { + $sortname = "p.post_time"; +} else { + $sortname = $HTTP_GET_VARS['sortname']; +} + +$xoopsTpl->assign('lang_sortby', _MD_SORTEDBY); + +$forum_selection_sort = ''; + +// assign to template +$xoopsTpl->assign('forum_selection_sort', $forum_selection_sort); + +$sortorder = (!isset($HTTP_GET_VARS['sortorder']) || $HTTP_GET_VARS['sortorder'] != "ASC") ? "DESC" : "ASC"; +$forum_selection_order = ''; + +// assign to template +$xoopsTpl->assign('forum_selection_order', $forum_selection_order); + +$sortsince = !empty($HTTP_GET_VARS['sortsince']) ? intval($HTTP_GET_VARS['sortsince']) : 100; +$sel_since_array = array(1, 2, 5, 10, 20, 30, 40, 60, 75, 100); +$forum_selection_since = ''; + +// assign to template +$xoopsTpl->assign('forum_selection_since', $forum_selection_since); +$xoopsTpl->assign('lang_go', _MD_GO); + +$xoopsTpl->assign('h_topic_link', "viewforum.php?forum=$forum&sortname=t.topic_title&sortsince=$sortsince&sortorder=". (($sortname == "t.topic_title" && $sortorder == "DESC") ? "ASC" : "DESC")); +$xoopsTpl->assign('lang_topic', _MD_TOPIC); + +$xoopsTpl->assign('h_reply_link', "viewforum.php?forum=$forum&sortname=t.topic_replies&sortsince=$sortsince&sortorder=". (($sortname == "t.topic_replies" && $sortorder == "DESC") ? "ASC" : "DESC")); +$xoopsTpl->assign('lang_replies', _MD_REPLIES); + +$xoopsTpl->assign('h_poster_link', "viewforum.php?forum=$forum&sortname=u.uname&sortsince=$sortsince&sortorder=". (($sortname == "u.uname" && $sortorder == "DESC") ? "ASC" : "DESC")); +$xoopsTpl->assign('lang_poster', _MD_POSTER); + +$xoopsTpl->assign('h_views_link', "viewforum.php?forum=$forum&sortname=t.topic_views&sortsince=$sortsince&sortorder=". (($sortname == "t.topic_views" && $sortorder == "DESC") ? "ASC" : "DESC")); +$xoopsTpl->assign('lang_views', _MD_VIEWS); + +$xoopsTpl->assign('h_date_link', "viewforum.php?forum=$forum&sortname=p.post_time&sortsince=$sortsince&sortorder=". (($sortname == "p.post_time" && $sortorder == "DESC") ? "ASC" : "DESC")); +$xoopsTpl->assign('lang_date', _MD_DATE); + +$startdate = time() - (86400* $sortsince); +$start = !empty($HTTP_GET_VARS['start']) ? intval($HTTP_GET_VARS['start']) : 0; + +$sql = 'SELECT t.*, u.uname, u2.uname as last_poster, p.post_time as last_post_time, p.icon FROM '.$xoopsDB->prefix("bb_topics").' t LEFT JOIN '.$xoopsDB->prefix('users').' u ON u.uid = t.topic_poster LEFT JOIN '.$xoopsDB->prefix('bb_posts').' p ON p.post_id = t.topic_last_post_id LEFT JOIN '.$xoopsDB->prefix('users').' u2 ON u2.uid = p.uid WHERE t.forum_id = '.$forum.' AND (p.post_time > '.$startdate.' OR t.topic_sticky=1) ORDER BY topic_sticky DESC, '.$sortname.' '.$sortorder; +if ( !$result = $xoopsDB->query($sql,$forumdata['topics_per_page'],$start) ) { + redirect_header('index.php',2,_MD_ERROROCCURED); + exit(); +} + +// Read topic 'lastread' times from cookie, if exists +$topic_lastread = newbb_get_topics_viewed(); +while ( $myrow = $xoopsDB->fetchArray($result) ) { + + if ( empty($myrow['last_poster']) ) { + $myrow['last_poster'] = $xoopsConfig['anonymous']; + } + if ( $myrow['topic_sticky'] == 1 ) { + $image = $bbImage['folder_sticky']; + } elseif ( $myrow['topic_status'] == 1 ) { + $image = $bbImage['locked_topic']; + } else { + if ( $myrow['topic_replies'] >= $forumdata['hot_threshold'] ) { + if ( empty($topic_lastread[$myrow['topic_id']]) || ($topic_lastread[$myrow['topic_id']] < $myrow['last_post_time'] )) { + $image = $bbImage['hot_newposts_topic']; + } else { + $image = $bbImage['hot_folder_topic']; + } + } else { + if ( empty($topic_lastread[$myrow['topic_id']]) || ($topic_lastread[$myrow['topic_id']] < $myrow['last_post_time'] )) { + $image = $bbImage['newposts_topic']; + } else { + $image = $bbImage['folder_topic']; + } + } + } + $pagination = ''; + $addlink = ''; + $topiclink = 'viewtopic.php?topic_id='.$myrow['topic_id'].'&forum='.$forum; + $totalpages = ceil(($myrow['topic_replies'] + 1) / $forumdata['posts_per_page']); + if ( $totalpages > 1 ) { + $pagination .= '    '; + for ( $i = 1; $i <= $totalpages; $i++ ) { + + if ( $i > 3 && $i < $totalpages ) { + $pagination .= "..."; + } else { + $addlink = '&start='.(($i - 1) * $forumdata['posts_per_page']); + $pagination .= '['.$i.']'; + } + } + } + if ( $myrow['icon'] ) { + $topic_icon = ''; + } else { + $topic_icon = ''; + } + if ( $myrow['topic_poster'] != 0 && $myrow['uname'] ) { + $topic_poster = ''.$myrow['uname'].''; + } else { + $topic_poster = $xoopsConfig['anonymous']; + } + $xoopsTpl->append('topics', array('topic_icon'=>$topic_icon, 'topic_folder'=>$image, 'topic_title'=>$myts->makeTboxData4Show($myrow['topic_title']), 'topic_link'=>$topiclink, 'topic_page_jump'=>$pagination, 'topic_replies'=>$myrow['topic_replies'], 'topic_poster'=>$topic_poster, 'topic_views'=>$myrow['topic_views'], 'topic_last_posttime'=>formatTimestamp($myrow['last_post_time']), 'topic_last_poster'=>$myts->makeTboxData4Show($myrow['last_poster']))); +} + +$xoopsTpl->assign('lang_by', _MD_BY); + +$xoopsTpl->assign('img_newposts', $bbImage['newposts_topic']); +$xoopsTpl->assign('img_hotnewposts', $bbImage['hot_newposts_topic']); +$xoopsTpl->assign('img_folder', $bbImage['folder_topic']); +$xoopsTpl->assign('img_hotfolder', $bbImage['hot_folder_topic']); +$xoopsTpl->assign('img_locked', $bbImage['locked_topic']); +$xoopsTpl->assign('img_sticky', $bbImage['folder_sticky']); +$xoopsTpl->assign('lang_newposts', _MD_NEWPOSTS); +$xoopsTpl->assign('lang_hotnewposts', _MD_MORETHAN); +$xoopsTpl->assign('lang_hotnonewposts', _MD_MORETHAN2); +$xoopsTpl->assign('lang_nonewposts', _MD_NONEWPOSTS); +$xoopsTpl->assign('lang_legend', _MD_LEGEND); +$xoopsTpl->assign('lang_topiclocked', _MD_TOPICLOCKED); +$xoopsTpl->assign('lang_topicsticky', _MD_TOPICSTICKY); +$xoopsTpl->assign("lang_search", _MD_SEARCH); +$xoopsTpl->assign("lang_advsearch", _MD_ADVSEARCH); + +$sql = 'SELECT COUNT(*) FROM '.$xoopsDB->prefix('bb_topics').' WHERE forum_id = '.$forum.' AND (topic_time > '.$startdate.' OR topic_sticky = 1)'; +if ( !$r = $xoopsDB->query($sql) ) { + //redirect_header('index.php',2,_MD_ERROROCCURED); + //exit(); +} +list($all_topics) = $xoopsDB->fetchRow($r); +if ( $all_topics > $forumdata['topics_per_page'] ) { + include XOOPS_ROOT_PATH.'/class/pagenav.php'; + $nav = new XoopsPageNav($all_topics, $forumdata['topics_per_page'], $start, "start", 'forum='.$forum.'&sortname='.$sortname.'&sortorder='.$sortorder.'&sortsince='.$sortsince); + $xoopsTpl->assign('forum_pagenav', $nav->renderNav(4)); +} else { + $xoopsTpl->assign('forum_pagenav', ''); +} +$xoopsTpl->assign('forum_jumpbox', make_jumpbox($forum)); +include XOOPS_ROOT_PATH."/footer.php"; +?> Index: xoops2jp/html/modules/newbb/viewtopic.php diff -u xoops2jp/html/modules/newbb/viewtopic.php:1.3.2.1 xoops2jp/html/modules/newbb/viewtopic.php:1.3.2.2 --- xoops2jp/html/modules/newbb/viewtopic.php:1.3.2.1 Thu Oct 13 01:54:50 2005 +++ xoops2jp/html/modules/newbb/viewtopic.php Mon Oct 24 20:26:51 2005 @@ -1,360 +1,360 @@ - // -// ------------------------------------------------------------------------ // -// This program is free software; you can redistribute it and/or modify // -// it under the terms of the GNU General Public License as published by // -// the Free Software Foundation; either version 2 of the License, or // -// (at your option) any later version. // -// // -// You may not change or alter any portion of this comment or credits // -// of supporting developers from this source code or any supporting // -// source code which is considered copyrighted (c) material of the // -// original comment or credit authors. // -// // -// This program is distributed in the hope that it will be useful, // -// but WITHOUT ANY WARRANTY; without even the implied warranty of // -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // -// GNU General Public License for more details. // -// // -// You should have received a copy of the GNU General Public License // -// along with this program; if not, write to the Free Software // -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA // -// ------------------------------------------------------------------------ // -// Author: Kazumi Ono (AKA onokazu) // -// URL: http://www.myweb.ne.jp/, http://www.xoops.org/, http://jp.xoops.org/ // -// Project: The XOOPS Project // -// ------------------------------------------------------------------------- // - -include 'header.php'; -$forum = isset($_GET['forum']) ? intval($_GET['forum']) : 0; -$topic_id = isset($_GET['topic_id']) ? intval($_GET['topic_id']) : 0; -if ( empty($forum) ) { - redirect_header(XOOPS_URL."/modules/".$xoopsModule->getVar('dirname')."/index.php",2,_MD_ERRORFORUM); - exit(); -} elseif ( empty($topic_id) ) { - redirect_header('viewforum.php?forum='.$forum,2,_MD_ERRORTOPIC); - exit(); -} -$topic_time = (isset($_GET['topic_time'])) ? intval($_GET['topic_time']) : 0; -$post_id = !empty($_GET['post_id']) ? intval($_GET['post_id']) : 0; - -//use users preferences -if (is_object($xoopsUser)) { - $viewmode = $xoopsUser->getVar('umode'); - $order = ($xoopsUser->getVar('uorder') == 1) ? 'DESC' : 'ASC'; -} else { - $viewmode = 'flat'; - $order = 'ASC'; -} - -// newbb does not have nested mode -if ($viewmode == 'nest') { - $viewmode = 'thread'; -} - -// override mode/order if any requested -if (isset($_GET['viewmode']) && ($_GET['viewmode'] == 'flat' || $_GET['viewmode'] == 'thread')) { - $viewmode = $_GET['viewmode']; -} -if (isset($_GET['order']) && ($_GET['order'] == 'ASC' || $_GET['order'] == 'DESC')) { - $order = $_GET['order']; -} - -if ($viewmode != 'flat') { - $xoopsOption['template_main'] = 'newbb_viewtopic_thread.html'; -} else { - $xoopsOption['template_main'] = 'newbb_viewtopic_flat.html'; -} - -include XOOPS_ROOT_PATH.'/header.php'; -include_once 'class/class.forumposts.php'; - -if ( isset($_GET['move']) && 'next' == $_GET['move'] ) { - $sql = 'SELECT t.topic_id, t.topic_title, t.topic_time, t.topic_status, t.topic_sticky, t.topic_last_post_id, f.forum_id, f.forum_name, f.forum_access, f.forum_type, f.allow_html, f.allow_sig, f.posts_per_page, f.hot_threshold, f.topics_per_page FROM '.$xoopsDB->prefix('bb_topics').' t LEFT JOIN '.$xoopsDB->prefix('bb_forums').' f ON f.forum_id = t.forum_id WHERE t.topic_time > '.$topic_time.' AND t.forum_id = '.$forum.' ORDER BY t.topic_time ASC LIMIT 1'; -} elseif ( isset($_GET['move']) && 'prev' == $_GET['move']) { - $sql = 'SELECT t.topic_id, t.topic_title, t.topic_time, t.topic_status, t.topic_sticky, t.topic_last_post_id, f.forum_id, f.forum_name, f.forum_access, f.forum_type, f.allow_html, f.allow_sig, f.posts_per_page, f.hot_threshold, f.topics_per_page FROM '.$xoopsDB->prefix('bb_topics').' t LEFT JOIN '.$xoopsDB->prefix('bb_forums').' f ON f.forum_id = t.forum_id WHERE t.topic_time < '.$topic_time.' AND t.forum_id = '.$forum.' ORDER BY t.topic_time DESC LIMIT 1'; -} else { - $sql = 'SELECT t.topic_id, t.topic_title, t.topic_time, t.topic_status, t.topic_sticky, t.topic_last_post_id, f.forum_id, f.forum_name, f.forum_access, f.forum_type, f.allow_html, f.allow_sig, f.posts_per_page, f.hot_threshold, f.topics_per_page FROM '.$xoopsDB->prefix('bb_topics').' t LEFT JOIN '.$xoopsDB->prefix('bb_forums').' f ON f.forum_id = t.forum_id WHERE t.topic_id = '.$topic_id.' AND t.forum_id = '.$forum; -} - -if ( !$result = $xoopsDB->query($sql) ) { - redirect_header('viewforum.php?forum='.$forum,2,_MD_ERROROCCURED); - exit(); -} - -if ( !$forumdata = $xoopsDB->fetchArray($result) ) { - redirect_header('viewforum.php?forum='.$forum,2,_MD_FORUMNOEXIST); - exit(); -} -$xoopsTpl->assign('topic_id', $forumdata['topic_id']); -$topic_id = $forumdata['topic_id']; -$xoopsTpl->assign('forum_id', $forumdata['forum_id']); -$forum = $forumdata['forum_id']; -$can_post = 0; -$show_reg = 0; -if ( $forumdata['forum_type'] == 1 ) { - // this is a private forum. - $accesserror = 0; - if ( $xoopsUser ) { - if ( !$xoopsUser->isAdmin($xoopsModule->mid()) ) { - if ( !check_priv_forum_auth($xoopsUser->getVar('uid'), $forum, false) ) { - $accesserror = 1; - } - } else { - $isadminormod = 1; - } - } else { - $accesserror = 1; - } - if ( $accesserror == 1 ) { - redirect_header(XOOPS_URL."/modules/".$xoopsModule->getVar('dirname')."/index.php",2,_MD_NORIGHTTOACCESS); - exit(); - } - $can_post = 1; - $show_reg = 1; -} else { - // this is not a priv forum - if ( $forumdata['forum_access'] == 1 ) { - // this is a reg user only forum - if ( $xoopsUser ) { - $can_post = 1; - } else { - $show_reg = 1; - } - } elseif ( $forumdata['forum_access'] == 2 ) { - // this is an open forum - $can_post = 1; - } else { - // this is an admin/moderator only forum - if ( $xoopsUser ) { - if ( $xoopsUser->isAdmin($xoopsModule->mid()) || is_moderator($forum, $xoopsUser->getVar('uid')) ) { - $can_post = 1; - $isadminormod = 1; - } - } - } -} -$myts =& MyTextSanitizer::getInstance(); -$forumdata['topic_title'] = $myts->makeTboxData4Show($forumdata['topic_title']);$forumdata['forum_name'] = $myts->makeTboxData4Show($forumdata['forum_name']); -$xoopsTpl->assign(array('topic_title' => ''.$forumdata['topic_title'].'', 'forum_name' => $forumdata['forum_name'], 'topic_time' => $forumdata['topic_time'], 'lang_nexttopic' => _MD_NEXTTOPIC, 'lang_prevtopic' => _MD_PREVTOPIC)); - -// add image links to admin page if the user viewing this page is a forum admin -if ( $xoopsUser ) { - $xoopsTpl->assign('viewer_userid', $xoopsUser->getVar('uid')); - if ( !empty($isadminormod) || $xoopsUser->isAdmin($xoopsModule->mid()) || is_moderator( $forum, $xoopsUser->getVar('uid')) ) { - // yup, the user is admin - // the forum is locked? - if ( $forumdata['topic_status'] != 1 ) { - // nope - $xoopsTpl->assign('topic_lock_image', ''._MD_LOCKTOPIC.''); - } else { - // yup, it is.. - $xoopsTpl->assign('topic_lock_image', ''._MD_UNLOCKTOPIC.''); - } - $xoopsTpl->assign('topic_move_image', ''._MD_MOVETOPIC.''); - $xoopsTpl->assign('topic_delete_image', ''._MD_DELETETOPIC.''); - // is the topic sticky? - if ( $forumdata['topic_sticky'] != 1 ) { - // nope, not yet.. - $xoopsTpl->assign('topic_sticky_image', ''._MD_STICKYTOPIC.''); - } else { - // yup it is sticking.. - $xoopsTpl->assign('topic_sticky_image', ''._MD_UNSTICKYTOPIC.''); - } - // need to set this also - $xoopsTpl->assign('viewer_is_admin', true); - } else { - // nope, the user is not a forum admin.. - $xoopsTpl->assign('viewer_is_admin', false); - } -} else { - // nope, the user is not a forum admin, not even registered - $xoopsTpl->assign(array('viewer_is_admin' => false, 'viewer_userid' => 0)); -} - -function showTree(&$arr, $current=0, $key=0, $prefix='', $foundusers=array()){ - global $xoopsConfig; - if ($key != 0) { - if ( 0 != $arr[$key]['obj']->uid() ) { - if (!isset($foundusers[$arr[$key]['obj']->uid()])) { - $eachposter = new XoopsUser($arr[$key]['obj']->uid()); - $foundusers[$arr[$key]['obj']->uid()] =& $eachposter; - } else { - $eachposter =& $foundusers[$arr[$key]['obj']->uid()]; - } - $poster_rank = $eachposter->rank(); - if ( $poster_rank['image'] != '' ) { - $poster_rank['image'] = ''; - } - if ( $eachposter->isActive() ) { - $posterarr = array('poster_uid' => $eachposter->getVar('uid'), 'poster_uname' => ''.$eachposter->getVar('uname').''); - } else { - $posterarr = array('poster_uid' =>0, 'poster_uname' => $xoopsConfig['anonymous']); - } - } else { - $posterarr = array('poster_uid' =>0, 'poster_uname' => $xoopsConfig['anonymous']); - } - $posticon = $arr[$key]['obj']->icon(); - if ( isset($posticon) && $posticon != '' ) { - $post_image = ''; - } else { - $post_image = ''; - } - if ($current != $key) { - $subject = ''.$arr[$key]['obj']->subject().''; - $GLOBALS['xoopsTpl']->append("topic_trees", array_merge($posterarr, array("post_id" => $arr[$key]['obj']->postid(), "post_parent_id" => $arr[$key]['obj']->parent(), "post_date" => formatTimestamp($arr[$key]['obj']->posttime(), "m"), "post_image" => $post_image, "post_title" => $subject, "post_prefix" => $prefix))); - } else { - $subject = ''.$arr[$key]['obj']->subject().''; - $thisprefix = substr($prefix, 0, -6)."»"; - $GLOBALS['xoopsTpl']->append("topic_trees", array_merge($posterarr, array("post_id" => $arr[$key]['obj']->postid(), "post_parent_id" => $arr[$key]['obj']->parent(), "post_date" => formatTimestamp($arr[$key]['obj']->posttime(), "m"), "post_image" => $post_image, "post_title" => $subject, "post_prefix" => $thisprefix))); - } - } - if ( isset($arr[$key]['replies']) && !empty($arr[$key]['replies']) ){ - $prefix .= "  "; - foreach($arr[$key]['replies'] as $replykey) { - $current = ( $current == 0 ) ? $replykey : $current; - showTree($arr, $current, $replykey, $prefix, $foundusers); - } - } -} - -if ($order == 'DESC') { - $xoopsTpl->assign(array('order_current' => 'DESC', 'order_other' => 'ASC', 'lang_order_other' => _OLDESTFIRST)); -} else { - $xoopsTpl->assign(array('order_current' => 'ASC', 'order_other' => 'DESC', 'lang_order_other' => _NEWESTFIRST)); -} - -// initialize the start number of select query -$start = !empty($_GET['start']) ? intval($_GET['start']) : 0; - -$total_posts = get_total_posts($topic_id, 'topic'); -if ($total_posts > 50) { - $viewmode ="flat"; - // hide link to theaded view - $xoopsTpl->assign('lang_threaded', "" ); - $xoopsTpl->assign('lang_flat', _FLAT ); -} else { - $xoopsTpl->assign(array('lang_threaded' => _THREADED, 'lang_flat' => _FLAT)); -} - -if ( $can_post == 1 ) { - $xoopsTpl->assign(array('viewer_can_post' => true, 'forum_post_or_register' => "\""._MD_POSTNEW."\"")); -} else { - $xoopsTpl->assign('viewer_can_post', false); - if ( $show_reg == 1 ) { - $xoopsTpl->assign('forum_post_or_register', ''._MD_REGTOPOST.''); - } else { - $xoopsTpl->assign('forum_post_or_register', ''); - } -} - -if ( $viewmode == "thread" ) { - $start = 0; - $postsArray = ForumPosts::getAllPosts($topic_id, "ASC", $total_posts, $start); - $xoopsTpl->assign('topic_viewmode', 'thread'); - - $newObjArr = array(); - foreach ( $postsArray as $eachpost ) { - $key1 = $eachpost->postid(); - if ( (!empty($post_id) && $post_id == $key1) || ( empty($post_id) && $eachpost->parent() == 0 ) ) { - $post_text = $eachpost->text(); - if ( 0 != $eachpost->uid() ) { - $eachposter = new XoopsUser($eachpost->uid()); - $poster_rank = $eachposter->rank(); - if ( $poster_rank['image'] != "" ) { - $poster_rank['image'] = ""; - } - if ( $eachposter->isActive() ) { - $poster_status = $eachposter->isOnline() ? _MD_ONLINE : ''; - $posterarr = array('poster_uid' => $eachposter->getVar('uid'), 'poster_uname' => ''.$eachposter->getVar('uname').'', 'poster_avatar' => $eachposter->getVar('user_avatar'), 'poster_from' => $eachposter->getVar('user_from'), 'poster_regdate' => formatTimestamp($eachposter->getVar('user_regdate'), 's'), 'poster_postnum' => $eachposter->getVar('posts'), 'poster_sendpmtext' => sprintf(_SENDPMTO,$eachposter->getVar('uname')), 'poster_rank_title' => $poster_rank['title'], 'poster_rank_image' => $poster_rank['image'], 'poster_status' => $poster_status); - if ( 1 == $forumdata['allow_sig'] && $eachpost->attachsig() == 1 && $eachposter->attachsig() == 1 ) { - $myts =& MytextSanitizer::getInstance(); - $post_text .= "


----------------
". $myts->makeTareaData4Show($eachposter->getVar("user_sig", "N"), 0, 1, 1)."

"; - } - } else { - $posterarr = array('poster_uid' =>0, 'poster_uname' => $xoopsConfig['anonymous'], 'poster_avatar' => '', 'poster_from' => '', 'poster_regdate' => '', 'poster_postnum' => '', 'poster_sendpmtext' => '', 'poster_rank_title' => '', 'poster_rank_image' => ''); - } - } else { - $posterarr = array('poster_uid' =>0, 'poster_uname' => $xoopsConfig['anonymous'], 'poster_avatar' => '', 'poster_from' => '', 'poster_regdate' => '', 'poster_postnum' => '', 'poster_sendpmtext' => '', 'poster_rank_title' => '', 'poster_rank_image' => ''); - } - $posticon = $eachpost->icon(); - if ( isset($posticon) && $posticon != '' ) { - $post_image = ''; - } else { - $post_image = ''; - } - $xoopsTpl->append('topic_posts', array_merge($posterarr, array('post_id' => $eachpost->postid(), 'post_parent_id' => $eachpost->parent(), 'post_date' => formatTimestamp($eachpost->posttime(), 'm'), 'post_poster_ip'=> $eachpost->posterip(), 'post_image' => $post_image, 'post_title' => $eachpost->subject(), 'post_text' => $post_text))); - } - $newObjArr[$key1]['obj'] = $eachpost; - $key2 = $eachpost->parent(); - $newObjArr[$key2]['replies'][] = $key1; - $newObjArr[$key2]['leaf'] = $key1; - } - showTree($newObjArr, $post_id); - $xoopsTpl->assign(array('lang_subject' => _MD_SUBJECT, 'lang_date' => _MD_DATE)); -} else { - $xoopsTpl->assign(array('topic_viewmode' => 'flat', 'lang_top' => _MD_TOP, 'lang_subject' => _MD_SUBJECT, 'lang_bottom' => _MD_BOTTOM)); - $postsArray = ForumPosts::getAllPosts($topic_id, $order, $forumdata['posts_per_page'], $start, $post_id); - $foundusers = array(); - foreach ( $postsArray as $eachpost ) { - $post_text = $eachpost->text(); - if ( 0 != $eachpost->uid() ) { - if (!isset($foundusers['user'.$eachpost->uid()])) { - $eachposter = new XoopsUser($eachpost->uid()); - $foundusers['user'.$eachpost->uid()] =& $eachposter; - } else { - $eachposter =& $foundusers['user'.$eachpost->uid()]; - } - $poster_rank = $eachposter->rank(); - if ( $poster_rank['image'] != '' ) { - $poster_rank['image'] = ''; - } - if ( $eachposter->isActive() ) { - $poster_status = $eachposter->isOnline() ? _MD_ONLINE : ''; - $posterarr = array('poster_uid' => $eachposter->getVar('uid'), 'poster_uname' => ''.$eachposter->getVar('uname').'', 'poster_avatar' => $eachposter->getVar('user_avatar'), 'poster_from' => $eachposter->getVar('user_from'), 'poster_regdate' => formatTimestamp($eachposter->getVar('user_regdate'), 's'), 'poster_postnum' => $eachposter->getVar('posts'), 'poster_sendpmtext' => sprintf(_SENDPMTO,$eachposter->getVar('uname')), 'poster_rank_title' => $poster_rank['title'], 'poster_rank_image' => $poster_rank['image'], 'poster_status' => $poster_status); - if ( 1 == $forumdata['allow_sig'] && $eachpost->attachsig() == 1 && $eachposter->attachsig() == 1 ) { - $myts =& MytextSanitizer::getInstance(); - $post_text .= '


----------------
'. $myts->makeTareaData4Show($eachposter->getVar('user_sig', 'N'), 0, 1, 1).'

'; - } - } else { - $posterarr = array('poster_uid' =>0, 'poster_uname' => $xoopsConfig['anonymous'], 'poster_avatar' => '', 'poster_from' => '', 'poster_regdate' => '', 'poster_postnum' => '', 'poster_sendpmtext' => '', 'poster_rank_title' => '', 'poster_rank_image' => ''); - } - } else { - $posterarr = array('poster_uid' =>0, 'poster_uname' => $xoopsConfig['anonymous'], 'poster_avatar' => '', 'poster_from' => '', 'poster_regdate' => '', 'poster_postnum' => '', 'poster_sendpmtext' => '', 'poster_rank_title' => '', 'poster_rank_image' => ''); - } - $posticon = $eachpost->icon(); - if ( isset($posticon) && $posticon != '' ) { - $post_image = ''; - } else { - $post_image = ''; - } - $xoopsTpl->append('topic_posts', array_merge($posterarr, array('post_id' => $eachpost->postid(), 'post_parent_id' => $eachpost->parent(), 'post_date' => formatTimestamp($eachpost->posttime(), 'm'), 'post_poster_ip'=> $eachpost->posterip(), 'post_image' => $post_image, 'post_title' => $eachpost->subject(), 'post_text' => $post_text))); - unset($eachposter); - } - if ( $total_posts > $forumdata['posts_per_page'] ) { - include XOOPS_ROOT_PATH.'/class/pagenav.php'; - $nav = new XoopsPageNav($total_posts, $forumdata['posts_per_page'], $start, "start", 'topic_id='.$topic_id.'&forum='.$forum.'&viewmode='.$viewmode.'&order='.$order); - $xoopsTpl->assign('forum_page_nav', $nav->renderNav(4)); - } else { - $xoopsTpl->assign('forum_page_nav', ''); - } -} - -// create jump box -$xoopsTpl->assign(array('forum_jumpbox' => make_jumpbox($forum), 'lang_forum_index' => sprintf(_MD_FORUMINDEX,$xoopsConfig['sitename']), 'lang_from' => _MD_FROM, 'lang_joined' => _MD_JOINED, 'lang_posts' => _MD_POSTS, 'lang_poster' => _MD_POSTER, 'lang_thread' => _MD_THREAD, 'lang_edit' => _EDIT, 'lang_delete' => _DELETE, 'lang_reply' => _REPLY, 'lang_postedon' => _MD_POSTEDON)); - -// Read in cookie of 'lastread' times -$topic_lastread = newbb_get_topics_viewed(); -// if cookie is not set for this topic, update view count and set cookie -if ( empty($topic_lastread[$topic_id]) ) { - $sql = 'UPDATE '.$xoopsDB->prefix('bb_topics').' SET topic_views = topic_views + 1 WHERE topic_id ='. $topic_id; - $xoopsDB->queryF($sql); -} -// Update cookie -newbb_add_topics_viewed($topic_lastread, $topic_id, time(), $bbCookie['path'], $bbCookie['domain'], $bbCookie['secure']); -include XOOPS_ROOT_PATH.'/footer.php'; -?> + // +// ------------------------------------------------------------------------ // +// This program is free software; you can redistribute it and/or modify // +// it under the terms of the GNU General Public License as published by // +// the Free Software Foundation; either version 2 of the License, or // +// (at your option) any later version. // +// // +// You may not change or alter any portion of this comment or credits // +// of supporting developers from this source code or any supporting // +// source code which is considered copyrighted (c) material of the // +// original comment or credit authors. // +// // +// This program is distributed in the hope that it will be useful, // +// but WITHOUT ANY WARRANTY; without even the implied warranty of // +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // +// GNU General Public License for more details. // +// // +// You should have received a copy of the GNU General Public License // +// along with this program; if not, write to the Free Software // +// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA // +// ------------------------------------------------------------------------ // +// Author: Kazumi Ono (AKA onokazu) // +// URL: http://www.myweb.ne.jp/, http://www.xoops.org/, http://jp.xoops.org/ // +// Project: The XOOPS Project // +// ------------------------------------------------------------------------- // + +include 'header.php'; +$forum = isset($HTTP_GET_VARS['forum']) ? intval($HTTP_GET_VARS['forum']) : 0; +$topic_id = isset($HTTP_GET_VARS['topic_id']) ? intval($HTTP_GET_VARS['topic_id']) : 0; +if ( empty($forum) ) { + redirect_header(XOOPS_URL."/modules/".$xoopsModule->getVar('dirname')."/index.php",2,_MD_ERRORFORUM); + exit(); +} elseif ( empty($topic_id) ) { + redirect_header('viewforum.php?forum='.$forum,2,_MD_ERRORTOPIC); + exit(); +} +$topic_time = (isset($HTTP_GET_VARS['topic_time'])) ? intval($HTTP_GET_VARS['topic_time']) : 0; +$post_id = !empty($HTTP_GET_VARS['post_id']) ? intval($HTTP_GET_VARS['post_id']) : 0; + +//use users preferences +if (is_object($xoopsUser)) { + $viewmode = $xoopsUser->getVar('umode'); + $order = ($xoopsUser->getVar('uorder') == 1) ? 'DESC' : 'ASC'; +} else { + $viewmode = 'flat'; + $order = 'ASC'; +} + +// newbb does not have nested mode +if ($viewmode == 'nest') { + $viewmode = 'thread'; +} + +// override mode/order if any requested +if (isset($HTTP_GET_VARS['viewmode']) && ($HTTP_GET_VARS['viewmode'] == 'flat' || $HTTP_GET_VARS['viewmode'] == 'thread')) { + $viewmode = $HTTP_GET_VARS['viewmode']; +} +if (isset($HTTP_GET_VARS['order']) && ($HTTP_GET_VARS['order'] == 'ASC' || $HTTP_GET_VARS['order'] == 'DESC')) { + $order = $HTTP_GET_VARS['order']; +} + +if ($viewmode != 'flat') { + $xoopsOption['template_main'] = 'newbb_viewtopic_thread.html'; +} else { + $xoopsOption['template_main'] = 'newbb_viewtopic_flat.html'; +} + +include XOOPS_ROOT_PATH.'/header.php'; +include_once 'class/class.forumposts.php'; + +if ( isset($HTTP_GET_VARS['move']) && 'next' == $HTTP_GET_VARS['move'] ) { + $sql = 'SELECT t.topic_id, t.topic_title, t.topic_time, t.topic_status, t.topic_sticky, t.topic_last_post_id, f.forum_id, f.forum_name, f.forum_access, f.forum_type, f.allow_html, f.allow_sig, f.posts_per_page, f.hot_threshold, f.topics_per_page FROM '.$xoopsDB->prefix('bb_topics').' t LEFT JOIN '.$xoopsDB->prefix('bb_forums').' f ON f.forum_id = t.forum_id WHERE t.topic_time > '.$topic_time.' AND t.forum_id = '.$forum.' ORDER BY t.topic_time ASC LIMIT 1'; +} elseif ( isset($HTTP_GET_VARS['move']) && 'prev' == $HTTP_GET_VARS['move']) { + $sql = 'SELECT t.topic_id, t.topic_title, t.topic_time, t.topic_status, t.topic_sticky, t.topic_last_post_id, f.forum_id, f.forum_name, f.forum_access, f.forum_type, f.allow_html, f.allow_sig, f.posts_per_page, f.hot_threshold, f.topics_per_page FROM '.$xoopsDB->prefix('bb_topics').' t LEFT JOIN '.$xoopsDB->prefix('bb_forums').' f ON f.forum_id = t.forum_id WHERE t.topic_time < '.$topic_time.' AND t.forum_id = '.$forum.' ORDER BY t.topic_time DESC LIMIT 1'; +} else { + $sql = 'SELECT t.topic_id, t.topic_title, t.topic_time, t.topic_status, t.topic_sticky, t.topic_last_post_id, f.forum_id, f.forum_name, f.forum_access, f.forum_type, f.allow_html, f.allow_sig, f.posts_per_page, f.hot_threshold, f.topics_per_page FROM '.$xoopsDB->prefix('bb_topics').' t LEFT JOIN '.$xoopsDB->prefix('bb_forums').' f ON f.forum_id = t.forum_id WHERE t.topic_id = '.$topic_id.' AND t.forum_id = '.$forum; +} + +if ( !$result = $xoopsDB->query($sql) ) { + redirect_header('viewforum.php?forum='.$forum,2,_MD_ERROROCCURED); + exit(); +} + +if ( !$forumdata = $xoopsDB->fetchArray($result) ) { + redirect_header('viewforum.php?forum='.$forum,2,_MD_FORUMNOEXIST); + exit(); +} +$xoopsTpl->assign('topic_id', $forumdata['topic_id']); +$topic_id = $forumdata['topic_id']; +$xoopsTpl->assign('forum_id', $forumdata['forum_id']); +$forum = $forumdata['forum_id']; +$can_post = 0; +$show_reg = 0; +if ( $forumdata['forum_type'] == 1 ) { + // this is a private forum. + $accesserror = 0; + if ( $xoopsUser ) { + if ( !$xoopsUser->isAdmin($xoopsModule->mid()) ) { + if ( !check_priv_forum_auth($xoopsUser->getVar('uid'), $forum, false) ) { + $accesserror = 1; + } + } else { + $isadminormod = 1; + } + } else { + $accesserror = 1; + } + if ( $accesserror == 1 ) { + redirect_header(XOOPS_URL."/modules/".$xoopsModule->getVar('dirname')."/index.php",2,_MD_NORIGHTTOACCESS); + exit(); + } + $can_post = 1; + $show_reg = 1; +} else { + // this is not a priv forum + if ( $forumdata['forum_access'] == 1 ) { + // this is a reg user only forum + if ( $xoopsUser ) { + $can_post = 1; + } else { + $show_reg = 1; + } + } elseif ( $forumdata['forum_access'] == 2 ) { + // this is an open forum + $can_post = 1; + } else { + // this is an admin/moderator only forum + if ( $xoopsUser ) { + if ( $xoopsUser->isAdmin($xoopsModule->mid()) || is_moderator($forum, $xoopsUser->getVar('uid')) ) { + $can_post = 1; + $isadminormod = 1; + } + } + } +} +$myts =& MyTextSanitizer::getInstance(); +$forumdata['topic_title'] = $myts->makeTboxData4Show($forumdata['topic_title']);$forumdata['forum_name'] = $myts->makeTboxData4Show($forumdata['forum_name']); +$xoopsTpl->assign(array('topic_title' => ''.$forumdata['topic_title'].'', 'forum_name' => $forumdata['forum_name'], 'topic_time' => $forumdata['topic_time'], 'lang_nexttopic' => _MD_NEXTTOPIC, 'lang_prevtopic' => _MD_PREVTOPIC)); + +// add image links to admin page if the user viewing this page is a forum admin +if ( $xoopsUser ) { + $xoopsTpl->assign('viewer_userid', $xoopsUser->getVar('uid')); + if ( !empty($isadminormod) || $xoopsUser->isAdmin($xoopsModule->mid()) || is_moderator( $forum, $xoopsUser->getVar('uid')) ) { + // yup, the user is admin + // the forum is locked? + if ( $forumdata['topic_status'] != 1 ) { + // nope + $xoopsTpl->assign('topic_lock_image', ''._MD_LOCKTOPIC.''); + } else { + // yup, it is.. + $xoopsTpl->assign('topic_lock_image', ''._MD_UNLOCKTOPIC.''); + } + $xoopsTpl->assign('topic_move_image', ''._MD_MOVETOPIC.''); + $xoopsTpl->assign('topic_delete_image', ''._MD_DELETETOPIC.''); + // is the topic sticky? + if ( $forumdata['topic_sticky'] != 1 ) { + // nope, not yet.. + $xoopsTpl->assign('topic_sticky_image', ''._MD_STICKYTOPIC.''); + } else { + // yup it is sticking.. + $xoopsTpl->assign('topic_sticky_image', ''._MD_UNSTICKYTOPIC.''); + } + // need to set this also + $xoopsTpl->assign('viewer_is_admin', true); + } else { + // nope, the user is not a forum admin.. + $xoopsTpl->assign('viewer_is_admin', false); + } +} else { + // nope, the user is not a forum admin, not even registered + $xoopsTpl->assign(array('viewer_is_admin' => false, 'viewer_userid' => 0)); +} + +function showTree(&$arr, $current=0, $key=0, $prefix='', $foundusers=array()){ + global $xoopsConfig; + if ($key != 0) { + if ( 0 != $arr[$key]['obj']->uid() ) { + if (!isset($foundusers[$arr[$key]['obj']->uid()])) { + $eachposter = new XoopsUser($arr[$key]['obj']->uid()); + $foundusers[$arr[$key]['obj']->uid()] =& $eachposter; + } else { + $eachposter =& $foundusers[$arr[$key]['obj']->uid()]; + } + $poster_rank = $eachposter->rank(); + if ( $poster_rank['image'] != '' ) { + $poster_rank['image'] = ''; + } + if ( $eachposter->isActive() ) { + $posterarr = array('poster_uid' => $eachposter->getVar('uid'), 'poster_uname' => ''.$eachposter->getVar('uname').''); + } else { + $posterarr = array('poster_uid' =>0, 'poster_uname' => $xoopsConfig['anonymous']); + } + } else { + $posterarr = array('poster_uid' =>0, 'poster_uname' => $xoopsConfig['anonymous']); + } + $posticon = $arr[$key]['obj']->icon(); + if ( isset($posticon) && $posticon != '' ) { + $post_image = ''; + } else { + $post_image = ''; + } + if ($current != $key) { + $subject = ''.$arr[$key]['obj']->subject().''; + $GLOBALS['xoopsTpl']->append("topic_trees", array_merge($posterarr, array("post_id" => $arr[$key]['obj']->postid(), "post_parent_id" => $arr[$key]['obj']->parent(), "post_date" => formatTimestamp($arr[$key]['obj']->posttime(), "m"), "post_image" => $post_image, "post_title" => $subject, "post_prefix" => $prefix))); + } else { + $subject = ''.$arr[$key]['obj']->subject().''; + $thisprefix = substr($prefix, 0, -6)."»"; + $GLOBALS['xoopsTpl']->append("topic_trees", array_merge($posterarr, array("post_id" => $arr[$key]['obj']->postid(), "post_parent_id" => $arr[$key]['obj']->parent(), "post_date" => formatTimestamp($arr[$key]['obj']->posttime(), "m"), "post_image" => $post_image, "post_title" => $subject, "post_prefix" => $thisprefix))); + } + } + if ( isset($arr[$key]['replies']) && !empty($arr[$key]['replies']) ){ + $prefix .= "  "; + foreach($arr[$key]['replies'] as $replykey) { + $current = ( $current == 0 ) ? $replykey : $current; + showTree($arr, $current, $replykey, $prefix, $foundusers); + } + } +} + +if ($order == 'DESC') { + $xoopsTpl->assign(array('order_current' => 'DESC', 'order_other' => 'ASC', 'lang_order_other' => _OLDESTFIRST)); +} else { + $xoopsTpl->assign(array('order_current' => 'ASC', 'order_other' => 'DESC', 'lang_order_other' => _NEWESTFIRST)); +} + +// initialize the start number of select query +$start = !empty($HTTP_GET_VARS['start']) ? intval($HTTP_GET_VARS['start']) : 0; + +$total_posts = get_total_posts($topic_id, 'topic'); +if ($total_posts > 50) { + $viewmode ="flat"; + // hide link to theaded view + $xoopsTpl->assign('lang_threaded', "" ); + $xoopsTpl->assign('lang_flat', _FLAT ); +} else { + $xoopsTpl->assign(array('lang_threaded' => _THREADED, 'lang_flat' => _FLAT)); +} + +if ( $can_post == 1 ) { + $xoopsTpl->assign(array('viewer_can_post' => true, 'forum_post_or_register' => "\""._MD_POSTNEW."\"")); +} else { + $xoopsTpl->assign('viewer_can_post', false); + if ( $show_reg == 1 ) { + $xoopsTpl->assign('forum_post_or_register', ''._MD_REGTOPOST.''); + } else { + $xoopsTpl->assign('forum_post_or_register', ''); + } +} + +if ( $viewmode == "thread" ) { + $start = 0; + $postsArray = ForumPosts::getAllPosts($topic_id, "ASC", $total_posts, $start); + $xoopsTpl->assign('topic_viewmode', 'thread'); + + $newObjArr = array(); + foreach ( $postsArray as $eachpost ) { + $key1 = $eachpost->postid(); + if ( (!empty($post_id) && $post_id == $key1) || ( empty($post_id) && $eachpost->parent() == 0 ) ) { + $post_text = $eachpost->text(); + if ( 0 != $eachpost->uid() ) { + $eachposter = new XoopsUser($eachpost->uid()); + $poster_rank = $eachposter->rank(); + if ( $poster_rank['image'] != "" ) { + $poster_rank['image'] = ""; + } + if ( $eachposter->isActive() ) { + $poster_status = $eachposter->isOnline() ? _MD_ONLINE : ''; + $posterarr = array('poster_uid' => $eachposter->getVar('uid'), 'poster_uname' => ''.$eachposter->getVar('uname').'', 'poster_avatar' => $eachposter->getVar('user_avatar'), 'poster_from' => $eachposter->getVar('user_from'), 'poster_regdate' => formatTimestamp($eachposter->getVar('user_regdate'), 's'), 'poster_postnum' => $eachposter->getVar('posts'), 'poster_sendpmtext' => sprintf(_SENDPMTO,$eachposter->getVar('uname')), 'poster_rank_title' => $poster_rank['title'], 'poster_rank_image' => $poster_rank['image'], 'poster_status' => $poster_status); + if ( 1 == $forumdata['allow_sig'] && $eachpost->attachsig() == 1 && $eachposter->attachsig() == 1 ) { + $myts =& MytextSanitizer::getInstance(); + $post_text .= "


----------------
". $myts->makeTareaData4Show($eachposter->getVar("user_sig", "N"), 0, 1, 1)."

"; + } + } else { + $posterarr = array('poster_uid' =>0, 'poster_uname' => $xoopsConfig['anonymous'], 'poster_avatar' => '', 'poster_from' => '', 'poster_regdate' => '', 'poster_postnum' => '', 'poster_sendpmtext' => '', 'poster_rank_title' => '', 'poster_rank_image' => ''); + } + } else { + $posterarr = array('poster_uid' =>0, 'poster_uname' => $xoopsConfig['anonymous'], 'poster_avatar' => '', 'poster_from' => '', 'poster_regdate' => '', 'poster_postnum' => '', 'poster_sendpmtext' => '', 'poster_rank_title' => '', 'poster_rank_image' => ''); + } + $posticon = $eachpost->icon(); + if ( isset($posticon) && $posticon != '' ) { + $post_image = ''; + } else { + $post_image = ''; + } + $xoopsTpl->append('topic_posts', array_merge($posterarr, array('post_id' => $eachpost->postid(), 'post_parent_id' => $eachpost->parent(), 'post_date' => formatTimestamp($eachpost->posttime(), 'm'), 'post_poster_ip'=> $eachpost->posterip(), 'post_image' => $post_image, 'post_title' => $eachpost->subject(), 'post_text' => $post_text))); + } + $newObjArr[$key1]['obj'] = $eachpost; + $key2 = $eachpost->parent(); + $newObjArr[$key2]['replies'][] = $key1; + $newObjArr[$key2]['leaf'] = $key1; + } + showTree($newObjArr, $post_id); + $xoopsTpl->assign(array('lang_subject' => _MD_SUBJECT, 'lang_date' => _MD_DATE)); +} else { + $xoopsTpl->assign(array('topic_viewmode' => 'flat', 'lang_top' => _MD_TOP, 'lang_subject' => _MD_SUBJECT, 'lang_bottom' => _MD_BOTTOM)); + $postsArray = ForumPosts::getAllPosts($topic_id, $order, $forumdata['posts_per_page'], $start, $post_id); + $foundusers = array(); + foreach ( $postsArray as $eachpost ) { + $post_text = $eachpost->text(); + if ( 0 != $eachpost->uid() ) { + if (!isset($foundusers['user'.$eachpost->uid()])) { + $eachposter = new XoopsUser($eachpost->uid()); + $foundusers['user'.$eachpost->uid()] =& $eachposter; + } else { + $eachposter =& $foundusers['user'.$eachpost->uid()]; + } + $poster_rank = $eachposter->rank(); + if ( $poster_rank['image'] != '' ) { + $poster_rank['image'] = ''; + } + if ( $eachposter->isActive() ) { + $poster_status = $eachposter->isOnline() ? _MD_ONLINE : ''; + $posterarr = array('poster_uid' => $eachposter->getVar('uid'), 'poster_uname' => ''.$eachposter->getVar('uname').'', 'poster_avatar' => $eachposter->getVar('user_avatar'), 'poster_from' => $eachposter->getVar('user_from'), 'poster_regdate' => formatTimestamp($eachposter->getVar('user_regdate'), 's'), 'poster_postnum' => $eachposter->getVar('posts'), 'poster_sendpmtext' => sprintf(_SENDPMTO,$eachposter->getVar('uname')), 'poster_rank_title' => $poster_rank['title'], 'poster_rank_image' => $poster_rank['image'], 'poster_status' => $poster_status); + if ( 1 == $forumdata['allow_sig'] && $eachpost->attachsig() == 1 && $eachposter->attachsig() == 1 ) { + $myts =& MytextSanitizer::getInstance(); + $post_text .= '


----------------
'. $myts->makeTareaData4Show($eachposter->getVar('user_sig', 'N'), 0, 1, 1).'

'; + } + } else { + $posterarr = array('poster_uid' =>0, 'poster_uname' => $xoopsConfig['anonymous'], 'poster_avatar' => '', 'poster_from' => '', 'poster_regdate' => '', 'poster_postnum' => '', 'poster_sendpmtext' => '', 'poster_rank_title' => '', 'poster_rank_image' => ''); + } + } else { + $posterarr = array('poster_uid' =>0, 'poster_uname' => $xoopsConfig['anonymous'], 'poster_avatar' => '', 'poster_from' => '', 'poster_regdate' => '', 'poster_postnum' => '', 'poster_sendpmtext' => '', 'poster_rank_title' => '', 'poster_rank_image' => ''); + } + $posticon = $eachpost->icon(); + if ( isset($posticon) && $posticon != '' ) { + $post_image = ''; + } else { + $post_image = ''; + } + $xoopsTpl->append('topic_posts', array_merge($posterarr, array('post_id' => $eachpost->postid(), 'post_parent_id' => $eachpost->parent(), 'post_date' => formatTimestamp($eachpost->posttime(), 'm'), 'post_poster_ip'=> $eachpost->posterip(), 'post_image' => $post_image, 'post_title' => $eachpost->subject(), 'post_text' => $post_text))); + unset($eachposter); + } + if ( $total_posts > $forumdata['posts_per_page'] ) { + include XOOPS_ROOT_PATH.'/class/pagenav.php'; + $nav = new XoopsPageNav($total_posts, $forumdata['posts_per_page'], $start, "start", 'topic_id='.$topic_id.'&forum='.$forum.'&viewmode='.$viewmode.'&order='.$order); + $xoopsTpl->assign('forum_page_nav', $nav->renderNav(4)); + } else { + $xoopsTpl->assign('forum_page_nav', ''); + } +} + +// create jump box +$xoopsTpl->assign(array('forum_jumpbox' => make_jumpbox($forum), 'lang_forum_index' => sprintf(_MD_FORUMINDEX,$xoopsConfig['sitename']), 'lang_from' => _MD_FROM, 'lang_joined' => _MD_JOINED, 'lang_posts' => _MD_POSTS, 'lang_poster' => _MD_POSTER, 'lang_thread' => _MD_THREAD, 'lang_edit' => _EDIT, 'lang_delete' => _DELETE, 'lang_reply' => _REPLY, 'lang_postedon' => _MD_POSTEDON)); + +// Read in cookie of 'lastread' times +$topic_lastread = newbb_get_topics_viewed(); +// if cookie is not set for this topic, update view count and set cookie +if ( empty($topic_lastread[$topic_id]) ) { + $sql = 'UPDATE '.$xoopsDB->prefix('bb_topics').' SET topic_views = topic_views + 1 WHERE topic_id ='. $topic_id; + $xoopsDB->queryF($sql); +} +// Update cookie +newbb_add_topics_viewed($topic_lastread, $topic_id, time(), $bbCookie['path'], $bbCookie['domain'], $bbCookie['secure']); +include XOOPS_ROOT_PATH.'/footer.php'; +?> From onokazu ¡÷ users.sourceforge.jp Mon Oct 24 20:26:51 2005 From: onokazu ¡÷ users.sourceforge.jp (onokazu) Date: Mon, 24 Oct 2005 20:26:51 +0900 Subject: [xoops-cvslog 589] CVS update: xoops2jp/html/include Message-ID: <20051024112651.282212AC02D@users.sourceforge.jp> Index: xoops2jp/html/include/functions.php diff -u xoops2jp/html/include/functions.php:1.5 xoops2jp/html/include/functions.php:1.5.2.1 --- xoops2jp/html/include/functions.php:1.5 Mon Sep 5 05:46:09 2005 +++ xoops2jp/html/include/functions.php Mon Oct 24 20:26:51 2005 @@ -1,5 +1,5 @@ Index: xoops2jp/html/class/commentrenderer.php diff -u xoops2jp/html/class/commentrenderer.php:1.2 xoops2jp/html/class/commentrenderer.php:1.2.14.1 --- xoops2jp/html/class/commentrenderer.php:1.2 Fri Mar 18 21:51:55 2005 +++ xoops2jp/html/class/commentrenderer.php Mon Oct 24 20:26:50 2005 @@ -1,387 +1,389 @@ - // -// ------------------------------------------------------------------------ // -// This program is free software; you can redistribute it and/or modify // -// it under the terms of the GNU General Public License as published by // -// the Free Software Foundation; either version 2 of the License, or // -// (at your option) any later version. // -// // -// You may not change or alter any portion of this comment or credits // -// of supporting developers from this source code or any supporting // -// source code which is considered copyrighted (c) material of the // -// original comment or credit authors. // -// // -// This program is distributed in the hope that it will be useful, // -// but WITHOUT ANY WARRANTY; without even the implied warranty of // -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // -// GNU General Public License for more details. // -// // -// You should have received a copy of the GNU General Public License // -// along with this program; if not, write to the Free Software // -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA // -// ------------------------------------------------------------------------ // -// Author: Kazumi Ono (AKA onokazu) // -// URL: http://www.xoops.org/ http://jp.xoops.org/ http://www.myweb.ne.jp/ // -// Project: The XOOPS Project (http://www.xoops.org/) // -// ------------------------------------------------------------------------- // -/** - * Display comments - * - * @package kernel - * @subpackage comment - * - * @author Kazumi Ono - * @copyright (c) 2000-2003 The Xoops Project - www.xoops.org - */ -class XoopsCommentRenderer { - - /**#@+ - * @access private - */ - var $_tpl; - var $_comments = null; - var $_useIcons = true; - var $_doIconCheck = false; - var $_memberHandler; - var $_statusText; - /**#@-*/ - - /** - * Constructor - * - * @param object &$tpl - * @param boolean $use_icons - * @param boolean $do_iconcheck - **/ - function XoopsCommentRenderer(&$tpl, $use_icons = true, $do_iconcheck = false) - { - $this->_tpl =& $tpl; - $this->_useIcons = $use_icons; - $this->_doIconCheck = $do_iconcheck; - $this->_memberHandler =& xoops_gethandler('member'); - $this->_statusText = array(XOOPS_COMMENT_PENDING => ''._CM_PENDING.'', XOOPS_COMMENT_ACTIVE => ''._CM_ACTIVE.'', XOOPS_COMMENT_HIDDEN => ''._CM_HIDDEN.''); - } - - /** - * Access the only instance of this class - * - * @param object $tpl reference to a {@link Smarty} object - * @param boolean $use_icons - * @param boolean $do_iconcheck - * @return - **/ - function &instance(&$tpl, $use_icons = true, $do_iconcheck = false) - { - static $instance; - if (!isset($instance)) { - $instance = new XoopsCommentRenderer($tpl, $use_icons, $do_iconcheck); - } - return $instance; - } - - /** - * Accessor - * - * @param object &$comments_arr array of {@link XoopsComment} objects - **/ - function setComments(&$comments_arr) - { - if (isset($this->_comments)) { - unset($this->_comments); - } - $this->_comments =& $comments_arr; - } - - /** - * Render the comments in flat view - * - * @param boolean $admin_view - **/ - function renderFlatView($admin_view = false) - { - $count = count($this->_comments); - for ($i = 0; $i < $count; $i++) { - if (false != $this->_useIcons) { - $title = $this->_getTitleIcon($this->_comments[$i]->getVar('com_icon')).' '.$this->_comments[$i]->getVar('com_title'); - } else { - $title = $this->_comments[$i]->getVar('com_title'); - } - $poster = $this->_getPosterArray($this->_comments[$i]->getVar('com_uid')); - if (false != $admin_view) { - $text = $this->_comments[$i]->getVar('com_text').'
'._CM_STATUS.': '.$this->_statusText[$this->_comments[$i]->getVar('com_status')].'
IP: '.$this->_comments[$i]->getVar('com_ip').'
'; - } else { - // hide comments that are not active - if (XOOPS_COMMENT_ACTIVE != $this->_comments[$i]->getVar('com_status')) { - continue; - } else { - $text = $this->_comments[$i]->getVar('com_text'); - } - } - $this->_tpl->append('comments', array('id' => $this->_comments[$i]->getVar('com_id'), 'title' => $title, 'text' => $text, 'date_posted' => formatTimestamp($this->_comments[$i]->getVar('com_created'), 'm'), 'date_modified' => formatTimestamp($this->_comments[$i]->getVar('com_modified'), 'm'), 'poster' => $poster)); - } - } - - /** - * Render the comments in thread view - * - * This method calls itself recursively - * - * @param integer $comment_id Should be "0" when called by client - * @param boolean $admin_view - * @param boolean $show_nav - **/ - function renderThreadView($comment_id = 0, $admin_view = false, $show_nav = true) - { - include_once XOOPS_ROOT_PATH.'/class/tree.php'; - // construct comment tree - $xot = new XoopsObjectTree($this->_comments, 'com_id', 'com_pid', 'com_rootid'); - $tree =& $xot->getTree(); - - if (false != $this->_useIcons) { - $title = $this->_getTitleIcon($tree[$comment_id]['obj']->getVar('com_icon')).' '.$tree[$comment_id]['obj']->getVar('com_title'); - } else { - $title = $tree[$comment_id]['obj']->getVar('com_title'); - } - if (false != $show_nav && $tree[$comment_id]['obj']->getVar('com_pid') != 0) { - $this->_tpl->assign('lang_top', _CM_TOP); - $this->_tpl->assign('lang_parent', _CM_PARENT); - $this->_tpl->assign('show_threadnav', true); - } else { - $this->_tpl->assign('show_threadnav', false); - } - if (false != $admin_view) { - // admins can see all - $text = $tree[$comment_id]['obj']->getVar('com_text').'
'._CM_STATUS.': '.$this->_statusText[$tree[$comment_id]['obj']->getVar('com_status')].'
IP: '.$tree[$comment_id]['obj']->getVar('com_ip').'
'; - } else { - // hide comments that are not active - if (XOOPS_COMMENT_ACTIVE != $tree[$comment_id]['obj']->getVar('com_status')) { - // if there are any child comments, display them as root comments - if (isset($tree[$comment_id]['child']) && !empty($tree[$comment_id]['child'])) { - foreach ($tree[$comment_id]['child'] as $child_id) { - $this->renderThreadView($child_id, $admin_view, false); - } - } - return; - } else { - $text = $tree[$comment_id]['obj']->getVar('com_text'); - } - } - $replies = array(); - $this->_renderThreadReplies($tree, $comment_id, $replies, '  ', $admin_view); - $show_replies = (count($replies) > 0) ? true : false; - $this->_tpl->append('comments', array('pid' => $tree[$comment_id]['obj']->getVar('com_pid'), 'id' => $tree[$comment_id]['obj']->getVar('com_id'), 'itemid' => $tree[$comment_id]['obj']->getVar('com_itemid'), 'rootid' => $tree[$comment_id]['obj']->getVar('com_rootid'), 'title' => $title, 'text' => $text, 'date_posted' => formatTimestamp($tree[$comment_id]['obj']->getVar('com_created'), 'm'), 'date_modified' => formatTimestamp($tree[$comment_id]['obj']->getVar('com_modified'), 'm'), 'poster' => $this->_getPosterArray($tree[$comment_id]['obj']->getVar('com_uid')), 'replies' => $replies, 'show_replies' => $show_replies)); - } - - /** - * Render replies to a thread - * - * @param array &$thread - * @param int $key - * @param array $replies - * @param string $prefix - * @param bool $admin_view - * @param integer $depth - * @param string $current_prefix - * - * @access private - **/ - function _renderThreadReplies(&$thread, $key, &$replies, $prefix, $admin_view, $depth = 0, $current_prefix = '') - { - if ($depth > 0) { - if (false != $this->_useIcons) { - $title = $this->_getTitleIcon($thread[$key]['obj']->getVar('com_icon')).' '.$thread[$key]['obj']->getVar('com_title'); - } else { - $title = $thread[$key]['obj']->getVar('com_title'); - } - $title = (false != $admin_view) ? $title.' '.$this->_statusText[$thread[$key]['obj']->getVar('com_status')] : $title; - $replies[] = array('id' => $key, 'prefix' => $current_prefix, 'date_posted' => formatTimestamp($thread[$key]['obj']->getVar('com_created'), 'm'), 'title' => $title, 'root_id' => $thread[$key]['obj']->getVar('com_rootid'), 'status' => $this->_statusText[$thread[$key]['obj']->getVar('com_status')], 'poster' => $this->_getPosterName($thread[$key]['obj']->getVar('com_uid'))); - $current_prefix .= $prefix; - } - if (isset($thread[$key]['child']) && !empty($thread[$key]['child'])) { - $depth++; - foreach ($thread[$key]['child'] as $childkey) { - if (!$admin_view && $thread[$childkey]['obj']->getVar('com_status') != XOOPS_COMMENT_ACTIVE) { - // skip this comment if it is not active and continue on processing its child comments instead - if (isset($thread[$childkey]['child']) && !empty($thread[$childkey]['child'])) { - foreach ($thread[$childkey]['child'] as $childchildkey) { - $this->_renderThreadReplies($thread, $childchildkey, $replies, $prefix, $admin_view, $depth); - } - } - } else { - $this->_renderThreadReplies($thread, $childkey, $replies, $prefix, $admin_view, $depth, $current_prefix); - } - } - } - } - - /** - * Render comments in nested view - * - * Danger: Recursive! - * - * @param integer $comment_id Always "0" when called by client. - * @param boolean $admin_view - **/ - function renderNestView($comment_id = 0, $admin_view = false) - { - include_once XOOPS_ROOT_PATH.'/class/tree.php'; - $xot = new XoopsObjectTree($this->_comments, 'com_id', 'com_pid', 'com_rootid'); - $tree =& $xot->getTree(); - if (false != $this->_useIcons) { - $title = $this->_getTitleIcon($tree[$comment_id]['obj']->getVar('com_icon')).' '.$tree[$comment_id]['obj']->getVar('com_title'); - } else { - $title = $tree[$comment_id]['obj']->getVar('com_title'); - } - if (false != $admin_view) { - $text = $tree[$comment_id]['obj']->getVar('com_text').'
'._CM_STATUS.': '.$this->_statusText[$tree[$comment_id]['obj']->getVar('com_status')].'
IP: '.$tree[$comment_id]['obj']->getVar('com_ip').'
'; - } else { - // skip this comment if it is not active and continue on processing its child comments instead - if (XOOPS_COMMENT_ACTIVE != $tree[$comment_id]['obj']->getVar('com_status')) { - // if there are any child comments, display them as root comments - if (isset($tree[$comment_id]['child']) && !empty($tree[$comment_id]['child'])) { - foreach ($tree[$comment_id]['child'] as $child_id) { - $this->renderNestView($child_id, $admin_view); - } - } - return; - } else { - $text = $tree[$comment_id]['obj']->getVar('com_text'); - } - } - $replies = array(); - $this->_renderNestReplies($tree, $comment_id, $replies, 25, $admin_view); - $this->_tpl->append('comments', array('pid' => $tree[$comment_id]['obj']->getVar('com_pid'), 'id' => $tree[$comment_id]['obj']->getVar('com_id'), 'itemid' => $tree[$comment_id]['obj']->getVar('com_itemid'), 'rootid' => $tree[$comment_id]['obj']->getVar('com_rootid'), 'title' => $title, 'text' => $text, 'date_posted' => formatTimestamp($tree[$comment_id]['obj']->getVar('com_created'), 'm'), 'date_modified' => formatTimestamp($tree[$comment_id]['obj']->getVar('com_modified'), 'm'), 'poster' => $this->_getPosterArray($tree[$comment_id]['obj']->getVar('com_uid')), 'replies' => $replies)); - } - - /** - * Render replies in nested view - * - * @param array $thread - * @param int $key - * @param array $replies - * @param string $prefix - * @param bool $admin_view - * @param integer $depth - * - * @access private - **/ - function _renderNestReplies(&$thread, $key, &$replies, $prefix, $admin_view, $depth = 0) - { - if ($depth > 0) { - if (false != $this->_useIcons) { - $title = $this->_getTitleIcon($thread[$key]['obj']->getVar('com_icon')).' '.$thread[$key]['obj']->getVar('com_title'); - } else { - $title = $thread[$key]['obj']->getVar('com_title'); - } - $text = (false != $admin_view) ? $thread[$key]['obj']->getVar('com_text').'
'._CM_STATUS.': '.$this->_statusText[$thread[$key]['obj']->getVar('com_status')].'
IP: '.$thread[$key]['obj']->getVar('com_ip').'
' : $thread[$key]['obj']->getVar('com_text'); - $replies[] = array('id' => $key, 'prefix' => $prefix, 'pid' => $thread[$key]['obj']->getVar('com_pid'), 'itemid' => $thread[$key]['obj']->getVar('com_itemid'), 'rootid' => $thread[$key]['obj']->getVar('com_rootid'), 'title' => $title, 'text' => $text, 'date_posted' => formatTimestamp($thread[$key]['obj']->getVar('com_created'), 'm'), 'date_modified' => formatTimestamp($thread[$key]['obj']->getVar('com_modified'), 'm'), 'poster' => $this->_getPosterArray($thread[$key]['obj']->getVar('com_uid'))); - - $prefix = $prefix + 25; - } - if (isset($thread[$key]['child']) && !empty($thread[$key]['child'])) { - $depth++; - foreach ($thread[$key]['child'] as $childkey) { - if (!$admin_view && $thread[$childkey]['obj']->getVar('com_status') != XOOPS_COMMENT_ACTIVE) { - // skip this comment if it is not active and continue on processing its child comments instead - if (isset($thread[$childkey]['child']) && !empty($thread[$childkey]['child'])) { - foreach ($thread[$childkey]['child'] as $childchildkey) { - $this->_renderNestReplies($thread, $childchildkey, $replies, $prefix, $admin_view, $depth); - } - } - } else { - $this->_renderNestReplies($thread, $childkey, $replies, $prefix, $admin_view, $depth); - } - } - } - } - - - /** - * Get the name of the poster - * - * @param int $poster_id - * @return string - * - * @access private - **/ - function _getPosterName($poster_id) - { - $poster['id'] = intval($poster_id); - if ($poster['id'] > 0) { - $com_poster =& $this->_memberHandler->getUser($poster_id); - if (is_object($com_poster)) { - $poster['uname'] = ''.$com_poster->getVar('uname').''; - return $poster; - } - } - $poster['id'] = 0; // to cope with deleted user accounts - $poster['uname'] = $GLOBALS['xoopsConfig']['anonymous']; - return $poster; - } - - /** - * Get an array with info about the poster - * - * @param int $poster_id - * @return array - * - * @access private - **/ - function _getPosterArray($poster_id) - { - $poster['id'] = intval($poster_id); - if ($poster['id'] > 0) { - $com_poster =& $this->_memberHandler->getUser($poster['id']); - if (is_object($com_poster)) { - $poster['uname'] = ''.$com_poster->getVar('uname').''; - $poster_rank = $com_poster->rank(); - $poster['rank_image'] = ($poster_rank['image'] != '') ? $poster_rank['image'] : 'blank.gif'; - $poster['rank_title'] = $poster_rank['title']; - $poster['avatar'] = $com_poster->getVar('user_avatar'); - $poster['regdate'] = formatTimestamp($com_poster->getVar('user_regdate'), 's'); - $poster['from'] = $com_poster->getVar('user_from'); - $poster['postnum'] = $com_poster->getVar('posts'); - $poster['status'] = $com_poster->isOnline() ? _CM_ONLINE : ''; - return $poster; - } - } - $poster['id'] = 0; // to cope with deleted user accounts - $poster['uname'] = $GLOBALS['xoopsConfig']['anonymous']; - $poster['rank_title'] = ''; - $poster['avatar'] = 'blank.gif'; - $poster['regdate'] = ''; - $poster['from'] = ''; - $poster['postnum'] = 0; - $poster['status'] = ''; - return $poster; - } - - /** - * Get the IMG tag for the title icon - * - * @param string $icon_image - * @return string HTML IMG tag - * - * @access private - **/ - function _getTitleIcon($icon_image) - { - if ($icon_image != '') { - if (false != $this->_doIconCheck) { - if (!file_exists(XOOPS_URL.'/images/subject/'.$icon_image)) { - return ''; - } else { - return ''; - } - } else { - return ''; - } - } - return ''; - } -} + // +// ------------------------------------------------------------------------ // +// This program is free software; you can redistribute it and/or modify // +// it under the terms of the GNU General Public License as published by // +// the Free Software Foundation; either version 2 of the License, or // +// (at your option) any later version. // +// // +// You may not change or alter any portion of this comment or credits // +// of supporting developers from this source code or any supporting // +// source code which is considered copyrighted (c) material of the // +// original comment or credit authors. // +// // +// This program is distributed in the hope that it will be useful, // +// but WITHOUT ANY WARRANTY; without even the implied warranty of // +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // +// GNU General Public License for more details. // +// // +// You should have received a copy of the GNU General Public License // +// along with this program; if not, write to the Free Software // +// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA // +// ------------------------------------------------------------------------ // +// Author: Kazumi Ono (AKA onokazu) // +// URL: http://www.xoops.org/ http://jp.xoops.org/ http://www.myweb.ne.jp/ // +// Project: The XOOPS Project (http://www.xoops.org/) // +// ------------------------------------------------------------------------- // +/** + * Display comments + * + * @package kernel + * @subpackage comment + * + * @author Kazumi Ono + * @copyright (c) 2000-2003 The Xoops Project - www.xoops.org + */ +class XoopsCommentRenderer { + + /**#@+ + * @access private + */ + var $_tpl; + var $_comments = null; + var $_useIcons = true; + var $_doIconCheck = false; + var $_memberHandler; + var $_statusText; + /**#@-*/ + + /** + * Constructor + * + * @param object &$tpl + * @param boolean $use_icons + * @param boolean $do_iconcheck + **/ + function XoopsCommentRenderer(&$tpl, $use_icons = true, $do_iconcheck = false) + { + $this->_tpl =& $tpl; + $this->_useIcons = $use_icons; + $this->_doIconCheck = $do_iconcheck; + $this->_memberHandler =& xoops_gethandler('member'); + $this->_statusText = array(XOOPS_COMMENT_PENDING => ''._CM_PENDING.'', XOOPS_COMMENT_ACTIVE => ''._CM_ACTIVE.'', XOOPS_COMMENT_HIDDEN => ''._CM_HIDDEN.''); + } + + /** + * Access the only instance of this class + * + * @param object $tpl reference to a {@link Smarty} object + * @param boolean $use_icons + * @param boolean $do_iconcheck + * @return + **/ + function &instance(&$tpl, $use_icons = true, $do_iconcheck = false) + { + static $instance; + if (!isset($instance)) { + $instance = new XoopsCommentRenderer($tpl, $use_icons, $do_iconcheck); + } + return $instance; + } + + /** + * Accessor + * + * @param object &$comments_arr array of {@link XoopsComment} objects + **/ + function setComments(&$comments_arr) + { + if (isset($this->_comments)) { + unset($this->_comments); + } + $this->_comments =& $comments_arr; + } + + /** + * Render the comments in flat view + * + * @param boolean $admin_view + **/ + function renderFlatView($admin_view = false) + { + $count = count($this->_comments); + for ($i = 0; $i < $count; $i++) { + if (false != $this->_useIcons) { + $title = $this->_getTitleIcon($this->_comments[$i]->getVar('com_icon')).' '.$this->_comments[$i]->getVar('com_title'); + } else { + $title = $this->_comments[$i]->getVar('com_title'); + } + $poster = $this->_getPosterArray($this->_comments[$i]->getVar('com_uid')); + if (false != $admin_view) { + $text = $this->_comments[$i]->getVar('com_text').'
'._CM_STATUS.': '.$this->_statusText[$this->_comments[$i]->getVar('com_status')].'
IP: '.$this->_comments[$i]->getVar('com_ip').'
'; + } else { + // hide comments that are not active + if (XOOPS_COMMENT_ACTIVE != $this->_comments[$i]->getVar('com_status')) { + continue; + } else { + $text = $this->_comments[$i]->getVar('com_text'); + } + } + $this->_tpl->append('comments', array('id' => $this->_comments[$i]->getVar('com_id'), 'title' => $title, 'text' => $text, 'date_posted' => formatTimestamp($this->_comments[$i]->getVar('com_created'), 'm'), 'date_modified' => formatTimestamp($this->_comments[$i]->getVar('com_modified'), 'm'), 'poster' => $poster)); + } + } + + /** + * Render the comments in thread view + * + * This method calls itself recursively + * + * @param integer $comment_id Should be "0" when called by client + * @param boolean $admin_view + * @param boolean $show_nav + **/ + function renderThreadView($comment_id = 0, $admin_view = false, $show_nav = true) + { + include_once XOOPS_ROOT_PATH.'/class/tree.php'; + // construct comment tree + $xot = new XoopsObjectTree($this->_comments, 'com_id', 'com_pid', 'com_rootid'); + $tree =& $xot->getTree(); + + if (false != $this->_useIcons) { + $title = $this->_getTitleIcon($tree[$comment_id]['obj']->getVar('com_icon')).' '.$tree[$comment_id]['obj']->getVar('com_title'); + } else { + $title = $tree[$comment_id]['obj']->getVar('com_title'); + } + if (false != $show_nav && $tree[$comment_id]['obj']->getVar('com_pid') != 0) { + $this->_tpl->assign('lang_top', _CM_TOP); + $this->_tpl->assign('lang_parent', _CM_PARENT); + $this->_tpl->assign('show_threadnav', true); + } else { + $this->_tpl->assign('show_threadnav', false); + } + if (false != $admin_view) { + // admins can see all + $text = $tree[$comment_id]['obj']->getVar('com_text').'
'._CM_STATUS.': '.$this->_statusText[$tree[$comment_id]['obj']->getVar('com_status')].'
IP: '.$tree[$comment_id]['obj']->getVar('com_ip').'
'; + } else { + // hide comments that are not active + if (XOOPS_COMMENT_ACTIVE != $tree[$comment_id]['obj']->getVar('com_status')) { + // if there are any child comments, display them as root comments + if (isset($tree[$comment_id]['child']) && !empty($tree[$comment_id]['child'])) { + foreach ($tree[$comment_id]['child'] as $child_id) { + $this->renderThreadView($child_id, $admin_view, false); + } + } + return; + } else { + $text = $tree[$comment_id]['obj']->getVar('com_text'); + } + } + $replies = array(); + $this->_renderThreadReplies($tree, $comment_id, $replies, '  ', $admin_view); + $show_replies = (count($replies) > 0) ? true : false; + $this->_tpl->append('comments', array('pid' => $tree[$comment_id]['obj']->getVar('com_pid'), 'id' => $tree[$comment_id]['obj']->getVar('com_id'), 'itemid' => $tree[$comment_id]['obj']->getVar('com_itemid'), 'rootid' => $tree[$comment_id]['obj']->getVar('com_rootid'), 'title' => $title, 'text' => $text, 'date_posted' => formatTimestamp($tree[$comment_id]['obj']->getVar('com_created'), 'm'), 'date_modified' => formatTimestamp($tree[$comment_id]['obj']->getVar('com_modified'), 'm'), 'poster' => $this->_getPosterArray($tree[$comment_id]['obj']->getVar('com_uid')), 'replies' => $replies, 'show_replies' => $show_replies)); + } + + /** + * Render replies to a thread + * + * @param array &$thread + * @param int $key + * @param array $replies + * @param string $prefix + * @param bool $admin_view + * @param integer $depth + * @param string $current_prefix + * + * @access private + **/ + function _renderThreadReplies(&$thread, $key, &$replies, $prefix, $admin_view, $depth = 0, $current_prefix = '') + { + if ($depth > 0) { + if (false != $this->_useIcons) { + $title = $this->_getTitleIcon($thread[$key]['obj']->getVar('com_icon')).' '.$thread[$key]['obj']->getVar('com_title'); + } else { + $title = $thread[$key]['obj']->getVar('com_title'); + } + $title = (false != $admin_view) ? $title.' '.$this->_statusText[$thread[$key]['obj']->getVar('com_status')] : $title; + $replies[] = array('id' => $key, 'prefix' => $current_prefix, 'date_posted' => formatTimestamp($thread[$key]['obj']->getVar('com_created'), 'm'), 'title' => $title, 'root_id' => $thread[$key]['obj']->getVar('com_rootid'), 'status' => $this->_statusText[$thread[$key]['obj']->getVar('com_status')], 'poster' => $this->_getPosterName($thread[$key]['obj']->getVar('com_uid'))); + $current_prefix .= $prefix; + } + if (isset($thread[$key]['child']) && !empty($thread[$key]['child'])) { + $depth++; + foreach ($thread[$key]['child'] as $childkey) { + if (!$admin_view && $thread[$childkey]['obj']->getVar('com_status') != XOOPS_COMMENT_ACTIVE) { + // skip this comment if it is not active and continue on processing its child comments instead + if (isset($thread[$childkey]['child']) && !empty($thread[$childkey]['child'])) { + foreach ($thread[$childkey]['child'] as $childchildkey) { + $this->_renderThreadReplies($thread, $childchildkey, $replies, $prefix, $admin_view, $depth); + } + } + } else { + $this->_renderThreadReplies($thread, $childkey, $replies, $prefix, $admin_view, $depth, $current_prefix); + } + } + } + } + + /** + * Render comments in nested view + * + * Danger: Recursive! + * + * @param integer $comment_id Always "0" when called by client. + * @param boolean $admin_view + **/ + function renderNestView($comment_id = 0, $admin_view = false) + { + include_once XOOPS_ROOT_PATH.'/class/tree.php'; + $xot = new XoopsObjectTree($this->_comments, 'com_id', 'com_pid', 'com_rootid'); + $tree =& $xot->getTree(); + if (false != $this->_useIcons) { + $title = $this->_getTitleIcon($tree[$comment_id]['obj']->getVar('com_icon')).' '.$tree[$comment_id]['obj']->getVar('com_title'); + } else { + $title = $tree[$comment_id]['obj']->getVar('com_title'); + } + if (false != $admin_view) { + $text = $tree[$comment_id]['obj']->getVar('com_text').'
'._CM_STATUS.': '.$this->_statusText[$tree[$comment_id]['obj']->getVar('com_status')].'
IP: '.$tree[$comment_id]['obj']->getVar('com_ip').'
'; + } else { + // skip this comment if it is not active and continue on processing its child comments instead + if (XOOPS_COMMENT_ACTIVE != $tree[$comment_id]['obj']->getVar('com_status')) { + // if there are any child comments, display them as root comments + if (isset($tree[$comment_id]['child']) && !empty($tree[$comment_id]['child'])) { + foreach ($tree[$comment_id]['child'] as $child_id) { + $this->renderNestView($child_id, $admin_view); + } + } + return; + } else { + $text = $tree[$comment_id]['obj']->getVar('com_text'); + } + } + $replies = array(); + $this->_renderNestReplies($tree, $comment_id, $replies, 25, $admin_view); + $this->_tpl->append('comments', array('pid' => $tree[$comment_id]['obj']->getVar('com_pid'), 'id' => $tree[$comment_id]['obj']->getVar('com_id'), 'itemid' => $tree[$comment_id]['obj']->getVar('com_itemid'), 'rootid' => $tree[$comment_id]['obj']->getVar('com_rootid'), 'title' => $title, 'text' => $text, 'date_posted' => formatTimestamp($tree[$comment_id]['obj']->getVar('com_created'), 'm'), 'date_modified' => formatTimestamp($tree[$comment_id]['obj']->getVar('com_modified'), 'm'), 'poster' => $this->_getPosterArray($tree[$comment_id]['obj']->getVar('com_uid')), 'replies' => $replies)); + } + + /** + * Render replies in nested view + * + * @param array $thread + * @param int $key + * @param array $replies + * @param string $prefix + * @param bool $admin_view + * @param integer $depth + * + * @access private + **/ + function _renderNestReplies(&$thread, $key, &$replies, $prefix, $admin_view, $depth = 0) + { + if ($depth > 0) { + if (false != $this->_useIcons) { + $title = $this->_getTitleIcon($thread[$key]['obj']->getVar('com_icon')).' '.$thread[$key]['obj']->getVar('com_title'); + } else { + $title = $thread[$key]['obj']->getVar('com_title'); + } + $text = (false != $admin_view) ? $thread[$key]['obj']->getVar('com_text').'
'._CM_STATUS.': '.$this->_statusText[$thread[$key]['obj']->getVar('com_status')].'
IP: '.$thread[$key]['obj']->getVar('com_ip').'
' : $thread[$key]['obj']->getVar('com_text'); + $replies[] = array('id' => $key, 'prefix' => $prefix, 'pid' => $thread[$key]['obj']->getVar('com_pid'), 'itemid' => $thread[$key]['obj']->getVar('com_itemid'), 'rootid' => $thread[$key]['obj']->getVar('com_rootid'), 'title' => $title, 'text' => $text, 'date_posted' => formatTimestamp($thread[$key]['obj']->getVar('com_created'), 'm'), 'date_modified' => formatTimestamp($thread[$key]['obj']->getVar('com_modified'), 'm'), 'poster' => $this->_getPosterArray($thread[$key]['obj']->getVar('com_uid'))); + + $prefix = $prefix + 25; + } + if (isset($thread[$key]['child']) && !empty($thread[$key]['child'])) { + $depth++; + foreach ($thread[$key]['child'] as $childkey) { + if (!$admin_view && $thread[$childkey]['obj']->getVar('com_status') != XOOPS_COMMENT_ACTIVE) { + // skip this comment if it is not active and continue on processing its child comments instead + if (isset($thread[$childkey]['child']) && !empty($thread[$childkey]['child'])) { + foreach ($thread[$childkey]['child'] as $childchildkey) { + $this->_renderNestReplies($thread, $childchildkey, $replies, $prefix, $admin_view, $depth); + } + } + } else { + $this->_renderNestReplies($thread, $childkey, $replies, $prefix, $admin_view, $depth); + } + } + } + } + + + /** + * Get the name of the poster + * + * @param int $poster_id + * @return string + * + * @access private + **/ + function _getPosterName($poster_id) + { + $poster['id'] = intval($poster_id); + if ($poster['id'] > 0) { + $com_poster =& $this->_memberHandler->getUser($poster_id); + if (is_object($com_poster)) { + $poster['uname'] = ''.$com_poster->getVar('uname').''; + return $poster; + } + } + $poster['id'] = 0; // to cope with deleted user accounts + $poster['uname'] = $GLOBALS['xoopsConfig']['anonymous']; + return $poster; + } + + /** + * Get an array with info about the poster + * + * @param int $poster_id + * @return array + * + * @access private + **/ + function _getPosterArray($poster_id) + { + $poster['id'] = intval($poster_id); + if ($poster['id'] > 0) { + $com_poster =& $this->_memberHandler->getUser($poster['id']); + if (is_object($com_poster)) { + $poster['uname'] = ''.$com_poster->getVar('uname').''; + $poster_rank = $com_poster->rank(); + $poster['rank_image'] = ($poster_rank['image'] != '') ? $poster_rank['image'] : 'blank.gif'; + $poster['rank_title'] = $poster_rank['title']; + $poster['avatar'] = $com_poster->getVar('user_avatar'); + $poster['regdate'] = formatTimestamp($com_poster->getVar('user_regdate'), 's'); + $poster['from'] = $com_poster->getVar('user_from'); + $poster['postnum'] = $com_poster->getVar('posts'); + $poster['status'] = $com_poster->isOnline() ? _CM_ONLINE : ''; + return $poster; + } + } + $poster['id'] = 0; // to cope with deleted user accounts + $poster['uname'] = $GLOBALS['xoopsConfig']['anonymous']; + $poster['rank_title'] = ''; + $poster['avatar'] = 'blank.gif'; + $poster['regdate'] = ''; + $poster['from'] = ''; + $poster['postnum'] = 0; + $poster['status'] = ''; + return $poster; + } + + /** + * Get the IMG tag for the title icon + * + * @param string $icon_image + * @return string HTML IMG tag + * + * @access private + **/ + function _getTitleIcon($icon_image) + { + $icon_image = trim($icon_image); + if ($icon_image != '') { + $icon_image = htmlspecialchars($icon_image); + if (false != $this->_doIconCheck) { + if (!file_exists(XOOPS_URL.'/images/subject/'.$icon_image)) { + return ''; + } else { + return ''; + } + } else { + return ''; + } + } + return ''; + } +} ?> \ No newline at end of file Index: xoops2jp/html/class/module.textsanitizer.php diff -u xoops2jp/html/class/module.textsanitizer.php:1.5 xoops2jp/html/class/module.textsanitizer.php:1.5.2.1 --- xoops2jp/html/class/module.textsanitizer.php:1.5 Mon Sep 5 05:46:08 2005 +++ xoops2jp/html/class/module.textsanitizer.php Mon Oct 24 20:26:50 2005 @@ -1,568 +1,602 @@ - // -// ------------------------------------------------------------------------ // -// This program is free software; you can redistribute it and/or modify // -// it under the terms of the GNU General Public License as published by // -// the Free Software Foundation; either version 2 of the License, or // -// (at your option) any later version. // -// // -// You may not change or alter any portion of this comment or credits // -// of supporting developers from this source code or any supporting // -// source code which is considered copyrighted (c) material of the // -// original comment or credit authors. // -// // -// This program is distributed in the hope that it will be useful, // -// but WITHOUT ANY WARRANTY; without even the implied warranty of // -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // -// GNU General Public License for more details. // -// // -// You should have received a copy of the GNU General Public License // -// along with this program; if not, write to the Free Software // -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA // -// ------------------------------------------------------------------------ // -// Author: Kazumi Ono (http://www.myweb.ne.jp/, http://jp.xoops.org/) // -// Goghs Cheng (http://www.eqiao.com, http://www.devbeez.com/) // -// Project: The XOOPS Project (http://www.xoops.org/) // -// ------------------------------------------------------------------------- // - -/** - * Class to "clean up" text for various uses - * - * Singleton - * - * @package kernel - * @subpackage core - * - * @author Kazumi Ono - * @author Goghs Cheng - * @copyright (c) 2000-2003 The Xoops Project - www.xoops.org - */ -class MyTextSanitizer -{ - /** - * @var array - */ - var $smileys = array(); - - /** - * - */ - var $censorConf; - - /* - * Constructor of this class - * - * Gets allowed html tags from admin config settings - *
should not be allowed since nl2br will be used - * when storing data. - * - * @access private - * - * @todo Sofar, this does nuttin' ;-) - */ - function MyTextSanitizer() - { - - } - - /** - * Access the only instance of this class - * - * @return object - * - * @static - * @staticvar object - */ - function &getInstance() - { - static $instance; - if (!isset($instance)) { - $instance = new MyTextSanitizer(); - } - return $instance; - } - - /** - * Get the smileys - * - * @return array - */ - function getSmileys() - { - return $this->smileys; - } - - /** - * Replace emoticons in the message with smiley images - * - * @param string $message - * - * @return string - */ - function &smiley($message) - { - $db =& Database::getInstance(); - if (count($this->smileys) == 0) { - if ($getsmiles = $db->query("SELECT * FROM ".$db->prefix("smiles"))){ - while ($smiles = $db->fetchArray($getsmiles)) { - $message =& str_replace($smiles['code'], '', $message); - array_push($this->smileys, $smiles); - } - } - } - elseif (is_array($this->smileys)) { - foreach ($this->smileys as $smile) { - $message =& str_replace($smile['code'], '', $message); - } - } - return $message; - } - - /** - * Make links in the text clickable - * - * @param string $text - * @return string - **/ - function &makeClickable(&$text) - { - $patterns = array("/(^|[^]_a-z0-9-=\"'\/])([a-z]+?):\/\/([^, \r\n\"\(\)'<>]+)/i", "/(^|[^]_a-z0-9-=\"'\/])www\.([a-z0-9\-]+)\.([^, \r\n\"\(\)'<>]+)/i", "/(^|[^]_a-z0-9-=\"'\/])ftp\.([a-z0-9\-]+)\.([^, \r\n\"\(\)'<>]+)/i", "/(^|[^]_a-z0-9-=\"'\/:\.])([a-z0-9\-_\.]+?)@([^, \r\n\"\(\)'<>\[\]]+)/i"); - $replacements = array("\\1\\2://\\3", "\\1www.\\2.\\3", "\\1ftp.\\2.\\3", "\\1\\2@\\3"); - return preg_replace($patterns, $replacements, $text); - } - - /** - * Replace XoopsCodes with their equivalent HTML formatting - * - * @param string $text - * @param bool $allowimage Allow images in the text? - * On FALSE, uses links to images. - * @return string - **/ - function &xoopsCodeDecode(&$text, $allowimage = 1) - { - $patterns = array(); - $replacements = array(); - // RMV: added new markup for intrasite url (allows easier site moves) - // TODO: automatically convert other URLs to this format if XOOPS_URL matches?? - $patterns[] = "/\[siteurl=(['\"]?)([^\"'<>]*)\\1](.*)\[\/siteurl\]/sU"; - $replacements[] = '\\3'; - $patterns[] = "/\[url=(['\"]?)(http[s]?:\/\/[^\"'<>]*)\\1](.*)\[\/url\]/sU"; - $replacements[] = '\\3'; - $patterns[] = "/\[url=(['\"]?)(ftp?:\/\/[^\"'<>]*)\\1](.*)\[\/url\]/sU"; - $replacements[] = '\\3'; - $patterns[] = "/\[url=(['\"]?)([^\"'<>]*)\\1](.*)\[\/url\]/sU"; - $replacements[] = '\\3'; - $patterns[] = "/\[color=(['\"]?)([a-zA-Z0-9]*)\\1](.*)\[\/color\]/sU"; - $replacements[] = '\\3'; - $patterns[] = "/\[size=(['\"]?)([a-z0-9-]*)\\1](.*)\[\/size\]/sU"; - $replacements[] = '\\3'; - $patterns[] = "/\[font=(['\"]?)([^;<>\*\(\)\"']*)\\1](.*)\[\/font\]/sU"; - $replacements[] = '\\3'; - $patterns[] = "/\[email]([^;<>\*\(\)\"']*)\[\/email\]/sU"; - $replacements[] = '\\1'; - $patterns[] = "/\[b](.*)\[\/b\]/sU"; - $replacements[] = '\\1'; - $patterns[] = "/\[i](.*)\[\/i\]/sU"; - $replacements[] = '\\1'; - $patterns[] = "/\[u](.*)\[\/u\]/sU"; - $replacements[] = '\\1'; - $patterns[] = "/\[d](.*)\[\/d\]/sU"; - $replacements[] = '\\1'; - //$patterns[] = "/\[li](.*)\[\/li\]/sU"; - //$replacements[] = '
  • \\1
  • '; - $patterns[] = "/\[img align=(['\"]?)(left|center|right)\\1]([^\"\(\)\?\&'<>]*)\[\/img\]/sU"; - $patterns[] = "/\[img]([^\"\(\)\?\&'<>]*)\[\/img\]/sU"; - $patterns[] = "/\[img align=(['\"]?)(left|center|right)\\1 id=(['\"]?)([0-9]*)\\3]([^\"\(\)\?\&'<>]*)\[\/img\]/sU"; - $patterns[] = "/\[img id=(['\"]?)([0-9]*)\\1]([^\"\(\)\?\&'<>]*)\[\/img\]/sU"; - if ($allowimage != 1) { - $replacements[] = '\\3'; - $replacements[] = '\\1'; - $replacements[] = '\\5'; - $replacements[] = '\\3'; - } else { - $replacements[] = ''; - $replacements[] = ''; - $replacements[] = '\\5'; - $replacements[] = '\\3'; - } - $patterns[] = "/\[quote]/sU"; - $replacements[] = _QUOTEC.'
    '; - //$replacements[] = 'Quote:
    '; - $patterns[] = "/\[\/quote]/sU"; - $replacements[] = '
    '; - $patterns[] = "/javascript:/si"; - $replacements[] = "java script:"; - $patterns[] = "/about:/si"; - $replacements[] = "about :"; - return preg_replace($patterns, $replacements, $text); - } - - /** - * Convert linebreaks to
    tags - * - * @param string $text - * - * @return string - */ - function &nl2Br($text) - { - return preg_replace("/(\015\012)|(\015)|(\012)/","
    ",$text); - } - - /** - * Add slashes to the text if magic_quotes_gpc is turned off. - * - * @param string $text - * @return string - **/ - function &addSlashes($text) - { - if (!get_magic_quotes_gpc()) { - $text =& addslashes($text); - } - return $text; - } - /* - * if magic_quotes_gpc is on, stirip back slashes - * - * @param string $text - * - * @return string - */ - function &stripSlashesGPC($text) - { - if (get_magic_quotes_gpc()) { - $text =& stripslashes($text); - } - return $text; - } - - /* - * for displaying data in html textbox forms - * - * @param string $text - * - * @return string - */ - function &htmlSpecialChars($text) - { - //return preg_replace("/&/i", '&', htmlspecialchars($text, ENT_QUOTES)); - return preg_replace(array("/&/i", "/ /i"), array('&', '&nbsp;'), htmlspecialchars($text, ENT_QUOTES)); - } - - /** - * Reverses {@link htmlSpecialChars()} - * - * @param string $text - * @return string - **/ - function &undoHtmlSpecialChars(&$text) - { - return preg_replace(array("/>/i", "/</i", "/"/i", "/'/i"), array(">", "<", "\"", "'"), $text); - } - - /** - * Filters textarea form data in DB for display - * - * @param string $text - * @param bool $html allow html? - * @param bool $smiley allow smileys? - * @param bool $xcode allow xoopscode? - * @param bool $image allow inline images? - * @param bool $br convert linebreaks? - * @return string - **/ - function &displayTarea(&$text, $html = 0, $smiley = 1, $xcode = 1, $image = 1, $br = 1) - { - if ($html != 1) { - // html not allowed - $text =& $this->htmlSpecialChars($text); - } - $text =& $this->codePreConv($text, $xcode); // Ryuji_edit(2003-11-18) - $text =& $this->makeClickable($text); - if ($smiley != 0) { - // process smiley - $text =& $this->smiley($text); - } - if ($xcode != 0) { - // decode xcode - if ($image != 0) { - // image allowed - $text =& $this->xoopsCodeDecode($text); - } else { - // image not allowed - $text =& $this->xoopsCodeDecode($text, 0); - } - } - if ($br != 0) { - $text =& $this->nl2Br($text); - } - $text =& $this->codeConv($text, $xcode, $image); // Ryuji_edit(2003-11-18) - return $text; - } - - /** - * Filters textarea form data submitted for preview - * - * @param string $text - * @param bool $html allow html? - * @param bool $smiley allow smileys? - * @param bool $xcode allow xoopscode? - * @param bool $image allow inline images? - * @param bool $br convert linebreaks? - * @return string - **/ - function &previewTarea(&$text, $html = 0, $smiley = 1, $xcode = 1, $image = 1, $br = 1) - { - $text =& $this->stripSlashesGPC($text); - if ($html != 1) { - // html not allowed - $text =& $this->htmlSpecialChars($text); - } - $text =& $this->codePreConv($text, $xcode); // Ryuji_edit(2003-11-18) - $text =& $this->makeClickable($text); - if ($smiley != 0) { - // process smiley - $text =& $this->smiley($text); - } - if ($xcode != 0) { - // decode xcode - if ($image != 0) { - // image allowed - $text =& $this->xoopsCodeDecode($text); - } else { - // image not allowed - $text =& $this->xoopsCodeDecode($text, 0); - } - } - if ($br != 0) { - $text =& $this->nl2Br($text); - } - $text =& $this->codeConv($text, $xcode, $image); // Ryuji_edit(2003-11-18) - return $text; - } - - /** - * Replaces banned words in a string with their replacements - * - * @param string $text - * @return string - * - * @deprecated - **/ - function &censorString(&$text) - { - if (!isset($this->censorConf)) { - $config_handler =& xoops_gethandler('config'); - $this->censorConf =& $config_handler->getConfigsByCat(XOOPS_CONF_CENSOR); - } - if ($this->censorConf['censor_enable'] == 1) { - $replacement = $this->censorConf['censor_replace']; - foreach ($this->censorConf['censor_words'] as $bad) { - if ( !empty($bad) ) { - $bad = quotemeta($bad); - $patterns[] = "/(\s)".$bad."/siU"; - $replacements[] = "\\1".$replacement; - $patterns[] = "/^".$bad."/siU"; - $replacements[] = $replacement; - $patterns[] = "/(\n)".$bad."/siU"; - $replacements[] = "\\1".$replacement; - $patterns[] = "/]".$bad."/siU"; - $replacements[] = "]".$replacement; - $text = preg_replace($patterns, $replacements, $text); - } - } - } - return $text; - } - - - /**#@+ - * Sanitizing of [code] tag - */ - function codePreConv($text, $xcode = 1) { - if($xcode != 0){ - $patterns = "/\[code](.*)\[\/code\]/esU"; - $replacements = "'[code]'.base64_encode('$1').'[/code]'"; - $text = preg_replace($patterns, $replacements, $text); - } - return $text; - } - - function codeConv($text, $xcode = 1, $image = 1){ - if($xcode != 0){ - $patterns = "/\[code](.*)\[\/code\]/esU"; - if ($image != 0) { - // image allowed - $replacements = "'
    '.MyTextSanitizer::codeSanitizer('$1').'
    '"; - //$text =& $this->xoopsCodeDecode($text); - } else { - // image not allowed - $replacements = "'
    '.MyTextSanitizer::codeSanitizer('$1', 0).'
    '"; - //$text =& $this->xoopsCodeDecode($text, 0); - } - $text = preg_replace($patterns, $replacements, $text); - } - return $text; - } - - function codeSanitizer($str, $image = 1){ - if($image != 0){ - $str = $this->xoopsCodeDecode( - $this->htmlSpecialChars(str_replace('\"', '"', base64_decode($str))) - ); - }else{ - $str = $this->xoopsCodeDecode( - $this->htmlSpecialChars(str_replace('\"', '"', base64_decode($str))),0 - ); - } - return $str; - } - - - /**#@-*/ - - -##################### Deprecated Methods ###################### - - /**#@+ - * @deprecated - */ - function sanitizeForDisplay($text, $allowhtml = 0, $smiley = 1, $bbcode = 1) - { - if ( $allowhtml == 0 ) { - $text = $this->htmlSpecialChars($text); - } else { - //$config =& $GLOBALS['xoopsConfig']; - //$allowed = $config['allowed_html']; - //$text = strip_tags($text, $allowed); - $text = $this->makeClickable($text); - } - if ( $smiley == 1 ) { - $text = $this->smiley($text); - } - if ( $bbcode == 1 ) { - $text = $this->xoopsCodeDecode($text); - } - $text = $this->nl2Br($text); - return $text; - } - - function sanitizeForPreview($text, $allowhtml = 0, $smiley = 1, $bbcode = 1) - { - $text = $this->oopsStripSlashesGPC($text); - if ( $allowhtml == 0 ) { - $text = $this->htmlSpecialChars($text); - } else { - //$config =& $GLOBALS['xoopsConfig']; - //$allowed = $config['allowed_html']; - //$text = strip_tags($text, $allowed); - $text = $this->makeClickable($text); - } - if ( $smiley == 1 ) { - $text = $this->smiley($text); - } - if ( $bbcode == 1 ) { - $text = $this->xoopsCodeDecode($text); - } - $text = $this->nl2Br($text); - return $text; - } - - function makeTboxData4Save($text) - { - //$text = $this->undoHtmlSpecialChars($text); - return $this->addSlashes($text); - } - - function makeTboxData4Show($text, $smiley=0) - { - $text = $this->htmlSpecialChars($text); - return $text; - } - - function makeTboxData4Edit($text) - { - return $this->htmlSpecialChars($text); - } - - function makeTboxData4Preview($text, $smiley=0) - { - $text = $this->stripSlashesGPC($text); - $text = $this->htmlSpecialChars($text); - return $text; - } - - function makeTboxData4PreviewInForm($text) - { - $text = $this->stripSlashesGPC($text); - return $this->htmlSpecialChars($text); - } - - function makeTareaData4Save($text) - { - return $this->addSlashes($text); - } - - function &makeTareaData4Show(&$text, $html=1, $smiley=1, $xcode=1) - { - return $this->displayTarea($text, $html, $smiley, $xcode); - } - - function makeTareaData4Edit($text) - { - return $this->htmlSpecialChars($text); - } - - function &makeTareaData4Preview(&$text, $html=1, $smiley=1, $xcode=1) - { - return $this->previewTarea($text, $html, $smiley, $xcode); - } - - function makeTareaData4PreviewInForm($text) - { - //if magic_quotes_gpc is on, do stipslashes - $text = $this->stripSlashesGPC($text); - return $this->htmlSpecialChars($text); - } - - function makeTareaData4InsideQuotes($text) - { - return $this->htmlSpecialChars($text); - } - - function &oopsStripSlashesGPC($text) - { - return $this->stripSlashesGPC($text); - } - - function &oopsStripSlashesRT($text) - { - if (get_magic_quotes_runtime()) { - $text =& stripslashes($text); - } - return $text; - } - - function &oopsAddSlashes($text) - { - return $this->addSlashes($text); - } - - function &oopsHtmlSpecialChars($text) - { - return $this->htmlSpecialChars($text); - } - - function &oopsNl2Br($text) - { - return $this->nl2br($text); - } - /**#@-*/ -} + // +// ------------------------------------------------------------------------ // +// This program is free software; you can redistribute it and/or modify // +// it under the terms of the GNU General Public License as published by // +// the Free Software Foundation; either version 2 of the License, or // +// (at your option) any later version. // +// // +// You may not change or alter any portion of this comment or credits // +// of supporting developers from this source code or any supporting // +// source code which is considered copyrighted (c) material of the // +// original comment or credit authors. // +// // +// This program is distributed in the hope that it will be useful, // +// but WITHOUT ANY WARRANTY; without even the implied warranty of // +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // +// GNU General Public License for more details. // +// // +// You should have received a copy of the GNU General Public License // +// along with this program; if not, write to the Free Software // +// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA // +// ------------------------------------------------------------------------ // +// Author: Kazumi Ono (http://www.myweb.ne.jp/, http://jp.xoops.org/) // +// Goghs Cheng (http://www.eqiao.com, http://www.devbeez.com/) // +// Project: The XOOPS Project (http://www.xoops.org/) // +// ------------------------------------------------------------------------- // + +/** + * Class to "clean up" text for various uses + * + * Singleton + * + * @package kernel + * @subpackage core + * + * @author Kazumi Ono + * @author Goghs Cheng + * @copyright (c) 2000-2003 The Xoops Project - www.xoops.org + */ +class MyTextSanitizer +{ + /** + * @var array + */ + var $smileys = array(); + + /** + * + */ + var $censorConf; + + /* + * Constructor of this class + * + * Gets allowed html tags from admin config settings + *
    should not be allowed since nl2br will be used + * when storing data. + * + * @access private + * + * @todo Sofar, this does nuttin' ;-) + */ + function MyTextSanitizer() + { + + } + + /** + * Access the only instance of this class + * + * @return object + * + * @static + * @staticvar object + */ + function &getInstance() + { + static $instance; + if (!isset($instance)) { + $instance = new MyTextSanitizer(); + } + return $instance; + } + + /** + * Get the smileys + * + * @return array + */ + function getSmileys() + { + return $this->smileys; + } + + /** + * Replace emoticons in the message with smiley images + * + * @param string $message + * + * @return string + */ + function &smiley($message) + { + $db =& Database::getInstance(); + if (count($this->smileys) == 0) { + if ($getsmiles = $db->query("SELECT * FROM ".$db->prefix("smiles"))){ + while ($smiles = $db->fetchArray($getsmiles)) { + $message =& str_replace($smiles['code'], '', $message); + array_push($this->smileys, $smiles); + } + } + } + elseif (is_array($this->smileys)) { + foreach ($this->smileys as $smile) { + $message =& str_replace($smile['code'], '', $message); + } + } + return $message; + } + + /** + * Make links in the text clickable + * + * @param string $text + * @return string + **/ + function &makeClickable(&$text) + { + $patterns = array("/(^|[^]_a-z0-9-=\"'\/])([a-z]+?):\/\/([^, \r\n\"\(\)'<>]+)/i", "/(^|[^]_a-z0-9-=\"'\/])www\.([a-z0-9\-]+)\.([^, \r\n\"\(\)'<>]+)/i", "/(^|[^]_a-z0-9-=\"'\/])ftp\.([a-z0-9\-]+)\.([^, \r\n\"\(\)'<>]+)/i", "/(^|[^]_a-z0-9-=\"'\/:\.])([a-z0-9\-_\.]+?)@([^, \r\n\"\(\)'<>\[\]]+)/i"); + $replacements = array("\\1\\2://\\3", "\\1www.\\2.\\3", "\\1ftp.\\2.\\3", "\\1\\2@\\3"); + return preg_replace($patterns, $replacements, $text); + } + + /** + * Replace XoopsCodes with their equivalent HTML formatting + * + * @param string $text + * @param bool $allowimage Allow images in the text? + * On FALSE, uses links to images. + * @return string + **/ + function &xoopsCodeDecode(&$text, $allowimage = 1) + { + $imgCallbackPattern = "/\[img( align=\w+)]([^\"\(\)\?\&'<>]*)\[\/img\]/sU"; + $text = preg_replace_callback($imgCallbackPattern, array($this, '_filterImgUrl'), $text); + + $patterns = array(); + $replacements = array(); + // RMV: added new markup for intrasite url (allows easier site moves) + // TODO: automatically convert other URLs to this format if XOOPS_URL matches?? + $patterns[] = "/\[siteurl=(['\"]?)([^\"'<>]*)\\1](.*)\[\/siteurl\]/sU"; + $replacements[] = '\\3'; + $patterns[] = "/\[url=(['\"]?)(http[s]?:\/\/[^\"'<>]*)\\1](.*)\[\/url\]/sU"; + $replacements[] = '\\3'; + $patterns[] = "/\[url=(['\"]?)(ftp?:\/\/[^\"'<>]*)\\1](.*)\[\/url\]/sU"; + $replacements[] = '\\3'; + $patterns[] = "/\[url=(['\"]?)([^\"'<>]*)\\1](.*)\[\/url\]/sU"; + $replacements[] = '\\3'; + $patterns[] = "/\[color=(['\"]?)([a-zA-Z0-9]*)\\1](.*)\[\/color\]/sU"; + $replacements[] = '\\3'; + $patterns[] = "/\[size=(['\"]?)([a-z0-9-]*)\\1](.*)\[\/size\]/sU"; + $replacements[] = '\\3'; + $patterns[] = "/\[font=(['\"]?)([^;<>\*\(\)\"']*)\\1](.*)\[\/font\]/sU"; + $replacements[] = '\\3'; + $patterns[] = "/\[email]([^;<>\*\(\)\"']*)\[\/email\]/sU"; + $replacements[] = '\\1'; + $patterns[] = "/\[b](.*)\[\/b\]/sU"; + $replacements[] = '\\1'; + $patterns[] = "/\[i](.*)\[\/i\]/sU"; + $replacements[] = '\\1'; + $patterns[] = "/\[u](.*)\[\/u\]/sU"; + $replacements[] = '\\1'; + $patterns[] = "/\[d](.*)\[\/d\]/sU"; + $replacements[] = '\\1'; + //$patterns[] = "/\[li](.*)\[\/li\]/sU"; + //$replacements[] = '
  • \\1
  • '; + $patterns[] = "/\[img align=(['\"]?)(left|center|right)\\1]([^\"\(\)\?\&'<>]*)\[\/img\]/sU"; + $patterns[] = "/\[img]([^\"\(\)\?\&'<>]*)\[\/img\]/sU"; + $patterns[] = "/\[img align=(['\"]?)(left|center|right)\\1 id=(['\"]?)([0-9]*)\\3]([^\"\(\)\?\&'<>]*)\[\/img\]/sU"; + $patterns[] = "/\[img id=(['\"]?)([0-9]*)\\1]([^\"\(\)\?\&'<>]*)\[\/img\]/sU"; + if ($allowimage != 1) { + $replacements[] = '\\3'; + $replacements[] = '\\1'; + $replacements[] = '\\5'; + $replacements[] = '\\3'; + } else { + $replacements[] = ''; + $replacements[] = ''; + $replacements[] = '\\5'; + $replacements[] = '\\3'; + } + $patterns[] = "/\[quote]/sU"; + $replacements[] = _QUOTEC.'
    '; + //$replacements[] = 'Quote:
    '; + $patterns[] = "/\[\/quote]/sU"; + $replacements[] = '
    '; + $patterns[] = "/javascript:/si"; + $replacements[] = "java script:"; + $patterns[] = "/about:/si"; + $replacements[] = "about :"; + return preg_replace($patterns, $replacements, $text); + } + + /** + * Filters out invalid strings included in URL, if any + * + * @param array $matches + * @return string + */ + function _filterImgUrl($matches) + { + if ($this->checkUrlString($matches[2])) { + return $matches[0]; + } else { + return ""; + } + } + + /** + * Checks if invalid strings are included in URL + * + * @param string $text + * @return bool + */ + function checkUrlString($text) + { + // Check control code + if (preg_match("/[\\0-\\31]/", $text)) { + return false; + } + // check black pattern(deprecated) + return !preg_match("/^(javascript|vbscript|about):/i", $text); + } + + /** + * Convert linebreaks to
    tags + * + * @param string $text + * + * @return string + */ + function &nl2Br($text) + { + return preg_replace("/(\015\012)|(\015)|(\012)/","
    ",$text); + } + + /** + * Add slashes to the text if magic_quotes_gpc is turned off. + * + * @param string $text + * @return string + **/ + function &addSlashes($text) + { + if (!get_magic_quotes_gpc()) { + $text =& addslashes($text); + } + return $text; + } + /* + * if magic_quotes_gpc is on, stirip back slashes + * + * @param string $text + * + * @return string + */ + function &stripSlashesGPC($text) + { + if (get_magic_quotes_gpc()) { + $text =& stripslashes($text); + } + return $text; + } + + /* + * for displaying data in html textbox forms + * + * @param string $text + * + * @return string + */ + function &htmlSpecialChars($text) + { + //return preg_replace("/&/i", '&', htmlspecialchars($text, ENT_QUOTES)); + return preg_replace(array("/&/i", "/ /i"), array('&', '&nbsp;'), htmlspecialchars($text, ENT_QUOTES)); + } + + /** + * Reverses {@link htmlSpecialChars()} + * + * @param string $text + * @return string + **/ + function &undoHtmlSpecialChars(&$text) + { + return preg_replace(array("/>/i", "/</i", "/"/i", "/'/i"), array(">", "<", "\"", "'"), $text); + } + + /** + * Filters textarea form data in DB for display + * + * @param string $text + * @param bool $html allow html? + * @param bool $smiley allow smileys? + * @param bool $xcode allow xoopscode? + * @param bool $image allow inline images? + * @param bool $br convert linebreaks? + * @return string + **/ + function &displayTarea(&$text, $html = 0, $smiley = 1, $xcode = 1, $image = 1, $br = 1) + { + if ($html != 1) { + // html not allowed + $text =& $this->htmlSpecialChars($text); + } + $text =& $this->codePreConv($text, $xcode); // Ryuji_edit(2003-11-18) + $text =& $this->makeClickable($text); + if ($smiley != 0) { + // process smiley + $text =& $this->smiley($text); + } + if ($xcode != 0) { + // decode xcode + if ($image != 0) { + // image allowed + $text =& $this->xoopsCodeDecode($text); + } else { + // image not allowed + $text =& $this->xoopsCodeDecode($text, 0); + } + } + if ($br != 0) { + $text =& $this->nl2Br($text); + } + $text =& $this->codeConv($text, $xcode, $image); // Ryuji_edit(2003-11-18) + return $text; + } + + /** + * Filters textarea form data submitted for preview + * + * @param string $text + * @param bool $html allow html? + * @param bool $smiley allow smileys? + * @param bool $xcode allow xoopscode? + * @param bool $image allow inline images? + * @param bool $br convert linebreaks? + * @return string + **/ + function &previewTarea(&$text, $html = 0, $smiley = 1, $xcode = 1, $image = 1, $br = 1) + { + $text =& $this->stripSlashesGPC($text); + if ($html != 1) { + // html not allowed + $text =& $this->htmlSpecialChars($text); + } + $text =& $this->codePreConv($text, $xcode); // Ryuji_edit(2003-11-18) + $text =& $this->makeClickable($text); + if ($smiley != 0) { + // process smiley + $text =& $this->smiley($text); + } + if ($xcode != 0) { + // decode xcode + if ($image != 0) { + // image allowed + $text =& $this->xoopsCodeDecode($text); + } else { + // image not allowed + $text =& $this->xoopsCodeDecode($text, 0); + } + } + if ($br != 0) { + $text =& $this->nl2Br($text); + } + $text =& $this->codeConv($text, $xcode, $image); // Ryuji_edit(2003-11-18) + return $text; + } + + /** + * Replaces banned words in a string with their replacements + * + * @param string $text + * @return string + * + * @deprecated + **/ + function &censorString(&$text) + { + if (!isset($this->censorConf)) { + $config_handler =& xoops_gethandler('config'); + $this->censorConf =& $config_handler->getConfigsByCat(XOOPS_CONF_CENSOR); + } + if ($this->censorConf['censor_enable'] == 1) { + $replacement = $this->censorConf['censor_replace']; + foreach ($this->censorConf['censor_words'] as $bad) { + if ( !empty($bad) ) { + $bad = quotemeta($bad); + $patterns[] = "/(\s)".$bad."/siU"; + $replacements[] = "\\1".$replacement; + $patterns[] = "/^".$bad."/siU"; + $replacements[] = $replacement; + $patterns[] = "/(\n)".$bad."/siU"; + $replacements[] = "\\1".$replacement; + $patterns[] = "/]".$bad."/siU"; + $replacements[] = "]".$replacement; + $text = preg_replace($patterns, $replacements, $text); + } + } + } + return $text; + } + + + /**#@+ + * Sanitizing of [code] tag + */ + function codePreConv($text, $xcode = 1) { + if($xcode != 0){ + $patterns = "/\[code](.*)\[\/code\]/esU"; + $replacements = "'[code]'.base64_encode('$1').'[/code]'"; + $text = preg_replace($patterns, $replacements, $text); + } + return $text; + } + + function codeConv($text, $xcode = 1, $image = 1){ + if($xcode != 0){ + $patterns = "/\[code](.*)\[\/code\]/esU"; + if ($image != 0) { + // image allowed + $replacements = "'
    '.MyTextSanitizer::codeSanitizer('$1').'
    '"; + //$text =& $this->xoopsCodeDecode($text); + } else { + // image not allowed + $replacements = "'
    '.MyTextSanitizer::codeSanitizer('$1', 0).'
    '"; + //$text =& $this->xoopsCodeDecode($text, 0); + } + $text = preg_replace($patterns, $replacements, $text); + } + return $text; + } + + function codeSanitizer($str, $image = 1){ + if($image != 0){ + $str = $this->xoopsCodeDecode( + $this->htmlSpecialChars(str_replace('\"', '"', base64_decode($str))) + ); + }else{ + $str = $this->xoopsCodeDecode( + $this->htmlSpecialChars(str_replace('\"', '"', base64_decode($str))),0 + ); + } + return $str; + } + + + /**#@-*/ + + +##################### Deprecated Methods ###################### + + /**#@+ + * @deprecated + */ + function sanitizeForDisplay($text, $allowhtml = 0, $smiley = 1, $bbcode = 1) + { + if ( $allowhtml == 0 ) { + $text = $this->htmlSpecialChars($text); + } else { + //$config =& $GLOBALS['xoopsConfig']; + //$allowed = $config['allowed_html']; + //$text = strip_tags($text, $allowed); + $text = $this->makeClickable($text); + } + if ( $smiley == 1 ) { + $text = $this->smiley($text); + } + if ( $bbcode == 1 ) { + $text = $this->xoopsCodeDecode($text); + } + $text = $this->nl2Br($text); + return $text; + } + + function sanitizeForPreview($text, $allowhtml = 0, $smiley = 1, $bbcode = 1) + { + $text = $this->oopsStripSlashesGPC($text); + if ( $allowhtml == 0 ) { + $text = $this->htmlSpecialChars($text); + } else { + //$config =& $GLOBALS['xoopsConfig']; + //$allowed = $config['allowed_html']; + //$text = strip_tags($text, $allowed); + $text = $this->makeClickable($text); + } + if ( $smiley == 1 ) { + $text = $this->smiley($text); + } + if ( $bbcode == 1 ) { + $text = $this->xoopsCodeDecode($text); + } + $text = $this->nl2Br($text); + return $text; + } + + function makeTboxData4Save($text) + { + //$text = $this->undoHtmlSpecialChars($text); + return $this->addSlashes($text); + } + + function makeTboxData4Show($text, $smiley=0) + { + $text = $this->htmlSpecialChars($text); + return $text; + } + + function makeTboxData4Edit($text) + { + return $this->htmlSpecialChars($text); + } + + function makeTboxData4Preview($text, $smiley=0) + { + $text = $this->stripSlashesGPC($text); + $text = $this->htmlSpecialChars($text); + return $text; + } + + function makeTboxData4PreviewInForm($text) + { + $text = $this->stripSlashesGPC($text); + return $this->htmlSpecialChars($text); + } + + function makeTareaData4Save($text) + { + return $this->addSlashes($text); + } + + function &makeTareaData4Show(&$text, $html=1, $smiley=1, $xcode=1) + { + return $this->displayTarea($text, $html, $smiley, $xcode); + } + + function makeTareaData4Edit($text) + { + return $this->htmlSpecialChars($text); + } + + function &makeTareaData4Preview(&$text, $html=1, $smiley=1, $xcode=1) + { + return $this->previewTarea($text, $html, $smiley, $xcode); + } + + function makeTareaData4PreviewInForm($text) + { + //if magic_quotes_gpc is on, do stipslashes + $text = $this->stripSlashesGPC($text); + return $this->htmlSpecialChars($text); + } + + function makeTareaData4InsideQuotes($text) + { + return $this->htmlSpecialChars($text); + } + + function &oopsStripSlashesGPC($text) + { + return $this->stripSlashesGPC($text); + } + + function &oopsStripSlashesRT($text) + { + if (get_magic_quotes_runtime()) { + $text =& stripslashes($text); + } + return $text; + } + + function &oopsAddSlashes($text) + { + return $this->addSlashes($text); + } + + function &oopsHtmlSpecialChars($text) + { + return $this->htmlSpecialChars($text); + } + + function &oopsNl2Br($text) + { + return $this->nl2br($text); + } + /**#@-*/ +} ?> \ No newline at end of file From onokazu ¡÷ users.sourceforge.jp Mon Oct 24 20:39:16 2005 From: onokazu ¡÷ users.sourceforge.jp (onokazu) Date: Mon, 24 Oct 2005 20:39:16 +0900 Subject: [xoops-cvslog 591] CVS update: xoops2jp/docs Message-ID: <20051024113916.099D22AC013@users.sourceforge.jp> Index: xoops2jp/docs/CHANGES.txt diff -u xoops2jp/docs/CHANGES.txt:1.9 xoops2jp/docs/CHANGES.txt:1.9.2.1 --- xoops2jp/docs/CHANGES.txt:1.9 Mon Sep 5 05:46:08 2005 +++ xoops2jp/docs/CHANGES.txt Mon Oct 24 20:39:15 2005 @@ -1,6 +1,13 @@ XOOPS v2 Changelog ============================ +2005/10/24: Version 2.0.13 JP +=============================== +- Added several fixes for XSS vulnerabilities found in the core and newbb. +- Added fix to prevent Spams via misc.php and contact module using PHPMailer +- Added fix to prevent arbitrary code execution vulnerability in uploader.php + + 2005/ 9/ 5: Version 2.0.12 JP =============================== - Fixed display problem in system config preferences when conf_valuetype and conf_formtype are of textarea type From onokazu ¡÷ users.sourceforge.jp Mon Oct 24 20:44:16 2005 From: onokazu ¡÷ users.sourceforge.jp (onokazu) Date: Mon, 24 Oct 2005 20:44:16 +0900 Subject: [xoops-cvslog 592] CVS update: xoops2jp/docs Message-ID: <20051024114416.66AC82AC00F@users.sourceforge.jp> Index: xoops2jp/docs/CHANGES.txt diff -u xoops2jp/docs/CHANGES.txt:1.9 xoops2jp/docs/CHANGES.txt:1.10 --- xoops2jp/docs/CHANGES.txt:1.9 Mon Sep 5 05:46:08 2005 +++ xoops2jp/docs/CHANGES.txt Mon Oct 24 20:44:16 2005 @@ -1,6 +1,13 @@ XOOPS v2 Changelog ============================ +2005/10/24: Version 2.0.13 JP +=============================== +- Added several fixes for XSS vulnerabilities found in the core and newbb. +- Added fix to prevent Spams via misc.php and contact module using PHPMailer +- Added fix to prevent arbitrary code execution vulnerability in uploader.php + + 2005/ 9/ 5: Version 2.0.12 JP =============================== - Fixed display problem in system config preferences when conf_valuetype and conf_formtype are of textarea type From onokazu ¡÷ users.sourceforge.jp Mon Oct 24 20:44:16 2005 From: onokazu ¡÷ users.sourceforge.jp (onokazu) Date: Mon, 24 Oct 2005 20:44:16 +0900 Subject: [xoops-cvslog 593] CVS update: xoops2jp/html/include Message-ID: <20051024114416.BE50C2AC00F@users.sourceforge.jp> Index: xoops2jp/html/include/common.php diff -u xoops2jp/html/include/common.php:1.7 xoops2jp/html/include/common.php:1.8 --- xoops2jp/html/include/common.php:1.7 Mon Sep 5 05:46:09 2005 +++ xoops2jp/html/include/common.php Mon Oct 24 20:44:16 2005 @@ -1,5 +1,5 @@ \ No newline at end of file From onokazu ¡÷ users.sourceforge.jp Mon Oct 24 20:44:16 2005 From: onokazu ¡÷ users.sourceforge.jp (onokazu) Date: Mon, 24 Oct 2005 20:44:16 +0900 Subject: [xoops-cvslog 594] CVS update: xoops2jp/html/install Message-ID: <20051024114416.E60EA2AC013@users.sourceforge.jp> Index: xoops2jp/html/install/index.php diff -u xoops2jp/html/install/index.php:1.3 xoops2jp/html/install/index.php:1.4 --- xoops2jp/html/install/index.php:1.3 Wed Aug 3 21:39:12 2005 +++ xoops2jp/html/install/index.php Mon Oct 24 20:44:16 2005 @@ -1,5 +1,5 @@ insert('config', " VALUES (10, 0, 1, 'usercookie', '_MD_AM_USERCOOKIE', '".addslashes($xoopsConfig['usercookie'])."', '_MD_AM_USERCOOKIEDSC', 'textbox', 'text', 18)"); $dbm->insert('config', " VALUES (11, 0, 1, 'session_expire', '_MD_AM_SESSEXPIRE', '15', '_MD_AM_SESSEXPIREDSC', 'textbox', 'int', 22)"); $dbm->insert('config', " VALUES (12, 0, 1, 'banners', '_MD_AM_BANNERS', '".intval($xoopsConfig['banners'])."', '_MD_AM_BANNERSDSC', 'yesno', 'int', 26)"); - $dbm->insert('config', " VALUES (13, 0, 1, 'debug_mode', '_MD_AM_DEBUGMODE', '0', '_MD_AM_DEBUGMODEDSC', 'select', 'int', 24)"); + $dbm->insert('config', " VALUES (13, 0, 1, 'debug_mode', '_MD_AM_DEBUGMODE', '1', '_MD_AM_DEBUGMODEDSC', 'select', 'int', 24)"); $dbm->insert('config', " VALUES (14, 0, 1, 'my_ip', '_MD_AM_MYIP', '".addslashes($xoopsConfig['my_ip'])."', '_MD_AM_MYIPDSC', 'textbox', 'text', 29)"); $dbm->insert('config', " VALUES (15, 0, 1, 'use_ssl', '_MD_AM_USESSL', '0', '_MD_AM_USESSLDSC', 'yesno', 'int', 30)"); $dbm->insert('config', " VALUES (16, 0, 1, 'session_name', '_MD_AM_SESSNAME', 'xoops_session', '_MD_AM_SESSNAMEDSC', 'textbox', 'text', 20)"); Index: xoops2jp/html/install/makedata.php diff -u xoops2jp/html/install/makedata.php:1.4 xoops2jp/html/install/makedata.php:1.5 --- xoops2jp/html/install/makedata.php:1.4 Wed Aug 3 21:39:12 2005 +++ xoops2jp/html/install/makedata.php Mon Oct 24 20:44:16 2005 @@ -1,5 +1,5 @@ insert('config', " VALUES (10, 0, 1, 'usercookie', '_MD_AM_USERCOOKIE', 'xoops_user', '_MD_AM_USERCOOKIEDSC', 'textbox', 'text', 18)"); $dbm->insert('config', " VALUES (11, 0, 1, 'session_expire', '_MD_AM_SESSEXPIRE', '15', '_MD_AM_SESSEXPIREDSC', 'textbox', 'int', 22)"); $dbm->insert('config', " VALUES (12, 0, 1, 'banners', '_MD_AM_BANNERS', '1', '_MD_AM_BANNERSDSC', 'yesno', 'int', 26)"); - $dbm->insert('config', " VALUES (13, 0, 1, 'debug_mode', '_MD_AM_DEBUGMODE', '0', '_MD_AM_DEBUGMODEDSC', 'select', 'int', 24)"); + $dbm->insert('config', " VALUES (13, 0, 1, 'debug_mode', '_MD_AM_DEBUGMODE', '1', '_MD_AM_DEBUGMODEDSC', 'select', 'int', 24)"); $dbm->insert('config', " VALUES (14, 0, 1, 'my_ip', '_MD_AM_MYIP', '127.0.0.1', '_MD_AM_MYIPDSC', 'textbox', 'text', 29)"); $dbm->insert('config', " VALUES (15, 0, 1, 'use_ssl', '_MD_AM_USESSL', '0', '_MD_AM_USESSLDSC', 'yesno', 'int', 30)"); $dbm->insert('config', " VALUES (16, 0, 1, 'session_name', '_MD_AM_SESSNAME', 'xoops_session', '_MD_AM_SESSNAMEDSC', 'textbox', 'text', 20)"); From onokazu ¡÷ users.sourceforge.jp Mon Oct 24 20:44:17 2005 From: onokazu ¡÷ users.sourceforge.jp (onokazu) Date: Mon, 24 Oct 2005 20:44:17 +0900 Subject: [xoops-cvslog 595] CVS update: xoops2jp/html Message-ID: <20051024114417.157EE2AC00F@users.sourceforge.jp> Index: xoops2jp/html/misc.php diff -u xoops2jp/html/misc.php:1.5 xoops2jp/html/misc.php:1.6 --- xoops2jp/html/misc.php:1.5 Mon Sep 5 05:46:08 2005 +++ xoops2jp/html/misc.php Mon Oct 24 20:44:16 2005 @@ -1,5 +1,5 @@ stripSlashesGPC(trim($_POST['yname'])); $fname = $myts->stripSlashesGPC(trim($_POST['fname'])); $fmail = $myts->stripSlashesGPC(trim($_POST['fmail'])); - if (!checkEmail($fmail) || !checkEmail($ymail)) { + if (!checkEmail($fmail) || !checkEmail($ymail) || preg_match("/[\\0-\\31]/",$yname)) { $errormessage = _MSC_INVALIDEMAIL1."
    "._MSC_INVALIDEMAIL2.""; redirect_header(XOOPS_URL."/misc.php?action=showpopups&type=friend&op=sendform",2,$errormessage); exit(); From onokazu ¡÷ users.sourceforge.jp Mon Oct 24 20:44:17 2005 From: onokazu ¡÷ users.sourceforge.jp (onokazu) Date: Mon, 24 Oct 2005 20:44:17 +0900 Subject: [xoops-cvslog 596] CVS update: xoops2jp/html/modules/contact Message-ID: <20051024114417.38AAA2AC013@users.sourceforge.jp> Index: xoops2jp/html/modules/contact/index.php diff -u xoops2jp/html/modules/contact/index.php:1.5 xoops2jp/html/modules/contact/index.php:1.6 --- xoops2jp/html/modules/contact/index.php:1.5 Mon Sep 5 05:46:09 2005 +++ xoops2jp/html/modules/contact/index.php Mon Oct 24 20:44:17 2005 @@ -1,5 +1,5 @@ stripSlashesGPC($_POST['usersEmail']); + if(!checkEmail($usersEmail)) { + // ToDo: use message catalog + redirect_header(XOOPS_URL."/modules/".$xoopsModule->getVar('dirname')."/index.php",2,"EMAIL ERROR"); + exit(); + } + $usersCompanyName = $myts->stripSlashesGPC($_POST['usersCompanyName']); $usersCompanyLocation = $myts->stripSlashesGPC($_POST['usersCompanyLocation']); $usersComments = $myts->stripSlashesGPC($_POST['usersComments']); From onokazu ¡÷ users.sourceforge.jp Mon Oct 24 20:44:17 2005 From: onokazu ¡÷ users.sourceforge.jp (onokazu) Date: Mon, 24 Oct 2005 20:44:17 +0900 Subject: [xoops-cvslog 597] CVS update: xoops2jp/html/modules/newbb Message-ID: <20051024114417.5AADE2AC022@users.sourceforge.jp> Index: xoops2jp/html/modules/newbb/index.php diff -u xoops2jp/html/modules/newbb/index.php:1.5 xoops2jp/html/modules/newbb/index.php:1.6 --- xoops2jp/html/modules/newbb/index.php:1.5 Mon Sep 5 05:46:10 2005 +++ xoops2jp/html/modules/newbb/index.php Mon Oct 24 20:44:17 2005 @@ -1,143 +1,143 @@ - // -// ------------------------------------------------------------------------ // -// This program is free software; you can redistribute it and/or modify // -// it under the terms of the GNU General Public License as published by // -// the Free Software Foundation; either version 2 of the License, or // -// (at your option) any later version. // -// // -// You may not change or alter any portion of this comment or credits // -// of supporting developers from this source code or any supporting // -// source code which is considered copyrighted (c) material of the // -// original comment or credit authors. // -// // -// This program is distributed in the hope that it will be useful, // -// but WITHOUT ANY WARRANTY; without even the implied warranty of // -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // -// GNU General Public License for more details. // -// // -// You should have received a copy of the GNU General Public License // -// along with this program; if not, write to the Free Software // -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA // -// ------------------------------------------------------------------------ // -// Author: Kazumi Ono (AKA onokazu) // -// URL: http://www.myweb.ne.jp/, http://www.xoops.org/, http://jp.xoops.org/ // -// Project: The XOOPS Project // -// ------------------------------------------------------------------------- // - -include "header.php"; -// this page uses smarty template -// this must be set before including main header.php -$xoopsOption['template_main']= 'newbb_index.html'; -include XOOPS_ROOT_PATH."/header.php"; - -$myts =& MyTextSanitizer::getInstance(); - -$sql = 'SELECT c.* FROM '.$xoopsDB->prefix('bb_categories').' c, '.$xoopsDB->prefix("bb_forums").' f WHERE f.cat_id=c.cat_id GROUP BY c.cat_id, c.cat_title, c.cat_order ORDER BY c.cat_order'; -if ( !$result = $xoopsDB->query($sql) ) { - redirect_header(XOOPS_URL.'/',1,_MD_ERROROCCURED); - exit(); -} - -$xoopsTpl->assign(array("lang_welcomemsg" => sprintf(_MD_WELCOME,htmlspecialchars($xoopsConfig['sitename'], ENT_QUOTES)), "lang_tostart" => _MD_TOSTART, "lang_totaltopics" => _MD_TOTALTOPICSC, "lang_totalposts" => _MD_TOTALPOSTSC, "total_topics" => get_total_topics(), "total_posts" => get_total_posts(0, 'all'), "lang_lastvisit" => sprintf(_MD_LASTVISIT,formatTimestamp($last_visit)), "lang_currenttime" => sprintf(_MD_TIMENOW,formatTimestamp(time(),"m")), "lang_forum" => _MD_FORUM, "lang_topics" => _MD_TOPICS, "lang_posts" => _MD_POSTS, "lang_lastpost" => _MD_LASTPOST, "lang_moderators" => _MD_MODERATOR)); - -$viewcat = (!empty($_GET['cat'])) ? intval($_GET['cat']) : 0; -$categories = array(); -while ( $cat_row = $xoopsDB->fetchArray($result) ) { - $categories[] = $cat_row; -} - -$sql = 'SELECT f.*, u.uname, u.uid, p.topic_id, p.post_time, p.subject, p.icon FROM '.$xoopsDB->prefix('bb_forums').' f LEFT JOIN '.$xoopsDB->prefix('bb_posts').' p ON p.post_id = f.forum_last_post_id LEFT JOIN '.$xoopsDB->prefix('users').' u ON u.uid = p.uid'; -if ( $viewcat != 0 ) { - $sql .= ' WHERE f.cat_id = '.$viewcat; - $xoopsTpl->assign('forum_index_title', sprintf(_MD_FORUMINDEX,htmlspecialchars($xoopsConfig['sitename'], ENT_QUOTES))); -} else { - $xoopsTpl->assign('forum_index_title', ''); -} -$sql .= ' ORDER BY f.cat_id, f.forum_id'; -if ( !$result = $xoopsDB->query($sql) ) { - exit("Error"); -} -$forums = array(); // RMV-FIX -while ( $forum_data = $xoopsDB->fetchArray($result) ) { - $forums[] = $forum_data; -} -$cat_count = count($categories); -if ($cat_count > 0) { - for ( $i = 0; $i < $cat_count; $i++ ) { - $categories[$i]['cat_title'] = $myts->makeTboxData4Show($categories[$i]['cat_title']); - if ( $viewcat != 0 && $categories[$i]['cat_id'] != $viewcat ) { - $xoopsTpl->append("categories", $categories[$i]); - continue; - } - $topic_lastread = newbb_get_topics_viewed(); - foreach ( $forums as $forum_row ) { - unset($last_post); - if ( $forum_row['cat_id'] == $categories[$i]['cat_id'] ) { - if ($forum_row['post_time']) { - //$forum_row['subject'] = $myts->makeTboxData4Show($forum_row['subject']); - $categories[$i]['forums']['forum_lastpost_time'][] = formatTimestamp($forum_row['post_time']); - $last_post_icon = ''; - if ( $forum_row['icon'] ) { - $last_post_icon .= ''; - } else { - $last_post_icon .= ''; - } - $last_post_icon .= ''; - $categories[$i]['forums']['forum_lastpost_icon'][] = $last_post_icon; - if ( $forum_row['uid'] != 0 && $forum_row['uname'] ){ - $categories[$i]['forums']['forum_lastpost_user'][] = '' . $myts->makeTboxData4Show($forum_row['uname']).''; - } else { - $categories[$i]['forums']['forum_lastpost_user'][] = $xoopsConfig['anonymous']; - } - $forum_lastread = !empty($topic_lastread[$forum_row['topic_id']]) ? $topic_lastread[$forum_row['topic_id']] : false; - if ( $forum_row['forum_type'] == 1 ) { - $categories[$i]['forums']['forum_folder'][] = $bbImage['locked_forum']; - } elseif ( $forum_row['post_time'] > $forum_lastread && !empty($forum_row['topic_id'])) { - $categories[$i]['forums']['forum_folder'][] = $bbImage['newposts_forum']; - } else { - $categories[$i]['forums']['forum_folder'][] = $bbImage['folder_forum']; - } - } else { - // no forums, so put empty values - $categories[$i]['forums']['forum_lastpost_time'][] = ""; - $categories[$i]['forums']['forum_lastpost_icon'][] = ""; - $categories[$i]['forums']['forum_lastpost_user'][] = ""; - if ( $forum_row['forum_type'] == 1 ) { - $categories[$i]['forums']['forum_folder'][] = $bbImage['locked_forum']; - } else { - $categories[$i]['forums']['forum_folder'][] = $bbImage['folder_forum']; - } - } - $categories[$i]['forums']['forum_id'][] = $forum_row['forum_id']; - $categories[$i]['forums']['forum_name'][] = $myts->makeTboxData4Show($forum_row['forum_name']); - $categories[$i]['forums']['forum_desc'][] = $myts->makeTareaData4Show($forum_row['forum_desc']); - $categories[$i]['forums']['forum_topics'][] = $forum_row['forum_topics']; - $categories[$i]['forums']['forum_posts'][] = $forum_row['forum_posts']; - $all_moderators = get_moderators($forum_row['forum_id']); - $count = 0; - $forum_moderators = ''; - foreach ( $all_moderators as $mods) { - foreach ( $mods as $mod_id => $mod_name) { - if ( $count > 0 ) { - $forum_moderators .= ', '; - } - $forum_moderators .= ''.$myts->makeTboxData4Show($mod_name).''; - $count = 1; - } - } - $categories[$i]['forums']['forum_moderators'][] = $forum_moderators; - } - } - $xoopsTpl->append("categories", $categories[$i]); - } -} else { - $xoopsTpl->append("categories", array()); -} -$xoopsTpl->assign(array("img_hotfolder" => $bbImage['newposts_forum'], "img_folder" => $bbImage['folder_forum'], "img_locked" => $bbImage['locked_forum'], "lang_newposts" => _MD_NEWPOSTS, "lang_private" => _MD_PRIVATEFORUM, "lang_nonewposts" => _MD_NONEWPOSTS, "lang_search" => _MD_SEARCH, "lang_advsearch" => _MD_ADVSEARCH)); -include_once XOOPS_ROOT_PATH.'/footer.php'; -?> + // +// ------------------------------------------------------------------------ // +// This program is free software; you can redistribute it and/or modify // +// it under the terms of the GNU General Public License as published by // +// the Free Software Foundation; either version 2 of the License, or // +// (at your option) any later version. // +// // +// You may not change or alter any portion of this comment or credits // +// of supporting developers from this source code or any supporting // +// source code which is considered copyrighted (c) material of the // +// original comment or credit authors. // +// // +// This program is distributed in the hope that it will be useful, // +// but WITHOUT ANY WARRANTY; without even the implied warranty of // +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // +// GNU General Public License for more details. // +// // +// You should have received a copy of the GNU General Public License // +// along with this program; if not, write to the Free Software // +// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA // +// ------------------------------------------------------------------------ // +// Author: Kazumi Ono (AKA onokazu) // +// URL: http://www.myweb.ne.jp/, http://www.xoops.org/, http://jp.xoops.org/ // +// Project: The XOOPS Project // +// ------------------------------------------------------------------------- // + +include "header.php"; +// this page uses smarty template +// this must be set before including main header.php +$xoopsOption['template_main']= 'newbb_index.html'; +include XOOPS_ROOT_PATH."/header.php"; + +$myts =& MyTextSanitizer::getInstance(); + +$sql = 'SELECT c.* FROM '.$xoopsDB->prefix('bb_categories').' c, '.$xoopsDB->prefix("bb_forums").' f WHERE f.cat_id=c.cat_id GROUP BY c.cat_id, c.cat_title, c.cat_order ORDER BY c.cat_order'; +if ( !$result = $xoopsDB->query($sql) ) { + redirect_header(XOOPS_URL.'/',1,_MD_ERROROCCURED); + exit(); +} + +$xoopsTpl->assign(array("lang_welcomemsg" => sprintf(_MD_WELCOME,htmlspecialchars($xoopsConfig['sitename'], ENT_QUOTES)), "lang_tostart" => _MD_TOSTART, "lang_totaltopics" => _MD_TOTALTOPICSC, "lang_totalposts" => _MD_TOTALPOSTSC, "total_topics" => get_total_topics(), "total_posts" => get_total_posts(0, 'all'), "lang_lastvisit" => sprintf(_MD_LASTVISIT,formatTimestamp($last_visit)), "lang_currenttime" => sprintf(_MD_TIMENOW,formatTimestamp(time(),"m")), "lang_forum" => _MD_FORUM, "lang_topics" => _MD_TOPICS, "lang_posts" => _MD_POSTS, "lang_lastpost" => _MD_LASTPOST, "lang_moderators" => _MD_MODERATOR)); + +$viewcat = (!empty($HTTP_GET_VARS['cat'])) ? intval($HTTP_GET_VARS['cat']) : 0; +$categories = array(); +while ( $cat_row = $xoopsDB->fetchArray($result) ) { + $categories[] = $cat_row; +} + +$sql = 'SELECT f.*, u.uname, u.uid, p.topic_id, p.post_time, p.subject, p.icon FROM '.$xoopsDB->prefix('bb_forums').' f LEFT JOIN '.$xoopsDB->prefix('bb_posts').' p ON p.post_id = f.forum_last_post_id LEFT JOIN '.$xoopsDB->prefix('users').' u ON u.uid = p.uid'; +if ( $viewcat != 0 ) { + $sql .= ' WHERE f.cat_id = '.$viewcat; + $xoopsTpl->assign('forum_index_title', sprintf(_MD_FORUMINDEX,htmlspecialchars($xoopsConfig['sitename'], ENT_QUOTES))); +} else { + $xoopsTpl->assign('forum_index_title', ''); +} +$sql .= ' ORDER BY f.cat_id, f.forum_id'; +if ( !$result = $xoopsDB->query($sql) ) { + exit("Error"); +} +$forums = array(); // RMV-FIX +while ( $forum_data = $xoopsDB->fetchArray($result) ) { + $forums[] = $forum_data; +} +$cat_count = count($categories); +if ($cat_count > 0) { + for ( $i = 0; $i < $cat_count; $i++ ) { + $categories[$i]['cat_title'] = $myts->makeTboxData4Show($categories[$i]['cat_title']); + if ( $viewcat != 0 && $categories[$i]['cat_id'] != $viewcat ) { + $xoopsTpl->append("categories", $categories[$i]); + continue; + } + $topic_lastread = newbb_get_topics_viewed(); + foreach ( $forums as $forum_row ) { + unset($last_post); + if ( $forum_row['cat_id'] == $categories[$i]['cat_id'] ) { + if ($forum_row['post_time']) { + //$forum_row['subject'] = $myts->makeTboxData4Show($forum_row['subject']); + $categories[$i]['forums']['forum_lastpost_time'][] = formatTimestamp($forum_row['post_time']); + $last_post_icon = ''; + if ( $forum_row['icon'] ) { + $last_post_icon .= ''; + } else { + $last_post_icon .= ''; + } + $last_post_icon .= ''; + $categories[$i]['forums']['forum_lastpost_icon'][] = $last_post_icon; + if ( $forum_row['uid'] != 0 && $forum_row['uname'] ){ + $categories[$i]['forums']['forum_lastpost_user'][] = '' . $myts->makeTboxData4Show($forum_row['uname']).''; + } else { + $categories[$i]['forums']['forum_lastpost_user'][] = $xoopsConfig['anonymous']; + } + $forum_lastread = !empty($topic_lastread[$forum_row['topic_id']]) ? $topic_lastread[$forum_row['topic_id']] : false; + if ( $forum_row['forum_type'] == 1 ) { + $categories[$i]['forums']['forum_folder'][] = $bbImage['locked_forum']; + } elseif ( $forum_row['post_time'] > $forum_lastread && !empty($forum_row['topic_id'])) { + $categories[$i]['forums']['forum_folder'][] = $bbImage['newposts_forum']; + } else { + $categories[$i]['forums']['forum_folder'][] = $bbImage['folder_forum']; + } + } else { + // no forums, so put empty values + $categories[$i]['forums']['forum_lastpost_time'][] = ""; + $categories[$i]['forums']['forum_lastpost_icon'][] = ""; + $categories[$i]['forums']['forum_lastpost_user'][] = ""; + if ( $forum_row['forum_type'] == 1 ) { + $categories[$i]['forums']['forum_folder'][] = $bbImage['locked_forum']; + } else { + $categories[$i]['forums']['forum_folder'][] = $bbImage['folder_forum']; + } + } + $categories[$i]['forums']['forum_id'][] = $forum_row['forum_id']; + $categories[$i]['forums']['forum_name'][] = $myts->makeTboxData4Show($forum_row['forum_name']); + $categories[$i]['forums']['forum_desc'][] = $myts->makeTareaData4Show($forum_row['forum_desc']); + $categories[$i]['forums']['forum_topics'][] = $forum_row['forum_topics']; + $categories[$i]['forums']['forum_posts'][] = $forum_row['forum_posts']; + $all_moderators = get_moderators($forum_row['forum_id']); + $count = 0; + $forum_moderators = ''; + foreach ( $all_moderators as $mods) { + foreach ( $mods as $mod_id => $mod_name) { + if ( $count > 0 ) { + $forum_moderators .= ', '; + } + $forum_moderators .= ''.$myts->makeTboxData4Show($mod_name).''; + $count = 1; + } + } + $categories[$i]['forums']['forum_moderators'][] = $forum_moderators; + } + } + $xoopsTpl->append("categories", $categories[$i]); + } +} else { + $xoopsTpl->append("categories", array()); +} +$xoopsTpl->assign(array("img_hotfolder" => $bbImage['newposts_forum'], "img_folder" => $bbImage['folder_forum'], "img_locked" => $bbImage['locked_forum'], "lang_newposts" => _MD_NEWPOSTS, "lang_private" => _MD_PRIVATEFORUM, "lang_nonewposts" => _MD_NONEWPOSTS, "lang_search" => _MD_SEARCH, "lang_advsearch" => _MD_ADVSEARCH)); +include_once XOOPS_ROOT_PATH.'/footer.php'; +?> Index: xoops2jp/html/modules/newbb/viewforum.php diff -u xoops2jp/html/modules/newbb/viewforum.php:1.4 xoops2jp/html/modules/newbb/viewforum.php:1.5 --- xoops2jp/html/modules/newbb/viewforum.php:1.4 Mon Sep 5 05:46:10 2005 +++ xoops2jp/html/modules/newbb/viewforum.php Mon Oct 24 20:44:17 2005 @@ -1,282 +1,282 @@ - // -// ------------------------------------------------------------------------ // -// This program is free software; you can redistribute it and/or modify // -// it under the terms of the GNU General Public License as published by // -// the Free Software Foundation; either version 2 of the License, or // -// (at your option) any later version. // -// // -// You may not change or alter any portion of this comment or credits // -// of supporting developers from this source code or any supporting // -// source code which is considered copyrighted (c) material of the // -// original comment or credit authors. // -// // -// This program is distributed in the hope that it will be useful, // -// but WITHOUT ANY WARRANTY; without even the implied warranty of // -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // -// GNU General Public License for more details. // -// // -// You should have received a copy of the GNU General Public License // -// along with this program; if not, write to the Free Software // -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA // -// ------------------------------------------------------------------------ // -// Author: Kazumi Ono (AKA onokazu) // -// URL: http://www.myweb.ne.jp/, http://www.xoops.org/, http://jp.xoops.org/ // -// Project: The XOOPS Project // -// ------------------------------------------------------------------------- // - -include "header.php"; - -$forum = intval($_GET['forum']); -if ( $forum < 1 ) { - redirect_header("index.php", 2, _MD_ERRORFORUM); - exit(); -} -$sql = 'SELECT forum_type, forum_name, forum_access, allow_html, allow_sig, posts_per_page, hot_threshold, topics_per_page FROM '.$xoopsDB->prefix('bb_forums').' WHERE forum_id = '.$forum; -if ( !$result = $xoopsDB->query($sql) ) { - redirect_header("index.php", 2, _MD_ERRORCONNECT); - exit(); -} -if ( !$forumdata = $xoopsDB->fetchArray($result) ) { - redirect_header("index.php", 2, _MD_ERROREXIST); - exit(); -} -// this page uses smarty template -// this must be set before including main header.php -$xoopsOption['template_main'] = 'newbb_viewforum.html'; -include XOOPS_ROOT_PATH."/header.php"; -$can_post = 0; -$show_reg = 0; -if ( $forumdata['forum_type'] == 1 ) { - // this is a private forum. - $xoopsTpl->assign('is_private_forum', true); - $accesserror = 0; - if ( $xoopsUser ) { - if ( !$xoopsUser->isAdmin($xoopsModule->mid()) ) { - if ( !check_priv_forum_auth($xoopsUser->getVar("uid"), $forum, false) ) { - $accesserror = 1; - } - } - } else { - $accesserror = 1; - } - if ( $accesserror == 1 ) { - redirect_header("index.php",2,_MD_NORIGHTTOACCESS); - exit(); - } - $can_post = 1; - $show_reg = 1; -} else { - // this is not a priv forum - $xoopsTpl->assign('is_private_forum', false); - if ( $forumdata['forum_access'] == 1 ) { - // this is a reg user only forum - if ( $xoopsUser ) { - $can_post = 1; - } else { - $show_reg = 1; - } - } elseif ( $forumdata['forum_access'] == 2 ) { - // this is an open forum - $can_post = 1; - } else { - // this is an admin/moderator only forum - if ( $xoopsUser ) { - if ( $xoopsUserIsAdmin || is_moderator($forum, $xoopsUser->uid()) ) { - $can_post = 1; - } - } - } -} - -$xoopsTpl->assign("forum_id", $forum); -if ( $can_post == 1 ) { - $xoopsTpl->assign('viewer_can_post', true); - $xoopsTpl->assign('forum_post_or_register', "\""._MD_POSTNEW."\""); -} else { - $xoopsTpl->assign('viewer_can_post', false); - if ( $show_reg == 1 ) { - $xoopsTpl->assign('forum_post_or_register', ''._MD_REGTOPOST.''); - } else { - $xoopsTpl->assign('forum_post_or_register', ""); - } -} -$xoopsTpl->assign('forum_index_title', sprintf(_MD_FORUMINDEX,$xoopsConfig['sitename'])); -$xoopsTpl->assign('forum_image_folder', $bbImage['folder_topic']); -$myts =& MyTextSanitizer::getInstance(); -$xoopsTpl->assign('forum_name', $myts->makeTboxData4Show($forumdata['forum_name'])); -$xoopsTpl->assign('lang_moderatedby', _MD_MODERATEDBY); - -$forum_moderators = ""; -$count = 0; -$moderators = get_moderators($forum); -foreach ( $moderators as $mods ) { - foreach ( $mods as $mod_id => $mod_name ) { - if ( $count > 0 ) { - $forum_moderators .= ", "; - } - $forum_moderators .= ''.$myts->makeTboxData4Show($mod_name).''; - $count = 1; - } -} -$xoopsTpl->assign('forum_moderators', $forum_moderators); - - -$sel_sort_array = array("t.topic_title"=>_MD_TOPICTITLE, "t.topic_replies"=>_MD_NUMBERREPLIES, "u.uname"=>_MD_TOPICPOSTER, "t.topic_views"=>_MD_VIEWS, "p.post_time"=>_MD_LASTPOSTTIME); -if ( !isset($_GET['sortname']) || !in_array($_GET['sortname'], array_keys($sel_sort_array)) ) { - $sortname = "p.post_time"; -} else { - $sortname = $_GET['sortname']; -} - -$xoopsTpl->assign('lang_sortby', _MD_SORTEDBY); - -$forum_selection_sort = ''; - -// assign to template -$xoopsTpl->assign('forum_selection_sort', $forum_selection_sort); - -$sortorder = (!isset($_GET['sortorder']) || $_GET['sortorder'] != "ASC") ? "DESC" : "ASC"; -$forum_selection_order = ''; - -// assign to template -$xoopsTpl->assign('forum_selection_order', $forum_selection_order); - -$sortsince = !empty($_GET['sortsince']) ? intval($_GET['sortsince']) : 100; -$sel_since_array = array(1, 2, 5, 10, 20, 30, 40, 60, 75, 100); -$forum_selection_since = ''; - -// assign to template -$xoopsTpl->assign('forum_selection_since', $forum_selection_since); -$xoopsTpl->assign('lang_go', _MD_GO); - -$xoopsTpl->assign('h_topic_link', "viewforum.php?forum=$forum&sortname=t.topic_title&sortsince=$sortsince&sortorder=". (($sortname == "t.topic_title" && $sortorder == "DESC") ? "ASC" : "DESC")); -$xoopsTpl->assign('lang_topic', _MD_TOPIC); - -$xoopsTpl->assign('h_reply_link', "viewforum.php?forum=$forum&sortname=t.topic_replies&sortsince=$sortsince&sortorder=". (($sortname == "t.topic_replies" && $sortorder == "DESC") ? "ASC" : "DESC")); -$xoopsTpl->assign('lang_replies', _MD_REPLIES); - -$xoopsTpl->assign('h_poster_link', "viewforum.php?forum=$forum&sortname=u.uname&sortsince=$sortsince&sortorder=". (($sortname == "u.uname" && $sortorder == "DESC") ? "ASC" : "DESC")); -$xoopsTpl->assign('lang_poster', _MD_POSTER); - -$xoopsTpl->assign('h_views_link', "viewforum.php?forum=$forum&sortname=t.topic_views&sortsince=$sortsince&sortorder=". (($sortname == "t.topic_views" && $sortorder == "DESC") ? "ASC" : "DESC")); -$xoopsTpl->assign('lang_views', _MD_VIEWS); - -$xoopsTpl->assign('h_date_link', "viewforum.php?forum=$forum&sortname=p.post_time&sortsince=$sortsince&sortorder=". (($sortname == "p.post_time" && $sortorder == "DESC") ? "ASC" : "DESC")); -$xoopsTpl->assign('lang_date', _MD_DATE); - -$startdate = time() - (86400* $sortsince); -$start = !empty($_GET['start']) ? intval($_GET['start']) : 0; - -$sql = 'SELECT t.*, u.uname, u2.uname as last_poster, p.post_time as last_post_time, p.icon FROM '.$xoopsDB->prefix("bb_topics").' t LEFT JOIN '.$xoopsDB->prefix('users').' u ON u.uid = t.topic_poster LEFT JOIN '.$xoopsDB->prefix('bb_posts').' p ON p.post_id = t.topic_last_post_id LEFT JOIN '.$xoopsDB->prefix('users').' u2 ON u2.uid = p.uid WHERE t.forum_id = '.$forum.' AND (p.post_time > '.$startdate.' OR t.topic_sticky=1) ORDER BY topic_sticky DESC, '.$sortname.' '.$sortorder; -if ( !$result = $xoopsDB->query($sql,$forumdata['topics_per_page'],$start) ) { - redirect_header('index.php',2,_MD_ERROROCCURED); - exit(); -} - -// Read topic 'lastread' times from cookie, if exists -$topic_lastread = newbb_get_topics_viewed(); -while ( $myrow = $xoopsDB->fetchArray($result) ) { - - if ( empty($myrow['last_poster']) ) { - $myrow['last_poster'] = $xoopsConfig['anonymous']; - } - if ( $myrow['topic_sticky'] == 1 ) { - $image = $bbImage['folder_sticky']; - } elseif ( $myrow['topic_status'] == 1 ) { - $image = $bbImage['locked_topic']; - } else { - if ( $myrow['topic_replies'] >= $forumdata['hot_threshold'] ) { - if ( empty($topic_lastread[$myrow['topic_id']]) || ($topic_lastread[$myrow['topic_id']] < $myrow['last_post_time'] )) { - $image = $bbImage['hot_newposts_topic']; - } else { - $image = $bbImage['hot_folder_topic']; - } - } else { - if ( empty($topic_lastread[$myrow['topic_id']]) || ($topic_lastread[$myrow['topic_id']] < $myrow['last_post_time'] )) { - $image = $bbImage['newposts_topic']; - } else { - $image = $bbImage['folder_topic']; - } - } - } - $pagination = ''; - $addlink = ''; - $topiclink = 'viewtopic.php?topic_id='.$myrow['topic_id'].'&forum='.$forum; - $totalpages = ceil(($myrow['topic_replies'] + 1) / $forumdata['posts_per_page']); - if ( $totalpages > 1 ) { - $pagination .= '    '; - for ( $i = 1; $i <= $totalpages; $i++ ) { - - if ( $i > 3 && $i < $totalpages ) { - $pagination .= "..."; - } else { - $addlink = '&start='.(($i - 1) * $forumdata['posts_per_page']); - $pagination .= '['.$i.']'; - } - } - } - if ( $myrow['icon'] ) { - $topic_icon = ''; - } else { - $topic_icon = ''; - } - if ( $myrow['topic_poster'] != 0 && $myrow['uname'] ) { - $topic_poster = ''.$myrow['uname'].''; - } else { - $topic_poster = $xoopsConfig['anonymous']; - } - $xoopsTpl->append('topics', array('topic_icon'=>$topic_icon, 'topic_folder'=>$image, 'topic_title'=>$myts->makeTboxData4Show($myrow['topic_title']), 'topic_link'=>$topiclink, 'topic_page_jump'=>$pagination, 'topic_replies'=>$myrow['topic_replies'], 'topic_poster'=>$topic_poster, 'topic_views'=>$myrow['topic_views'], 'topic_last_posttime'=>formatTimestamp($myrow['last_post_time']), 'topic_last_poster'=>$myts->makeTboxData4Show($myrow['last_poster']))); -} - -$xoopsTpl->assign('lang_by', _MD_BY); - -$xoopsTpl->assign('img_newposts', $bbImage['newposts_topic']); -$xoopsTpl->assign('img_hotnewposts', $bbImage['hot_newposts_topic']); -$xoopsTpl->assign('img_folder', $bbImage['folder_topic']); -$xoopsTpl->assign('img_hotfolder', $bbImage['hot_folder_topic']); -$xoopsTpl->assign('img_locked', $bbImage['locked_topic']); -$xoopsTpl->assign('img_sticky', $bbImage['folder_sticky']); -$xoopsTpl->assign('lang_newposts', _MD_NEWPOSTS); -$xoopsTpl->assign('lang_hotnewposts', _MD_MORETHAN); -$xoopsTpl->assign('lang_hotnonewposts', _MD_MORETHAN2); -$xoopsTpl->assign('lang_nonewposts', _MD_NONEWPOSTS); -$xoopsTpl->assign('lang_legend', _MD_LEGEND); -$xoopsTpl->assign('lang_topiclocked', _MD_TOPICLOCKED); -$xoopsTpl->assign('lang_topicsticky', _MD_TOPICSTICKY); -$xoopsTpl->assign("lang_search", _MD_SEARCH); -$xoopsTpl->assign("lang_advsearch", _MD_ADVSEARCH); - -$sql = 'SELECT COUNT(*) FROM '.$xoopsDB->prefix('bb_topics').' WHERE forum_id = '.$forum.' AND (topic_time > '.$startdate.' OR topic_sticky = 1)'; -if ( !$r = $xoopsDB->query($sql) ) { - //redirect_header('index.php',2,_MD_ERROROCCURED); - //exit(); -} -list($all_topics) = $xoopsDB->fetchRow($r); -if ( $all_topics > $forumdata['topics_per_page'] ) { - include XOOPS_ROOT_PATH.'/class/pagenav.php'; - $nav = new XoopsPageNav($all_topics, $forumdata['topics_per_page'], $start, "start", 'forum='.$forum.'&sortname='.$sortname.'&sortorder='.$sortorder.'&sortsince='.$sortsince); - $xoopsTpl->assign('forum_pagenav', $nav->renderNav(4)); -} else { - $xoopsTpl->assign('forum_pagenav', ''); -} -$xoopsTpl->assign('forum_jumpbox', make_jumpbox($forum)); -include XOOPS_ROOT_PATH."/footer.php"; -?> + // +// ------------------------------------------------------------------------ // +// This program is free software; you can redistribute it and/or modify // +// it under the terms of the GNU General Public License as published by // +// the Free Software Foundation; either version 2 of the License, or // +// (at your option) any later version. // +// // +// You may not change or alter any portion of this comment or credits // +// of supporting developers from this source code or any supporting // +// source code which is considered copyrighted (c) material of the // +// original comment or credit authors. // +// // +// This program is distributed in the hope that it will be useful, // +// but WITHOUT ANY WARRANTY; without even the implied warranty of // +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // +// GNU General Public License for more details. // +// // +// You should have received a copy of the GNU General Public License // +// along with this program; if not, write to the Free Software // +// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA // +// ------------------------------------------------------------------------ // +// Author: Kazumi Ono (AKA onokazu) // +// URL: http://www.myweb.ne.jp/, http://www.xoops.org/, http://jp.xoops.org/ // +// Project: The XOOPS Project // +// ------------------------------------------------------------------------- // + +include "header.php"; + +$forum = intval($HTTP_GET_VARS['forum']); +if ( $forum < 1 ) { + redirect_header("index.php", 2, _MD_ERRORFORUM); + exit(); +} +$sql = 'SELECT forum_type, forum_name, forum_access, allow_html, allow_sig, posts_per_page, hot_threshold, topics_per_page FROM '.$xoopsDB->prefix('bb_forums').' WHERE forum_id = '.$forum; +if ( !$result = $xoopsDB->query($sql) ) { + redirect_header("index.php", 2, _MD_ERRORCONNECT); + exit(); +} +if ( !$forumdata = $xoopsDB->fetchArray($result) ) { + redirect_header("index.php", 2, _MD_ERROREXIST); + exit(); +} +// this page uses smarty template +// this must be set before including main header.php +$xoopsOption['template_main'] = 'newbb_viewforum.html'; +include XOOPS_ROOT_PATH."/header.php"; +$can_post = 0; +$show_reg = 0; +if ( $forumdata['forum_type'] == 1 ) { + // this is a private forum. + $xoopsTpl->assign('is_private_forum', true); + $accesserror = 0; + if ( $xoopsUser ) { + if ( !$xoopsUser->isAdmin($xoopsModule->mid()) ) { + if ( !check_priv_forum_auth($xoopsUser->getVar("uid"), $forum, false) ) { + $accesserror = 1; + } + } + } else { + $accesserror = 1; + } + if ( $accesserror == 1 ) { + redirect_header("index.php",2,_MD_NORIGHTTOACCESS); + exit(); + } + $can_post = 1; + $show_reg = 1; +} else { + // this is not a priv forum + $xoopsTpl->assign('is_private_forum', false); + if ( $forumdata['forum_access'] == 1 ) { + // this is a reg user only forum + if ( $xoopsUser ) { + $can_post = 1; + } else { + $show_reg = 1; + } + } elseif ( $forumdata['forum_access'] == 2 ) { + // this is an open forum + $can_post = 1; + } else { + // this is an admin/moderator only forum + if ( $xoopsUser ) { + if ( $xoopsUserIsAdmin || is_moderator($forum, $xoopsUser->uid()) ) { + $can_post = 1; + } + } + } +} + +$xoopsTpl->assign("forum_id", $forum); +if ( $can_post == 1 ) { + $xoopsTpl->assign('viewer_can_post', true); + $xoopsTpl->assign('forum_post_or_register', "\""._MD_POSTNEW."\""); +} else { + $xoopsTpl->assign('viewer_can_post', false); + if ( $show_reg == 1 ) { + $xoopsTpl->assign('forum_post_or_register', ''._MD_REGTOPOST.''); + } else { + $xoopsTpl->assign('forum_post_or_register', ""); + } +} +$xoopsTpl->assign('forum_index_title', sprintf(_MD_FORUMINDEX,$xoopsConfig['sitename'])); +$xoopsTpl->assign('forum_image_folder', $bbImage['folder_topic']); +$myts =& MyTextSanitizer::getInstance(); +$xoopsTpl->assign('forum_name', $myts->makeTboxData4Show($forumdata['forum_name'])); +$xoopsTpl->assign('lang_moderatedby', _MD_MODERATEDBY); + +$forum_moderators = ""; +$count = 0; +$moderators = get_moderators($forum); +foreach ( $moderators as $mods ) { + foreach ( $mods as $mod_id => $mod_name ) { + if ( $count > 0 ) { + $forum_moderators .= ", "; + } + $forum_moderators .= ''.$myts->makeTboxData4Show($mod_name).''; + $count = 1; + } +} +$xoopsTpl->assign('forum_moderators', $forum_moderators); + + +$sel_sort_array = array("t.topic_title"=>_MD_TOPICTITLE, "t.topic_replies"=>_MD_NUMBERREPLIES, "u.uname"=>_MD_TOPICPOSTER, "t.topic_views"=>_MD_VIEWS, "p.post_time"=>_MD_LASTPOSTTIME); +if ( !isset($HTTP_GET_VARS['sortname']) || !in_array($HTTP_GET_VARS['sortname'], array_keys($sel_sort_array)) ) { + $sortname = "p.post_time"; +} else { + $sortname = $HTTP_GET_VARS['sortname']; +} + +$xoopsTpl->assign('lang_sortby', _MD_SORTEDBY); + +$forum_selection_sort = ''; + +// assign to template +$xoopsTpl->assign('forum_selection_sort', $forum_selection_sort); + +$sortorder = (!isset($HTTP_GET_VARS['sortorder']) || $HTTP_GET_VARS['sortorder'] != "ASC") ? "DESC" : "ASC"; +$forum_selection_order = ''; + +// assign to template +$xoopsTpl->assign('forum_selection_order', $forum_selection_order); + +$sortsince = !empty($HTTP_GET_VARS['sortsince']) ? intval($HTTP_GET_VARS['sortsince']) : 100; +$sel_since_array = array(1, 2, 5, 10, 20, 30, 40, 60, 75, 100); +$forum_selection_since = ''; + +// assign to template +$xoopsTpl->assign('forum_selection_since', $forum_selection_since); +$xoopsTpl->assign('lang_go', _MD_GO); + +$xoopsTpl->assign('h_topic_link', "viewforum.php?forum=$forum&sortname=t.topic_title&sortsince=$sortsince&sortorder=". (($sortname == "t.topic_title" && $sortorder == "DESC") ? "ASC" : "DESC")); +$xoopsTpl->assign('lang_topic', _MD_TOPIC); + +$xoopsTpl->assign('h_reply_link', "viewforum.php?forum=$forum&sortname=t.topic_replies&sortsince=$sortsince&sortorder=". (($sortname == "t.topic_replies" && $sortorder == "DESC") ? "ASC" : "DESC")); +$xoopsTpl->assign('lang_replies', _MD_REPLIES); + +$xoopsTpl->assign('h_poster_link', "viewforum.php?forum=$forum&sortname=u.uname&sortsince=$sortsince&sortorder=". (($sortname == "u.uname" && $sortorder == "DESC") ? "ASC" : "DESC")); +$xoopsTpl->assign('lang_poster', _MD_POSTER); + +$xoopsTpl->assign('h_views_link', "viewforum.php?forum=$forum&sortname=t.topic_views&sortsince=$sortsince&sortorder=". (($sortname == "t.topic_views" && $sortorder == "DESC") ? "ASC" : "DESC")); +$xoopsTpl->assign('lang_views', _MD_VIEWS); + +$xoopsTpl->assign('h_date_link', "viewforum.php?forum=$forum&sortname=p.post_time&sortsince=$sortsince&sortorder=". (($sortname == "p.post_time" && $sortorder == "DESC") ? "ASC" : "DESC")); +$xoopsTpl->assign('lang_date', _MD_DATE); + +$startdate = time() - (86400* $sortsince); +$start = !empty($HTTP_GET_VARS['start']) ? intval($HTTP_GET_VARS['start']) : 0; + +$sql = 'SELECT t.*, u.uname, u2.uname as last_poster, p.post_time as last_post_time, p.icon FROM '.$xoopsDB->prefix("bb_topics").' t LEFT JOIN '.$xoopsDB->prefix('users').' u ON u.uid = t.topic_poster LEFT JOIN '.$xoopsDB->prefix('bb_posts').' p ON p.post_id = t.topic_last_post_id LEFT JOIN '.$xoopsDB->prefix('users').' u2 ON u2.uid = p.uid WHERE t.forum_id = '.$forum.' AND (p.post_time > '.$startdate.' OR t.topic_sticky=1) ORDER BY topic_sticky DESC, '.$sortname.' '.$sortorder; +if ( !$result = $xoopsDB->query($sql,$forumdata['topics_per_page'],$start) ) { + redirect_header('index.php',2,_MD_ERROROCCURED); + exit(); +} + +// Read topic 'lastread' times from cookie, if exists +$topic_lastread = newbb_get_topics_viewed(); +while ( $myrow = $xoopsDB->fetchArray($result) ) { + + if ( empty($myrow['last_poster']) ) { + $myrow['last_poster'] = $xoopsConfig['anonymous']; + } + if ( $myrow['topic_sticky'] == 1 ) { + $image = $bbImage['folder_sticky']; + } elseif ( $myrow['topic_status'] == 1 ) { + $image = $bbImage['locked_topic']; + } else { + if ( $myrow['topic_replies'] >= $forumdata['hot_threshold'] ) { + if ( empty($topic_lastread[$myrow['topic_id']]) || ($topic_lastread[$myrow['topic_id']] < $myrow['last_post_time'] )) { + $image = $bbImage['hot_newposts_topic']; + } else { + $image = $bbImage['hot_folder_topic']; + } + } else { + if ( empty($topic_lastread[$myrow['topic_id']]) || ($topic_lastread[$myrow['topic_id']] < $myrow['last_post_time'] )) { + $image = $bbImage['newposts_topic']; + } else { + $image = $bbImage['folder_topic']; + } + } + } + $pagination = ''; + $addlink = ''; + $topiclink = 'viewtopic.php?topic_id='.$myrow['topic_id'].'&forum='.$forum; + $totalpages = ceil(($myrow['topic_replies'] + 1) / $forumdata['posts_per_page']); + if ( $totalpages > 1 ) { + $pagination .= '    '; + for ( $i = 1; $i <= $totalpages; $i++ ) { + + if ( $i > 3 && $i < $totalpages ) { + $pagination .= "..."; + } else { + $addlink = '&start='.(($i - 1) * $forumdata['posts_per_page']); + $pagination .= '['.$i.']'; + } + } + } + if ( $myrow['icon'] ) { + $topic_icon = ''; + } else { + $topic_icon = ''; + } + if ( $myrow['topic_poster'] != 0 && $myrow['uname'] ) { + $topic_poster = ''.$myrow['uname'].''; + } else { + $topic_poster = $xoopsConfig['anonymous']; + } + $xoopsTpl->append('topics', array('topic_icon'=>$topic_icon, 'topic_folder'=>$image, 'topic_title'=>$myts->makeTboxData4Show($myrow['topic_title']), 'topic_link'=>$topiclink, 'topic_page_jump'=>$pagination, 'topic_replies'=>$myrow['topic_replies'], 'topic_poster'=>$topic_poster, 'topic_views'=>$myrow['topic_views'], 'topic_last_posttime'=>formatTimestamp($myrow['last_post_time']), 'topic_last_poster'=>$myts->makeTboxData4Show($myrow['last_poster']))); +} + +$xoopsTpl->assign('lang_by', _MD_BY); + +$xoopsTpl->assign('img_newposts', $bbImage['newposts_topic']); +$xoopsTpl->assign('img_hotnewposts', $bbImage['hot_newposts_topic']); +$xoopsTpl->assign('img_folder', $bbImage['folder_topic']); +$xoopsTpl->assign('img_hotfolder', $bbImage['hot_folder_topic']); +$xoopsTpl->assign('img_locked', $bbImage['locked_topic']); +$xoopsTpl->assign('img_sticky', $bbImage['folder_sticky']); +$xoopsTpl->assign('lang_newposts', _MD_NEWPOSTS); +$xoopsTpl->assign('lang_hotnewposts', _MD_MORETHAN); +$xoopsTpl->assign('lang_hotnonewposts', _MD_MORETHAN2); +$xoopsTpl->assign('lang_nonewposts', _MD_NONEWPOSTS); +$xoopsTpl->assign('lang_legend', _MD_LEGEND); +$xoopsTpl->assign('lang_topiclocked', _MD_TOPICLOCKED); +$xoopsTpl->assign('lang_topicsticky', _MD_TOPICSTICKY); +$xoopsTpl->assign("lang_search", _MD_SEARCH); +$xoopsTpl->assign("lang_advsearch", _MD_ADVSEARCH); + +$sql = 'SELECT COUNT(*) FROM '.$xoopsDB->prefix('bb_topics').' WHERE forum_id = '.$forum.' AND (topic_time > '.$startdate.' OR topic_sticky = 1)'; +if ( !$r = $xoopsDB->query($sql) ) { + //redirect_header('index.php',2,_MD_ERROROCCURED); + //exit(); +} +list($all_topics) = $xoopsDB->fetchRow($r); +if ( $all_topics > $forumdata['topics_per_page'] ) { + include XOOPS_ROOT_PATH.'/class/pagenav.php'; + $nav = new XoopsPageNav($all_topics, $forumdata['topics_per_page'], $start, "start", 'forum='.$forum.'&sortname='.$sortname.'&sortorder='.$sortorder.'&sortsince='.$sortsince); + $xoopsTpl->assign('forum_pagenav', $nav->renderNav(4)); +} else { + $xoopsTpl->assign('forum_pagenav', ''); +} +$xoopsTpl->assign('forum_jumpbox', make_jumpbox($forum)); +include XOOPS_ROOT_PATH."/footer.php"; +?> Index: xoops2jp/html/modules/newbb/viewtopic.php diff -u xoops2jp/html/modules/newbb/viewtopic.php:1.3 xoops2jp/html/modules/newbb/viewtopic.php:1.4 --- xoops2jp/html/modules/newbb/viewtopic.php:1.3 Mon Sep 5 05:46:10 2005 +++ xoops2jp/html/modules/newbb/viewtopic.php Mon Oct 24 20:44:17 2005 @@ -1,360 +1,360 @@ - // -// ------------------------------------------------------------------------ // -// This program is free software; you can redistribute it and/or modify // -// it under the terms of the GNU General Public License as published by // -// the Free Software Foundation; either version 2 of the License, or // -// (at your option) any later version. // -// // -// You may not change or alter any portion of this comment or credits // -// of supporting developers from this source code or any supporting // -// source code which is considered copyrighted (c) material of the // -// original comment or credit authors. // -// // -// This program is distributed in the hope that it will be useful, // -// but WITHOUT ANY WARRANTY; without even the implied warranty of // -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // -// GNU General Public License for more details. // -// // -// You should have received a copy of the GNU General Public License // -// along with this program; if not, write to the Free Software // -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA // -// ------------------------------------------------------------------------ // -// Author: Kazumi Ono (AKA onokazu) // -// URL: http://www.myweb.ne.jp/, http://www.xoops.org/, http://jp.xoops.org/ // -// Project: The XOOPS Project // -// ------------------------------------------------------------------------- // - -include 'header.php'; -$forum = isset($_GET['forum']) ? intval($_GET['forum']) : 0; -$topic_id = isset($_GET['topic_id']) ? intval($_GET['topic_id']) : 0; -if ( empty($forum) ) { - redirect_header('index.php',2,_MD_ERRORFORUM); - exit(); -} elseif ( empty($topic_id) ) { - redirect_header('viewforum.php?forum='.$forum,2,_MD_ERRORTOPIC); - exit(); -} -$topic_time = (isset($_GET['topic_time'])) ? intval($_GET['topic_time']) : 0; -$post_id = !empty($_GET['post_id']) ? intval($_GET['post_id']) : 0; - -//use users preferences -if (is_object($xoopsUser)) { - $viewmode = $xoopsUser->getVar('umode'); - $order = ($xoopsUser->getVar('uorder') == 1) ? 'DESC' : 'ASC'; -} else { - $viewmode = 'flat'; - $order = 'ASC'; -} - -// newbb does not have nested mode -if ($viewmode == 'nest') { - $viewmode = 'thread'; -} - -// override mode/order if any requested -if (isset($_GET['viewmode']) && ($_GET['viewmode'] == 'flat' || $_GET['viewmode'] == 'thread')) { - $viewmode = $_GET['viewmode']; -} -if (isset($_GET['order']) && ($_GET['order'] == 'ASC' || $_GET['order'] == 'DESC')) { - $order = $_GET['order']; -} - -if ($viewmode != 'flat') { - $xoopsOption['template_main'] = 'newbb_viewtopic_thread.html'; -} else { - $xoopsOption['template_main'] = 'newbb_viewtopic_flat.html'; -} - -include XOOPS_ROOT_PATH.'/header.php'; -include_once 'class/class.forumposts.php'; - -if ( isset($_GET['move']) && 'next' == $_GET['move'] ) { - $sql = 'SELECT t.topic_id, t.topic_title, t.topic_time, t.topic_status, t.topic_sticky, t.topic_last_post_id, f.forum_id, f.forum_name, f.forum_access, f.forum_type, f.allow_html, f.allow_sig, f.posts_per_page, f.hot_threshold, f.topics_per_page FROM '.$xoopsDB->prefix('bb_topics').' t LEFT JOIN '.$xoopsDB->prefix('bb_forums').' f ON f.forum_id = t.forum_id WHERE t.topic_time > '.$topic_time.' AND t.forum_id = '.$forum.' ORDER BY t.topic_time ASC LIMIT 1'; -} elseif ( isset($_GET['move']) && 'prev' == $_GET['move']) { - $sql = 'SELECT t.topic_id, t.topic_title, t.topic_time, t.topic_status, t.topic_sticky, t.topic_last_post_id, f.forum_id, f.forum_name, f.forum_access, f.forum_type, f.allow_html, f.allow_sig, f.posts_per_page, f.hot_threshold, f.topics_per_page FROM '.$xoopsDB->prefix('bb_topics').' t LEFT JOIN '.$xoopsDB->prefix('bb_forums').' f ON f.forum_id = t.forum_id WHERE t.topic_time < '.$topic_time.' AND t.forum_id = '.$forum.' ORDER BY t.topic_time DESC LIMIT 1'; -} else { - $sql = 'SELECT t.topic_id, t.topic_title, t.topic_time, t.topic_status, t.topic_sticky, t.topic_last_post_id, f.forum_id, f.forum_name, f.forum_access, f.forum_type, f.allow_html, f.allow_sig, f.posts_per_page, f.hot_threshold, f.topics_per_page FROM '.$xoopsDB->prefix('bb_topics').' t LEFT JOIN '.$xoopsDB->prefix('bb_forums').' f ON f.forum_id = t.forum_id WHERE t.topic_id = '.$topic_id.' AND t.forum_id = '.$forum; -} - -if ( !$result = $xoopsDB->query($sql) ) { - redirect_header('viewforum.php?forum='.$forum,2,_MD_ERROROCCURED); - exit(); -} - -if ( !$forumdata = $xoopsDB->fetchArray($result) ) { - redirect_header('viewforum.php?forum='.$forum,2,_MD_FORUMNOEXIST); - exit(); -} -$xoopsTpl->assign('topic_id', $forumdata['topic_id']); -$topic_id = $forumdata['topic_id']; -$xoopsTpl->assign('forum_id', $forumdata['forum_id']); -$forum = $forumdata['forum_id']; -$can_post = 0; -$show_reg = 0; -if ( $forumdata['forum_type'] == 1 ) { - // this is a private forum. - $accesserror = 0; - if ( $xoopsUser ) { - if ( !$xoopsUser->isAdmin($xoopsModule->mid()) ) { - if ( !check_priv_forum_auth($xoopsUser->getVar('uid'), $forum, false) ) { - $accesserror = 1; - } - } else { - $isadminormod = 1; - } - } else { - $accesserror = 1; - } - if ( $accesserror == 1 ) { - redirect_header("index.php",2,_MD_NORIGHTTOACCESS); - exit(); - } - $can_post = 1; - $show_reg = 1; -} else { - // this is not a priv forum - if ( $forumdata['forum_access'] == 1 ) { - // this is a reg user only forum - if ( $xoopsUser ) { - $can_post = 1; - } else { - $show_reg = 1; - } - } elseif ( $forumdata['forum_access'] == 2 ) { - // this is an open forum - $can_post = 1; - } else { - // this is an admin/moderator only forum - if ( $xoopsUser ) { - if ( $xoopsUser->isAdmin($xoopsModule->mid()) || is_moderator($forum, $xoopsUser->getVar('uid')) ) { - $can_post = 1; - $isadminormod = 1; - } - } - } -} -$myts =& MyTextSanitizer::getInstance(); -$forumdata['topic_title'] = $myts->makeTboxData4Show($forumdata['topic_title']);$forumdata['forum_name'] = $myts->makeTboxData4Show($forumdata['forum_name']); -$xoopsTpl->assign(array('topic_title' => ''.$forumdata['topic_title'].'', 'forum_name' => $forumdata['forum_name'], 'topic_time' => $forumdata['topic_time'], 'lang_nexttopic' => _MD_NEXTTOPIC, 'lang_prevtopic' => _MD_PREVTOPIC)); - -// add image links to admin page if the user viewing this page is a forum admin -if ( $xoopsUser ) { - $xoopsTpl->assign('viewer_userid', $xoopsUser->getVar('uid')); - if ( !empty($isadminormod) || $xoopsUser->isAdmin($xoopsModule->mid()) || is_moderator( $forum, $xoopsUser->getVar('uid')) ) { - // yup, the user is admin - // the forum is locked? - if ( $forumdata['topic_status'] != 1 ) { - // nope - $xoopsTpl->assign('topic_lock_image', ''._MD_LOCKTOPIC.''); - } else { - // yup, it is.. - $xoopsTpl->assign('topic_lock_image', ''._MD_UNLOCKTOPIC.''); - } - $xoopsTpl->assign('topic_move_image', ''._MD_MOVETOPIC.''); - $xoopsTpl->assign('topic_delete_image', ''._MD_DELETETOPIC.''); - // is the topic sticky? - if ( $forumdata['topic_sticky'] != 1 ) { - // nope, not yet.. - $xoopsTpl->assign('topic_sticky_image', ''._MD_STICKYTOPIC.''); - } else { - // yup it is sticking.. - $xoopsTpl->assign('topic_sticky_image', ''._MD_UNSTICKYTOPIC.''); - } - // need to set this also - $xoopsTpl->assign('viewer_is_admin', true); - } else { - // nope, the user is not a forum admin.. - $xoopsTpl->assign('viewer_is_admin', false); - } -} else { - // nope, the user is not a forum admin, not even registered - $xoopsTpl->assign(array('viewer_is_admin' => false, 'viewer_userid' => 0)); -} - -function showTree(&$arr, $current=0, $key=0, $prefix='', $foundusers=array()){ - global $xoopsConfig; - if ($key != 0) { - if ( 0 != $arr[$key]['obj']->uid() ) { - if (!isset($foundusers[$arr[$key]['obj']->uid()])) { - $eachposter = new XoopsUser($arr[$key]['obj']->uid()); - $foundusers[$arr[$key]['obj']->uid()] =& $eachposter; - } else { - $eachposter =& $foundusers[$arr[$key]['obj']->uid()]; - } - $poster_rank = $eachposter->rank(); - if ( $poster_rank['image'] != '' ) { - $poster_rank['image'] = ''; - } - if ( $eachposter->isActive() ) { - $posterarr = array('poster_uid' => $eachposter->getVar('uid'), 'poster_uname' => ''.$eachposter->getVar('uname').''); - } else { - $posterarr = array('poster_uid' =>0, 'poster_uname' => $xoopsConfig['anonymous']); - } - } else { - $posterarr = array('poster_uid' =>0, 'poster_uname' => $xoopsConfig['anonymous']); - } - $posticon = $arr[$key]['obj']->icon(); - if ( isset($posticon) && $posticon != '' ) { - $post_image = ''; - } else { - $post_image = ''; - } - if ($current != $key) { - $subject = ''.$arr[$key]['obj']->subject().''; - $GLOBALS['xoopsTpl']->append("topic_trees", array_merge($posterarr, array("post_id" => $arr[$key]['obj']->postid(), "post_parent_id" => $arr[$key]['obj']->parent(), "post_date" => formatTimestamp($arr[$key]['obj']->posttime(), "m"), "post_image" => $post_image, "post_title" => $subject, "post_prefix" => $prefix))); - } else { - $subject = ''.$arr[$key]['obj']->subject().''; - $thisprefix = substr($prefix, 0, -6)."»"; - $GLOBALS['xoopsTpl']->append("topic_trees", array_merge($posterarr, array("post_id" => $arr[$key]['obj']->postid(), "post_parent_id" => $arr[$key]['obj']->parent(), "post_date" => formatTimestamp($arr[$key]['obj']->posttime(), "m"), "post_image" => $post_image, "post_title" => $subject, "post_prefix" => $thisprefix))); - } - } - if ( isset($arr[$key]['replies']) && !empty($arr[$key]['replies']) ){ - $prefix .= "  "; - foreach($arr[$key]['replies'] as $replykey) { - $current = ( $current == 0 ) ? $replykey : $current; - showTree($arr, $current, $replykey, $prefix, $foundusers); - } - } -} - -if ($order == 'DESC') { - $xoopsTpl->assign(array('order_current' => 'DESC', 'order_other' => 'ASC', 'lang_order_other' => _OLDESTFIRST)); -} else { - $xoopsTpl->assign(array('order_current' => 'ASC', 'order_other' => 'DESC', 'lang_order_other' => _NEWESTFIRST)); -} - -// initialize the start number of select query -$start = !empty($_GET['start']) ? intval($_GET['start']) : 0; - -$total_posts = get_total_posts($topic_id, 'topic'); -if ($total_posts > 50) { - $viewmode ="flat"; - // hide link to theaded view - $xoopsTpl->assign('lang_threaded', "" ); - $xoopsTpl->assign('lang_flat', _FLAT ); -} else { - $xoopsTpl->assign(array('lang_threaded' => _THREADED, 'lang_flat' => _FLAT)); -} - -if ( $can_post == 1 ) { - $xoopsTpl->assign(array('viewer_can_post' => true, 'forum_post_or_register' => "\""._MD_POSTNEW."\"")); -} else { - $xoopsTpl->assign('viewer_can_post', false); - if ( $show_reg == 1 ) { - $xoopsTpl->assign('forum_post_or_register', ''._MD_REGTOPOST.''); - } else { - $xoopsTpl->assign('forum_post_or_register', ''); - } -} - -if ( $viewmode == "thread" ) { - $start = 0; - $postsArray = ForumPosts::getAllPosts($topic_id, "ASC", $total_posts, $start); - $xoopsTpl->assign('topic_viewmode', 'thread'); - - $newObjArr = array(); - foreach ( $postsArray as $eachpost ) { - $key1 = $eachpost->postid(); - if ( (!empty($post_id) && $post_id == $key1) || ( empty($post_id) && $eachpost->parent() == 0 ) ) { - $post_text = $eachpost->text(); - if ( 0 != $eachpost->uid() ) { - $eachposter = new XoopsUser($eachpost->uid()); - $poster_rank = $eachposter->rank(); - if ( $poster_rank['image'] != "" ) { - $poster_rank['image'] = ""; - } - if ( $eachposter->isActive() ) { - $poster_status = $eachposter->isOnline() ? _MD_ONLINE : ''; - $posterarr = array('poster_uid' => $eachposter->getVar('uid'), 'poster_uname' => ''.$eachposter->getVar('uname').'', 'poster_avatar' => $eachposter->getVar('user_avatar'), 'poster_from' => $eachposter->getVar('user_from'), 'poster_regdate' => formatTimestamp($eachposter->getVar('user_regdate'), 's'), 'poster_postnum' => $eachposter->getVar('posts'), 'poster_sendpmtext' => sprintf(_SENDPMTO,$eachposter->getVar('uname')), 'poster_rank_title' => $poster_rank['title'], 'poster_rank_image' => $poster_rank['image'], 'poster_status' => $poster_status); - if ( 1 == $forumdata['allow_sig'] && $eachpost->attachsig() == 1 && $eachposter->attachsig() == 1 ) { - $myts =& MytextSanitizer::getInstance(); - $post_text .= "


    ----------------
    ". $myts->makeTareaData4Show($eachposter->getVar("user_sig", "N"), 0, 1, 1)."

    "; - } - } else { - $posterarr = array('poster_uid' =>0, 'poster_uname' => $xoopsConfig['anonymous'], 'poster_avatar' => '', 'poster_from' => '', 'poster_regdate' => '', 'poster_postnum' => '', 'poster_sendpmtext' => '', 'poster_rank_title' => '', 'poster_rank_image' => ''); - } - } else { - $posterarr = array('poster_uid' =>0, 'poster_uname' => $xoopsConfig['anonymous'], 'poster_avatar' => '', 'poster_from' => '', 'poster_regdate' => '', 'poster_postnum' => '', 'poster_sendpmtext' => '', 'poster_rank_title' => '', 'poster_rank_image' => ''); - } - $posticon = $eachpost->icon(); - if ( isset($posticon) && $posticon != '' ) { - $post_image = ''; - } else { - $post_image = ''; - } - $xoopsTpl->append('topic_posts', array_merge($posterarr, array('post_id' => $eachpost->postid(), 'post_parent_id' => $eachpost->parent(), 'post_date' => formatTimestamp($eachpost->posttime(), 'm'), 'post_poster_ip'=> $eachpost->posterip(), 'post_image' => $post_image, 'post_title' => $eachpost->subject(), 'post_text' => $post_text))); - } - $newObjArr[$key1]['obj'] = $eachpost; - $key2 = $eachpost->parent(); - $newObjArr[$key2]['replies'][] = $key1; - $newObjArr[$key2]['leaf'] = $key1; - } - showTree($newObjArr, $post_id); - $xoopsTpl->assign(array('lang_subject' => _MD_SUBJECT, 'lang_date' => _MD_DATE)); -} else { - $xoopsTpl->assign(array('topic_viewmode' => 'flat', 'lang_top' => _MD_TOP, 'lang_subject' => _MD_SUBJECT, 'lang_bottom' => _MD_BOTTOM)); - $postsArray = ForumPosts::getAllPosts($topic_id, $order, $forumdata['posts_per_page'], $start, $post_id); - $foundusers = array(); - foreach ( $postsArray as $eachpost ) { - $post_text = $eachpost->text(); - if ( 0 != $eachpost->uid() ) { - if (!isset($foundusers['user'.$eachpost->uid()])) { - $eachposter = new XoopsUser($eachpost->uid()); - $foundusers['user'.$eachpost->uid()] =& $eachposter; - } else { - $eachposter =& $foundusers['user'.$eachpost->uid()]; - } - $poster_rank = $eachposter->rank(); - if ( $poster_rank['image'] != '' ) { - $poster_rank['image'] = ''; - } - if ( $eachposter->isActive() ) { - $poster_status = $eachposter->isOnline() ? _MD_ONLINE : ''; - $posterarr = array('poster_uid' => $eachposter->getVar('uid'), 'poster_uname' => ''.$eachposter->getVar('uname').'', 'poster_avatar' => $eachposter->getVar('user_avatar'), 'poster_from' => $eachposter->getVar('user_from'), 'poster_regdate' => formatTimestamp($eachposter->getVar('user_regdate'), 's'), 'poster_postnum' => $eachposter->getVar('posts'), 'poster_sendpmtext' => sprintf(_SENDPMTO,$eachposter->getVar('uname')), 'poster_rank_title' => $poster_rank['title'], 'poster_rank_image' => $poster_rank['image'], 'poster_status' => $poster_status); - if ( 1 == $forumdata['allow_sig'] && $eachpost->attachsig() == 1 && $eachposter->attachsig() == 1 ) { - $myts =& MytextSanitizer::getInstance(); - $post_text .= '


    ----------------
    '. $myts->makeTareaData4Show($eachposter->getVar('user_sig', 'N'), 0, 1, 1).'

    '; - } - } else { - $posterarr = array('poster_uid' =>0, 'poster_uname' => $xoopsConfig['anonymous'], 'poster_avatar' => '', 'poster_from' => '', 'poster_regdate' => '', 'poster_postnum' => '', 'poster_sendpmtext' => '', 'poster_rank_title' => '', 'poster_rank_image' => ''); - } - } else { - $posterarr = array('poster_uid' =>0, 'poster_uname' => $xoopsConfig['anonymous'], 'poster_avatar' => '', 'poster_from' => '', 'poster_regdate' => '', 'poster_postnum' => '', 'poster_sendpmtext' => '', 'poster_rank_title' => '', 'poster_rank_image' => ''); - } - $posticon = $eachpost->icon(); - if ( isset($posticon) && $posticon != '' ) { - $post_image = ''; - } else { - $post_image = ''; - } - $xoopsTpl->append('topic_posts', array_merge($posterarr, array('post_id' => $eachpost->postid(), 'post_parent_id' => $eachpost->parent(), 'post_date' => formatTimestamp($eachpost->posttime(), 'm'), 'post_poster_ip'=> $eachpost->posterip(), 'post_image' => $post_image, 'post_title' => $eachpost->subject(), 'post_text' => $post_text))); - unset($eachposter); - } - if ( $total_posts > $forumdata['posts_per_page'] ) { - include XOOPS_ROOT_PATH.'/class/pagenav.php'; - $nav = new XoopsPageNav($total_posts, $forumdata['posts_per_page'], $start, "start", 'topic_id='.$topic_id.'&forum='.$forum.'&viewmode='.$viewmode.'&order='.$order); - $xoopsTpl->assign('forum_page_nav', $nav->renderNav(4)); - } else { - $xoopsTpl->assign('forum_page_nav', ''); - } -} - -// create jump box -$xoopsTpl->assign(array('forum_jumpbox' => make_jumpbox($forum), 'lang_forum_index' => sprintf(_MD_FORUMINDEX,$xoopsConfig['sitename']), 'lang_from' => _MD_FROM, 'lang_joined' => _MD_JOINED, 'lang_posts' => _MD_POSTS, 'lang_poster' => _MD_POSTER, 'lang_thread' => _MD_THREAD, 'lang_edit' => _EDIT, 'lang_delete' => _DELETE, 'lang_reply' => _REPLY, 'lang_postedon' => _MD_POSTEDON)); - -// Read in cookie of 'lastread' times -$topic_lastread = newbb_get_topics_viewed(); -// if cookie is not set for this topic, update view count and set cookie -if ( empty($topic_lastread[$topic_id]) ) { - $sql = 'UPDATE '.$xoopsDB->prefix('bb_topics').' SET topic_views = topic_views + 1 WHERE topic_id ='. $topic_id; - $xoopsDB->queryF($sql); -} -// Update cookie -newbb_add_topics_viewed($topic_lastread, $topic_id, time(), $bbCookie['path'], $bbCookie['domain'], $bbCookie['secure']); -include XOOPS_ROOT_PATH.'/footer.php'; -?> + // +// ------------------------------------------------------------------------ // +// This program is free software; you can redistribute it and/or modify // +// it under the terms of the GNU General Public License as published by // +// the Free Software Foundation; either version 2 of the License, or // +// (at your option) any later version. // +// // +// You may not change or alter any portion of this comment or credits // +// of supporting developers from this source code or any supporting // +// source code which is considered copyrighted (c) material of the // +// original comment or credit authors. // +// // +// This program is distributed in the hope that it will be useful, // +// but WITHOUT ANY WARRANTY; without even the implied warranty of // +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // +// GNU General Public License for more details. // +// // +// You should have received a copy of the GNU General Public License // +// along with this program; if not, write to the Free Software // +// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA // +// ------------------------------------------------------------------------ // +// Author: Kazumi Ono (AKA onokazu) // +// URL: http://www.myweb.ne.jp/, http://www.xoops.org/, http://jp.xoops.org/ // +// Project: The XOOPS Project // +// ------------------------------------------------------------------------- // + +include 'header.php'; +$forum = isset($HTTP_GET_VARS['forum']) ? intval($HTTP_GET_VARS['forum']) : 0; +$topic_id = isset($HTTP_GET_VARS['topic_id']) ? intval($HTTP_GET_VARS['topic_id']) : 0; +if ( empty($forum) ) { + redirect_header(XOOPS_URL."/modules/".$xoopsModule->getVar('dirname')."/index.php",2,_MD_ERRORFORUM); + exit(); +} elseif ( empty($topic_id) ) { + redirect_header('viewforum.php?forum='.$forum,2,_MD_ERRORTOPIC); + exit(); +} +$topic_time = (isset($HTTP_GET_VARS['topic_time'])) ? intval($HTTP_GET_VARS['topic_time']) : 0; +$post_id = !empty($HTTP_GET_VARS['post_id']) ? intval($HTTP_GET_VARS['post_id']) : 0; + +//use users preferences +if (is_object($xoopsUser)) { + $viewmode = $xoopsUser->getVar('umode'); + $order = ($xoopsUser->getVar('uorder') == 1) ? 'DESC' : 'ASC'; +} else { + $viewmode = 'flat'; + $order = 'ASC'; +} + +// newbb does not have nested mode +if ($viewmode == 'nest') { + $viewmode = 'thread'; +} + +// override mode/order if any requested +if (isset($HTTP_GET_VARS['viewmode']) && ($HTTP_GET_VARS['viewmode'] == 'flat' || $HTTP_GET_VARS['viewmode'] == 'thread')) { + $viewmode = $HTTP_GET_VARS['viewmode']; +} +if (isset($HTTP_GET_VARS['order']) && ($HTTP_GET_VARS['order'] == 'ASC' || $HTTP_GET_VARS['order'] == 'DESC')) { + $order = $HTTP_GET_VARS['order']; +} + +if ($viewmode != 'flat') { + $xoopsOption['template_main'] = 'newbb_viewtopic_thread.html'; +} else { + $xoopsOption['template_main'] = 'newbb_viewtopic_flat.html'; +} + +include XOOPS_ROOT_PATH.'/header.php'; +include_once 'class/class.forumposts.php'; + +if ( isset($HTTP_GET_VARS['move']) && 'next' == $HTTP_GET_VARS['move'] ) { + $sql = 'SELECT t.topic_id, t.topic_title, t.topic_time, t.topic_status, t.topic_sticky, t.topic_last_post_id, f.forum_id, f.forum_name, f.forum_access, f.forum_type, f.allow_html, f.allow_sig, f.posts_per_page, f.hot_threshold, f.topics_per_page FROM '.$xoopsDB->prefix('bb_topics').' t LEFT JOIN '.$xoopsDB->prefix('bb_forums').' f ON f.forum_id = t.forum_id WHERE t.topic_time > '.$topic_time.' AND t.forum_id = '.$forum.' ORDER BY t.topic_time ASC LIMIT 1'; +} elseif ( isset($HTTP_GET_VARS['move']) && 'prev' == $HTTP_GET_VARS['move']) { + $sql = 'SELECT t.topic_id, t.topic_title, t.topic_time, t.topic_status, t.topic_sticky, t.topic_last_post_id, f.forum_id, f.forum_name, f.forum_access, f.forum_type, f.allow_html, f.allow_sig, f.posts_per_page, f.hot_threshold, f.topics_per_page FROM '.$xoopsDB->prefix('bb_topics').' t LEFT JOIN '.$xoopsDB->prefix('bb_forums').' f ON f.forum_id = t.forum_id WHERE t.topic_time < '.$topic_time.' AND t.forum_id = '.$forum.' ORDER BY t.topic_time DESC LIMIT 1'; +} else { + $sql = 'SELECT t.topic_id, t.topic_title, t.topic_time, t.topic_status, t.topic_sticky, t.topic_last_post_id, f.forum_id, f.forum_name, f.forum_access, f.forum_type, f.allow_html, f.allow_sig, f.posts_per_page, f.hot_threshold, f.topics_per_page FROM '.$xoopsDB->prefix('bb_topics').' t LEFT JOIN '.$xoopsDB->prefix('bb_forums').' f ON f.forum_id = t.forum_id WHERE t.topic_id = '.$topic_id.' AND t.forum_id = '.$forum; +} + +if ( !$result = $xoopsDB->query($sql) ) { + redirect_header('viewforum.php?forum='.$forum,2,_MD_ERROROCCURED); + exit(); +} + +if ( !$forumdata = $xoopsDB->fetchArray($result) ) { + redirect_header('viewforum.php?forum='.$forum,2,_MD_FORUMNOEXIST); + exit(); +} +$xoopsTpl->assign('topic_id', $forumdata['topic_id']); +$topic_id = $forumdata['topic_id']; +$xoopsTpl->assign('forum_id', $forumdata['forum_id']); +$forum = $forumdata['forum_id']; +$can_post = 0; +$show_reg = 0; +if ( $forumdata['forum_type'] == 1 ) { + // this is a private forum. + $accesserror = 0; + if ( $xoopsUser ) { + if ( !$xoopsUser->isAdmin($xoopsModule->mid()) ) { + if ( !check_priv_forum_auth($xoopsUser->getVar('uid'), $forum, false) ) { + $accesserror = 1; + } + } else { + $isadminormod = 1; + } + } else { + $accesserror = 1; + } + if ( $accesserror == 1 ) { + redirect_header(XOOPS_URL."/modules/".$xoopsModule->getVar('dirname')."/index.php",2,_MD_NORIGHTTOACCESS); + exit(); + } + $can_post = 1; + $show_reg = 1; +} else { + // this is not a priv forum + if ( $forumdata['forum_access'] == 1 ) { + // this is a reg user only forum + if ( $xoopsUser ) { + $can_post = 1; + } else { + $show_reg = 1; + } + } elseif ( $forumdata['forum_access'] == 2 ) { + // this is an open forum + $can_post = 1; + } else { + // this is an admin/moderator only forum + if ( $xoopsUser ) { + if ( $xoopsUser->isAdmin($xoopsModule->mid()) || is_moderator($forum, $xoopsUser->getVar('uid')) ) { + $can_post = 1; + $isadminormod = 1; + } + } + } +} +$myts =& MyTextSanitizer::getInstance(); +$forumdata['topic_title'] = $myts->makeTboxData4Show($forumdata['topic_title']);$forumdata['forum_name'] = $myts->makeTboxData4Show($forumdata['forum_name']); +$xoopsTpl->assign(array('topic_title' => ''.$forumdata['topic_title'].'', 'forum_name' => $forumdata['forum_name'], 'topic_time' => $forumdata['topic_time'], 'lang_nexttopic' => _MD_NEXTTOPIC, 'lang_prevtopic' => _MD_PREVTOPIC)); + +// add image links to admin page if the user viewing this page is a forum admin +if ( $xoopsUser ) { + $xoopsTpl->assign('viewer_userid', $xoopsUser->getVar('uid')); + if ( !empty($isadminormod) || $xoopsUser->isAdmin($xoopsModule->mid()) || is_moderator( $forum, $xoopsUser->getVar('uid')) ) { + // yup, the user is admin + // the forum is locked? + if ( $forumdata['topic_status'] != 1 ) { + // nope + $xoopsTpl->assign('topic_lock_image', ''._MD_LOCKTOPIC.''); + } else { + // yup, it is.. + $xoopsTpl->assign('topic_lock_image', ''._MD_UNLOCKTOPIC.''); + } + $xoopsTpl->assign('topic_move_image', ''._MD_MOVETOPIC.''); + $xoopsTpl->assign('topic_delete_image', ''._MD_DELETETOPIC.''); + // is the topic sticky? + if ( $forumdata['topic_sticky'] != 1 ) { + // nope, not yet.. + $xoopsTpl->assign('topic_sticky_image', ''._MD_STICKYTOPIC.''); + } else { + // yup it is sticking.. + $xoopsTpl->assign('topic_sticky_image', ''._MD_UNSTICKYTOPIC.''); + } + // need to set this also + $xoopsTpl->assign('viewer_is_admin', true); + } else { + // nope, the user is not a forum admin.. + $xoopsTpl->assign('viewer_is_admin', false); + } +} else { + // nope, the user is not a forum admin, not even registered + $xoopsTpl->assign(array('viewer_is_admin' => false, 'viewer_userid' => 0)); +} + +function showTree(&$arr, $current=0, $key=0, $prefix='', $foundusers=array()){ + global $xoopsConfig; + if ($key != 0) { + if ( 0 != $arr[$key]['obj']->uid() ) { + if (!isset($foundusers[$arr[$key]['obj']->uid()])) { + $eachposter = new XoopsUser($arr[$key]['obj']->uid()); + $foundusers[$arr[$key]['obj']->uid()] =& $eachposter; + } else { + $eachposter =& $foundusers[$arr[$key]['obj']->uid()]; + } + $poster_rank = $eachposter->rank(); + if ( $poster_rank['image'] != '' ) { + $poster_rank['image'] = ''; + } + if ( $eachposter->isActive() ) { + $posterarr = array('poster_uid' => $eachposter->getVar('uid'), 'poster_uname' => ''.$eachposter->getVar('uname').''); + } else { + $posterarr = array('poster_uid' =>0, 'poster_uname' => $xoopsConfig['anonymous']); + } + } else { + $posterarr = array('poster_uid' =>0, 'poster_uname' => $xoopsConfig['anonymous']); + } + $posticon = $arr[$key]['obj']->icon(); + if ( isset($posticon) && $posticon != '' ) { + $post_image = ''; + } else { + $post_image = ''; + } + if ($current != $key) { + $subject = ''.$arr[$key]['obj']->subject().''; + $GLOBALS['xoopsTpl']->append("topic_trees", array_merge($posterarr, array("post_id" => $arr[$key]['obj']->postid(), "post_parent_id" => $arr[$key]['obj']->parent(), "post_date" => formatTimestamp($arr[$key]['obj']->posttime(), "m"), "post_image" => $post_image, "post_title" => $subject, "post_prefix" => $prefix))); + } else { + $subject = ''.$arr[$key]['obj']->subject().''; + $thisprefix = substr($prefix, 0, -6)."»"; + $GLOBALS['xoopsTpl']->append("topic_trees", array_merge($posterarr, array("post_id" => $arr[$key]['obj']->postid(), "post_parent_id" => $arr[$key]['obj']->parent(), "post_date" => formatTimestamp($arr[$key]['obj']->posttime(), "m"), "post_image" => $post_image, "post_title" => $subject, "post_prefix" => $thisprefix))); + } + } + if ( isset($arr[$key]['replies']) && !empty($arr[$key]['replies']) ){ + $prefix .= "  "; + foreach($arr[$key]['replies'] as $replykey) { + $current = ( $current == 0 ) ? $replykey : $current; + showTree($arr, $current, $replykey, $prefix, $foundusers); + } + } +} + +if ($order == 'DESC') { + $xoopsTpl->assign(array('order_current' => 'DESC', 'order_other' => 'ASC', 'lang_order_other' => _OLDESTFIRST)); +} else { + $xoopsTpl->assign(array('order_current' => 'ASC', 'order_other' => 'DESC', 'lang_order_other' => _NEWESTFIRST)); +} + +// initialize the start number of select query +$start = !empty($HTTP_GET_VARS['start']) ? intval($HTTP_GET_VARS['start']) : 0; + +$total_posts = get_total_posts($topic_id, 'topic'); +if ($total_posts > 50) { + $viewmode ="flat"; + // hide link to theaded view + $xoopsTpl->assign('lang_threaded', "" ); + $xoopsTpl->assign('lang_flat', _FLAT ); +} else { + $xoopsTpl->assign(array('lang_threaded' => _THREADED, 'lang_flat' => _FLAT)); +} + +if ( $can_post == 1 ) { + $xoopsTpl->assign(array('viewer_can_post' => true, 'forum_post_or_register' => "\""._MD_POSTNEW."\"")); +} else { + $xoopsTpl->assign('viewer_can_post', false); + if ( $show_reg == 1 ) { + $xoopsTpl->assign('forum_post_or_register', ''._MD_REGTOPOST.''); + } else { + $xoopsTpl->assign('forum_post_or_register', ''); + } +} + +if ( $viewmode == "thread" ) { + $start = 0; + $postsArray = ForumPosts::getAllPosts($topic_id, "ASC", $total_posts, $start); + $xoopsTpl->assign('topic_viewmode', 'thread'); + + $newObjArr = array(); + foreach ( $postsArray as $eachpost ) { + $key1 = $eachpost->postid(); + if ( (!empty($post_id) && $post_id == $key1) || ( empty($post_id) && $eachpost->parent() == 0 ) ) { + $post_text = $eachpost->text(); + if ( 0 != $eachpost->uid() ) { + $eachposter = new XoopsUser($eachpost->uid()); + $poster_rank = $eachposter->rank(); + if ( $poster_rank['image'] != "" ) { + $poster_rank['image'] = ""; + } + if ( $eachposter->isActive() ) { + $poster_status = $eachposter->isOnline() ? _MD_ONLINE : ''; + $posterarr = array('poster_uid' => $eachposter->getVar('uid'), 'poster_uname' => ''.$eachposter->getVar('uname').'', 'poster_avatar' => $eachposter->getVar('user_avatar'), 'poster_from' => $eachposter->getVar('user_from'), 'poster_regdate' => formatTimestamp($eachposter->getVar('user_regdate'), 's'), 'poster_postnum' => $eachposter->getVar('posts'), 'poster_sendpmtext' => sprintf(_SENDPMTO,$eachposter->getVar('uname')), 'poster_rank_title' => $poster_rank['title'], 'poster_rank_image' => $poster_rank['image'], 'poster_status' => $poster_status); + if ( 1 == $forumdata['allow_sig'] && $eachpost->attachsig() == 1 && $eachposter->attachsig() == 1 ) { + $myts =& MytextSanitizer::getInstance(); + $post_text .= "


    ----------------
    ". $myts->makeTareaData4Show($eachposter->getVar("user_sig", "N"), 0, 1, 1)."

    "; + } + } else { + $posterarr = array('poster_uid' =>0, 'poster_uname' => $xoopsConfig['anonymous'], 'poster_avatar' => '', 'poster_from' => '', 'poster_regdate' => '', 'poster_postnum' => '', 'poster_sendpmtext' => '', 'poster_rank_title' => '', 'poster_rank_image' => ''); + } + } else { + $posterarr = array('poster_uid' =>0, 'poster_uname' => $xoopsConfig['anonymous'], 'poster_avatar' => '', 'poster_from' => '', 'poster_regdate' => '', 'poster_postnum' => '', 'poster_sendpmtext' => '', 'poster_rank_title' => '', 'poster_rank_image' => ''); + } + $posticon = $eachpost->icon(); + if ( isset($posticon) && $posticon != '' ) { + $post_image = ''; + } else { + $post_image = ''; + } + $xoopsTpl->append('topic_posts', array_merge($posterarr, array('post_id' => $eachpost->postid(), 'post_parent_id' => $eachpost->parent(), 'post_date' => formatTimestamp($eachpost->posttime(), 'm'), 'post_poster_ip'=> $eachpost->posterip(), 'post_image' => $post_image, 'post_title' => $eachpost->subject(), 'post_text' => $post_text))); + } + $newObjArr[$key1]['obj'] = $eachpost; + $key2 = $eachpost->parent(); + $newObjArr[$key2]['replies'][] = $key1; + $newObjArr[$key2]['leaf'] = $key1; + } + showTree($newObjArr, $post_id); + $xoopsTpl->assign(array('lang_subject' => _MD_SUBJECT, 'lang_date' => _MD_DATE)); +} else { + $xoopsTpl->assign(array('topic_viewmode' => 'flat', 'lang_top' => _MD_TOP, 'lang_subject' => _MD_SUBJECT, 'lang_bottom' => _MD_BOTTOM)); + $postsArray = ForumPosts::getAllPosts($topic_id, $order, $forumdata['posts_per_page'], $start, $post_id); + $foundusers = array(); + foreach ( $postsArray as $eachpost ) { + $post_text = $eachpost->text(); + if ( 0 != $eachpost->uid() ) { + if (!isset($foundusers['user'.$eachpost->uid()])) { + $eachposter = new XoopsUser($eachpost->uid()); + $foundusers['user'.$eachpost->uid()] =& $eachposter; + } else { + $eachposter =& $foundusers['user'.$eachpost->uid()]; + } + $poster_rank = $eachposter->rank(); + if ( $poster_rank['image'] != '' ) { + $poster_rank['image'] = ''; + } + if ( $eachposter->isActive() ) { + $poster_status = $eachposter->isOnline() ? _MD_ONLINE : ''; + $posterarr = array('poster_uid' => $eachposter->getVar('uid'), 'poster_uname' => ''.$eachposter->getVar('uname').'', 'poster_avatar' => $eachposter->getVar('user_avatar'), 'poster_from' => $eachposter->getVar('user_from'), 'poster_regdate' => formatTimestamp($eachposter->getVar('user_regdate'), 's'), 'poster_postnum' => $eachposter->getVar('posts'), 'poster_sendpmtext' => sprintf(_SENDPMTO,$eachposter->getVar('uname')), 'poster_rank_title' => $poster_rank['title'], 'poster_rank_image' => $poster_rank['image'], 'poster_status' => $poster_status); + if ( 1 == $forumdata['allow_sig'] && $eachpost->attachsig() == 1 && $eachposter->attachsig() == 1 ) { + $myts =& MytextSanitizer::getInstance(); + $post_text .= '


    ----------------
    '. $myts->makeTareaData4Show($eachposter->getVar('user_sig', 'N'), 0, 1, 1).'

    '; + } + } else { + $posterarr = array('poster_uid' =>0, 'poster_uname' => $xoopsConfig['anonymous'], 'poster_avatar' => '', 'poster_from' => '', 'poster_regdate' => '', 'poster_postnum' => '', 'poster_sendpmtext' => '', 'poster_rank_title' => '', 'poster_rank_image' => ''); + } + } else { + $posterarr = array('poster_uid' =>0, 'poster_uname' => $xoopsConfig['anonymous'], 'poster_avatar' => '', 'poster_from' => '', 'poster_regdate' => '', 'poster_postnum' => '', 'poster_sendpmtext' => '', 'poster_rank_title' => '', 'poster_rank_image' => ''); + } + $posticon = $eachpost->icon(); + if ( isset($posticon) && $posticon != '' ) { + $post_image = ''; + } else { + $post_image = ''; + } + $xoopsTpl->append('topic_posts', array_merge($posterarr, array('post_id' => $eachpost->postid(), 'post_parent_id' => $eachpost->parent(), 'post_date' => formatTimestamp($eachpost->posttime(), 'm'), 'post_poster_ip'=> $eachpost->posterip(), 'post_image' => $post_image, 'post_title' => $eachpost->subject(), 'post_text' => $post_text))); + unset($eachposter); + } + if ( $total_posts > $forumdata['posts_per_page'] ) { + include XOOPS_ROOT_PATH.'/class/pagenav.php'; + $nav = new XoopsPageNav($total_posts, $forumdata['posts_per_page'], $start, "start", 'topic_id='.$topic_id.'&forum='.$forum.'&viewmode='.$viewmode.'&order='.$order); + $xoopsTpl->assign('forum_page_nav', $nav->renderNav(4)); + } else { + $xoopsTpl->assign('forum_page_nav', ''); + } +} + +// create jump box +$xoopsTpl->assign(array('forum_jumpbox' => make_jumpbox($forum), 'lang_forum_index' => sprintf(_MD_FORUMINDEX,$xoopsConfig['sitename']), 'lang_from' => _MD_FROM, 'lang_joined' => _MD_JOINED, 'lang_posts' => _MD_POSTS, 'lang_poster' => _MD_POSTER, 'lang_thread' => _MD_THREAD, 'lang_edit' => _EDIT, 'lang_delete' => _DELETE, 'lang_reply' => _REPLY, 'lang_postedon' => _MD_POSTEDON)); + +// Read in cookie of 'lastread' times +$topic_lastread = newbb_get_topics_viewed(); +// if cookie is not set for this topic, update view count and set cookie +if ( empty($topic_lastread[$topic_id]) ) { + $sql = 'UPDATE '.$xoopsDB->prefix('bb_topics').' SET topic_views = topic_views + 1 WHERE topic_id ='. $topic_id; + $xoopsDB->queryF($sql); +} +// Update cookie +newbb_add_topics_viewed($topic_lastread, $topic_id, time(), $bbCookie['path'], $bbCookie['domain'], $bbCookie['secure']); +include XOOPS_ROOT_PATH.'/footer.php'; +?> From onokazu ¡÷ users.sourceforge.jp Tue Oct 25 02:48:04 2005 From: onokazu ¡÷ users.sourceforge.jp (onokazu) Date: Tue, 25 Oct 2005 02:48:04 +0900 Subject: [xoops-cvslog 598] CVS update: xoops2jp/html/modules/newbb Message-ID: <20051024174804.51DC22AC010@users.sourceforge.jp> Index: xoops2jp/html/modules/newbb/index.php diff -u xoops2jp/html/modules/newbb/index.php:1.6 xoops2jp/html/modules/newbb/index.php:1.6.2.1 --- xoops2jp/html/modules/newbb/index.php:1.6 Mon Oct 24 20:44:17 2005 +++ xoops2jp/html/modules/newbb/index.php Tue Oct 25 02:48:04 2005 @@ -1,5 +1,5 @@ assign(array("lang_welcomemsg" => sprintf(_MD_WELCOME,htmlspecialchars($xoopsConfig['sitename'], ENT_QUOTES)), "lang_tostart" => _MD_TOSTART, "lang_totaltopics" => _MD_TOTALTOPICSC, "lang_totalposts" => _MD_TOTALPOSTSC, "total_topics" => get_total_topics(), "total_posts" => get_total_posts(0, 'all'), "lang_lastvisit" => sprintf(_MD_LASTVISIT,formatTimestamp($last_visit)), "lang_currenttime" => sprintf(_MD_TIMENOW,formatTimestamp(time(),"m")), "lang_forum" => _MD_FORUM, "lang_topics" => _MD_TOPICS, "lang_posts" => _MD_POSTS, "lang_lastpost" => _MD_LASTPOST, "lang_moderators" => _MD_MODERATOR)); -$viewcat = (!empty($HTTP_GET_VARS['cat'])) ? intval($HTTP_GET_VARS['cat']) : 0; +$viewcat = (!empty($_GET['cat'])) ? intval($_GET['cat']) : 0; $categories = array(); while ( $cat_row = $xoopsDB->fetchArray($result) ) { $categories[] = $cat_row; Index: xoops2jp/html/modules/newbb/viewforum.php diff -u xoops2jp/html/modules/newbb/viewforum.php:1.5 xoops2jp/html/modules/newbb/viewforum.php:1.5.2.1 --- xoops2jp/html/modules/newbb/viewforum.php:1.5 Mon Oct 24 20:44:17 2005 +++ xoops2jp/html/modules/newbb/viewforum.php Tue Oct 25 02:48:04 2005 @@ -1,5 +1,5 @@ _MD_TOPICTITLE, "t.topic_replies"=>_MD_NUMBERREPLIES, "u.uname"=>_MD_TOPICPOSTER, "t.topic_views"=>_MD_VIEWS, "p.post_time"=>_MD_LASTPOSTTIME); -if ( !isset($HTTP_GET_VARS['sortname']) || !in_array($HTTP_GET_VARS['sortname'], array_keys($sel_sort_array)) ) { +if ( !isset($_GET['sortname']) || !in_array($_GET['sortname'], array_keys($sel_sort_array)) ) { $sortname = "p.post_time"; } else { - $sortname = $HTTP_GET_VARS['sortname']; + $sortname = $_GET['sortname']; } $xoopsTpl->assign('lang_sortby', _MD_SORTEDBY); @@ -144,7 +144,7 @@ // assign to template $xoopsTpl->assign('forum_selection_sort', $forum_selection_sort); -$sortorder = (!isset($HTTP_GET_VARS['sortorder']) || $HTTP_GET_VARS['sortorder'] != "ASC") ? "DESC" : "ASC"; +$sortorder = (!isset($_GET['sortorder']) || $_GET['sortorder'] != "ASC") ? "DESC" : "ASC"; $forum_selection_order = ''; foreach ($sel_since_array as $sort_since_v) { @@ -183,7 +183,7 @@ $xoopsTpl->assign('lang_date', _MD_DATE); $startdate = time() - (86400* $sortsince); -$start = !empty($HTTP_GET_VARS['start']) ? intval($HTTP_GET_VARS['start']) : 0; +$start = !empty($_GET['start']) ? intval($_GET['start']) : 0; $sql = 'SELECT t.*, u.uname, u2.uname as last_poster, p.post_time as last_post_time, p.icon FROM '.$xoopsDB->prefix("bb_topics").' t LEFT JOIN '.$xoopsDB->prefix('users').' u ON u.uid = t.topic_poster LEFT JOIN '.$xoopsDB->prefix('bb_posts').' p ON p.post_id = t.topic_last_post_id LEFT JOIN '.$xoopsDB->prefix('users').' u2 ON u2.uid = p.uid WHERE t.forum_id = '.$forum.' AND (p.post_time > '.$startdate.' OR t.topic_sticky=1) ORDER BY topic_sticky DESC, '.$sortname.' '.$sortorder; if ( !$result = $xoopsDB->query($sql,$forumdata['topics_per_page'],$start) ) { Index: xoops2jp/html/modules/newbb/viewtopic.php diff -u xoops2jp/html/modules/newbb/viewtopic.php:1.4 xoops2jp/html/modules/newbb/viewtopic.php:1.4.2.1 --- xoops2jp/html/modules/newbb/viewtopic.php:1.4 Mon Oct 24 20:44:17 2005 +++ xoops2jp/html/modules/newbb/viewtopic.php Tue Oct 25 02:48:04 2005 @@ -1,5 +1,5 @@ getVar('dirname')."/index.php",2,_MD_ERRORFORUM); exit(); @@ -39,8 +39,8 @@ redirect_header('viewforum.php?forum='.$forum,2,_MD_ERRORTOPIC); exit(); } -$topic_time = (isset($HTTP_GET_VARS['topic_time'])) ? intval($HTTP_GET_VARS['topic_time']) : 0; -$post_id = !empty($HTTP_GET_VARS['post_id']) ? intval($HTTP_GET_VARS['post_id']) : 0; +$topic_time = (isset($_GET['topic_time'])) ? intval($_GET['topic_time']) : 0; +$post_id = !empty($_GET['post_id']) ? intval($_GET['post_id']) : 0; //use users preferences if (is_object($xoopsUser)) { @@ -57,11 +57,11 @@ } // override mode/order if any requested -if (isset($HTTP_GET_VARS['viewmode']) && ($HTTP_GET_VARS['viewmode'] == 'flat' || $HTTP_GET_VARS['viewmode'] == 'thread')) { - $viewmode = $HTTP_GET_VARS['viewmode']; +if (isset($_GET['viewmode']) && ($_GET['viewmode'] == 'flat' || $_GET['viewmode'] == 'thread')) { + $viewmode = $_GET['viewmode']; } -if (isset($HTTP_GET_VARS['order']) && ($HTTP_GET_VARS['order'] == 'ASC' || $HTTP_GET_VARS['order'] == 'DESC')) { - $order = $HTTP_GET_VARS['order']; +if (isset($_GET['order']) && ($_GET['order'] == 'ASC' || $_GET['order'] == 'DESC')) { + $order = $_GET['order']; } if ($viewmode != 'flat') { @@ -73,9 +73,9 @@ include XOOPS_ROOT_PATH.'/header.php'; include_once 'class/class.forumposts.php'; -if ( isset($HTTP_GET_VARS['move']) && 'next' == $HTTP_GET_VARS['move'] ) { +if ( isset($_GET['move']) && 'next' == $_GET['move'] ) { $sql = 'SELECT t.topic_id, t.topic_title, t.topic_time, t.topic_status, t.topic_sticky, t.topic_last_post_id, f.forum_id, f.forum_name, f.forum_access, f.forum_type, f.allow_html, f.allow_sig, f.posts_per_page, f.hot_threshold, f.topics_per_page FROM '.$xoopsDB->prefix('bb_topics').' t LEFT JOIN '.$xoopsDB->prefix('bb_forums').' f ON f.forum_id = t.forum_id WHERE t.topic_time > '.$topic_time.' AND t.forum_id = '.$forum.' ORDER BY t.topic_time ASC LIMIT 1'; -} elseif ( isset($HTTP_GET_VARS['move']) && 'prev' == $HTTP_GET_VARS['move']) { +} elseif ( isset($_GET['move']) && 'prev' == $_GET['move']) { $sql = 'SELECT t.topic_id, t.topic_title, t.topic_time, t.topic_status, t.topic_sticky, t.topic_last_post_id, f.forum_id, f.forum_name, f.forum_access, f.forum_type, f.allow_html, f.allow_sig, f.posts_per_page, f.hot_threshold, f.topics_per_page FROM '.$xoopsDB->prefix('bb_topics').' t LEFT JOIN '.$xoopsDB->prefix('bb_forums').' f ON f.forum_id = t.forum_id WHERE t.topic_time < '.$topic_time.' AND t.forum_id = '.$forum.' ORDER BY t.topic_time DESC LIMIT 1'; } else { $sql = 'SELECT t.topic_id, t.topic_title, t.topic_time, t.topic_status, t.topic_sticky, t.topic_last_post_id, f.forum_id, f.forum_name, f.forum_access, f.forum_type, f.allow_html, f.allow_sig, f.posts_per_page, f.hot_threshold, f.topics_per_page FROM '.$xoopsDB->prefix('bb_topics').' t LEFT JOIN '.$xoopsDB->prefix('bb_forums').' f ON f.forum_id = t.forum_id WHERE t.topic_id = '.$topic_id.' AND t.forum_id = '.$forum; @@ -229,7 +229,7 @@ } // initialize the start number of select query -$start = !empty($HTTP_GET_VARS['start']) ? intval($HTTP_GET_VARS['start']) : 0; +$start = !empty($_GET['start']) ? intval($_GET['start']) : 0; $total_posts = get_total_posts($topic_id, 'topic'); if ($total_posts > 50) { From onokazu ¡÷ users.sourceforge.jp Tue Oct 25 11:52:05 2005 From: onokazu ¡÷ users.sourceforge.jp (onokazu) Date: Tue, 25 Oct 2005 11:52:05 +0900 Subject: [xoops-cvslog 599] CVS update: xoops2jp/html/modules/system/admin/comments Message-ID: <20051025025205.BEBBA2AC028@users.sourceforge.jp> Index: xoops2jp/html/modules/system/admin/comments/main.php diff -u xoops2jp/html/modules/system/admin/comments/main.php:1.5 xoops2jp/html/modules/system/admin/comments/main.php:1.5.6.1 --- xoops2jp/html/modules/system/admin/comments/main.php:1.5 Wed Aug 3 21:39:16 2005 +++ xoops2jp/html/modules/system/admin/comments/main.php Tue Oct 25 11:52:05 2005 @@ -1,5 +1,5 @@ getVar('com_uid').'">'.$poster->getVar('uname').''; } } - $icon = ($comments[$i]->getVar('com_icon') != '') ? '' : ''; + $icon = ($comments[$i]->getVar('com_icon') != '') ? '' : ''; echo ''.$icon.''. $comments[$i]->getVar('com_title').''.formatTimestamp($comments[$i]->getVar('com_created'), 'm').''.$poster_uname.''.$comments[$i]->getVar('com_ip').''.$module_array[$comments[$i]->getVar('com_modid')].''.$status_array2[$comments[$i]->getVar('com_status')].''._EDIT.' '._DELETE.''; } echo ''; From onokazu ¡÷ users.sourceforge.jp Tue Oct 25 11:52:05 2005 From: onokazu ¡÷ users.sourceforge.jp (onokazu) Date: Tue, 25 Oct 2005 11:52:05 +0900 Subject: [xoops-cvslog 600] CVS update: xoops2jp/html/modules/system/blocks Message-ID: <20051025025205.E21C02AC02F@users.sourceforge.jp> Index: xoops2jp/html/modules/system/blocks/system_blocks.php diff -u xoops2jp/html/modules/system/blocks/system_blocks.php:1.6 xoops2jp/html/modules/system/blocks/system_blocks.php:1.6.4.1 --- xoops2jp/html/modules/system/blocks/system_blocks.php:1.6 Mon Sep 5 05:46:12 2005 +++ xoops2jp/html/modules/system/blocks/system_blocks.php Tue Oct 25 11:52:05 2005 @@ -1,5 +1,5 @@ getVar('dirname').'/'.$comment_config[$mid]['pageName'].'?'.$comment_config[$mid]['itemName'].'='.$comments[$i]->getVar('com_itemid').'&com_id='.$i.'&com_rootid='.$comments[$i]->getVar('com_rootid').'&'.htmlspecialchars($comments[$i]->getVar('com_exparams')).'#comment'.$i.'">'.$comments[$i]->getVar('com_title').''; - $com['icon'] = $comments[$i]->getVar('com_icon'); + $com['icon'] = htmlspecialchars($comments[$i]->getVar('com_icon'), ENT_QUOTES); $com['icon'] = ($com['icon'] != '') ? $com['icon'] : 'icon1.gif'; $com['time'] = formatTimestamp($comments[$i]->getVar('com_created'),'m'); if ($comments[$i]->getVar('com_uid') > 0) { From onokazu ¡÷ users.sourceforge.jp Tue Oct 25 11:57:28 2005 From: onokazu ¡÷ users.sourceforge.jp (onokazu) Date: Tue, 25 Oct 2005 11:57:28 +0900 Subject: [xoops-cvslog 601] CVS update: xoops2jp/html/include Message-ID: <20051025025728.62C502AC01D@users.sourceforge.jp> Index: xoops2jp/html/include/version.php diff -u xoops2jp/html/include/version.php:1.11 xoops2jp/html/include/version.php:1.12 --- xoops2jp/html/include/version.php:1.11 Mon Oct 24 20:44:16 2005 +++ xoops2jp/html/include/version.php Tue Oct 25 11:57:28 2005 @@ -1,4 +1,4 @@ \ No newline at end of file From onokazu ¡÷ users.sourceforge.jp Tue Oct 25 11:57:28 2005 From: onokazu ¡÷ users.sourceforge.jp (onokazu) Date: Tue, 25 Oct 2005 11:57:28 +0900 Subject: [xoops-cvslog 602] CVS update: xoops2jp/html/modules/system/admin/comments Message-ID: <20051025025728.7F7252AC028@users.sourceforge.jp> Index: xoops2jp/html/modules/system/admin/comments/main.php diff -u xoops2jp/html/modules/system/admin/comments/main.php:1.5 xoops2jp/html/modules/system/admin/comments/main.php:1.6 --- xoops2jp/html/modules/system/admin/comments/main.php:1.5 Wed Aug 3 21:39:16 2005 +++ xoops2jp/html/modules/system/admin/comments/main.php Tue Oct 25 11:57:28 2005 @@ -1,5 +1,5 @@ getVar('com_uid').'">'.$poster->getVar('uname').''; } } - $icon = ($comments[$i]->getVar('com_icon') != '') ? '' : ''; + $icon = ($comments[$i]->getVar('com_icon') != '') ? '' : ''; echo ''.$icon.''. $comments[$i]->getVar('com_title').''.formatTimestamp($comments[$i]->getVar('com_created'), 'm').''.$poster_uname.''.$comments[$i]->getVar('com_ip').''.$module_array[$comments[$i]->getVar('com_modid')].''.$status_array2[$comments[$i]->getVar('com_status')].''._EDIT.' '._DELETE.''; } echo ''; From onokazu ¡÷ users.sourceforge.jp Tue Oct 25 11:57:28 2005 From: onokazu ¡÷ users.sourceforge.jp (onokazu) Date: Tue, 25 Oct 2005 11:57:28 +0900 Subject: [xoops-cvslog 603] CVS update: xoops2jp/html/modules/system/blocks Message-ID: <20051025025728.9CB702AC01D@users.sourceforge.jp> Index: xoops2jp/html/modules/system/blocks/system_blocks.php diff -u xoops2jp/html/modules/system/blocks/system_blocks.php:1.6 xoops2jp/html/modules/system/blocks/system_blocks.php:1.7 --- xoops2jp/html/modules/system/blocks/system_blocks.php:1.6 Mon Sep 5 05:46:12 2005 +++ xoops2jp/html/modules/system/blocks/system_blocks.php Tue Oct 25 11:57:28 2005 @@ -1,5 +1,5 @@ getVar('dirname').'/'.$comment_config[$mid]['pageName'].'?'.$comment_config[$mid]['itemName'].'='.$comments[$i]->getVar('com_itemid').'&com_id='.$i.'&com_rootid='.$comments[$i]->getVar('com_rootid').'&'.htmlspecialchars($comments[$i]->getVar('com_exparams')).'#comment'.$i.'">'.$comments[$i]->getVar('com_title').''; - $com['icon'] = $comments[$i]->getVar('com_icon'); + $com['icon'] = htmlspecialchars($comments[$i]->getVar('com_icon'), ENT_QUOTES); $com['icon'] = ($com['icon'] != '') ? $com['icon'] : 'icon1.gif'; $com['time'] = formatTimestamp($comments[$i]->getVar('com_created'),'m'); if ($comments[$i]->getVar('com_uid') > 0) { From onokazu ¡÷ users.sourceforge.jp Tue Oct 25 12:07:38 2005 From: onokazu ¡÷ users.sourceforge.jp (onokazu) Date: Tue, 25 Oct 2005 12:07:38 +0900 Subject: [xoops-cvslog 604] CVS update: xoops2jp/html/modules/newbb Message-ID: <20051025030738.8DDD92AC028@users.sourceforge.jp> Index: xoops2jp/html/modules/newbb/index.php diff -u xoops2jp/html/modules/newbb/index.php:1.6 xoops2jp/html/modules/newbb/index.php:1.7 --- xoops2jp/html/modules/newbb/index.php:1.6 Mon Oct 24 20:44:17 2005 +++ xoops2jp/html/modules/newbb/index.php Tue Oct 25 12:07:38 2005 @@ -1,5 +1,5 @@ assign(array("lang_welcomemsg" => sprintf(_MD_WELCOME,htmlspecialchars($xoopsConfig['sitename'], ENT_QUOTES)), "lang_tostart" => _MD_TOSTART, "lang_totaltopics" => _MD_TOTALTOPICSC, "lang_totalposts" => _MD_TOTALPOSTSC, "total_topics" => get_total_topics(), "total_posts" => get_total_posts(0, 'all'), "lang_lastvisit" => sprintf(_MD_LASTVISIT,formatTimestamp($last_visit)), "lang_currenttime" => sprintf(_MD_TIMENOW,formatTimestamp(time(),"m")), "lang_forum" => _MD_FORUM, "lang_topics" => _MD_TOPICS, "lang_posts" => _MD_POSTS, "lang_lastpost" => _MD_LASTPOST, "lang_moderators" => _MD_MODERATOR)); -$viewcat = (!empty($HTTP_GET_VARS['cat'])) ? intval($HTTP_GET_VARS['cat']) : 0; +$viewcat = (!empty($_GET['cat'])) ? intval($_GET['cat']) : 0; $categories = array(); while ( $cat_row = $xoopsDB->fetchArray($result) ) { $categories[] = $cat_row; Index: xoops2jp/html/modules/newbb/viewforum.php diff -u xoops2jp/html/modules/newbb/viewforum.php:1.5 xoops2jp/html/modules/newbb/viewforum.php:1.6 --- xoops2jp/html/modules/newbb/viewforum.php:1.5 Mon Oct 24 20:44:17 2005 +++ xoops2jp/html/modules/newbb/viewforum.php Tue Oct 25 12:07:38 2005 @@ -1,5 +1,5 @@ _MD_TOPICTITLE, "t.topic_replies"=>_MD_NUMBERREPLIES, "u.uname"=>_MD_TOPICPOSTER, "t.topic_views"=>_MD_VIEWS, "p.post_time"=>_MD_LASTPOSTTIME); -if ( !isset($HTTP_GET_VARS['sortname']) || !in_array($HTTP_GET_VARS['sortname'], array_keys($sel_sort_array)) ) { +if ( !isset($_GET['sortname']) || !in_array($_GET['sortname'], array_keys($sel_sort_array)) ) { $sortname = "p.post_time"; } else { - $sortname = $HTTP_GET_VARS['sortname']; + $sortname = $_GET['sortname']; } $xoopsTpl->assign('lang_sortby', _MD_SORTEDBY); @@ -144,7 +144,7 @@ // assign to template $xoopsTpl->assign('forum_selection_sort', $forum_selection_sort); -$sortorder = (!isset($HTTP_GET_VARS['sortorder']) || $HTTP_GET_VARS['sortorder'] != "ASC") ? "DESC" : "ASC"; +$sortorder = (!isset($_GET['sortorder']) || $_GET['sortorder'] != "ASC") ? "DESC" : "ASC"; $forum_selection_order = ''; foreach ($sel_since_array as $sort_since_v) { @@ -183,7 +183,7 @@ $xoopsTpl->assign('lang_date', _MD_DATE); $startdate = time() - (86400* $sortsince); -$start = !empty($HTTP_GET_VARS['start']) ? intval($HTTP_GET_VARS['start']) : 0; +$start = !empty($_GET['start']) ? intval($_GET['start']) : 0; $sql = 'SELECT t.*, u.uname, u2.uname as last_poster, p.post_time as last_post_time, p.icon FROM '.$xoopsDB->prefix("bb_topics").' t LEFT JOIN '.$xoopsDB->prefix('users').' u ON u.uid = t.topic_poster LEFT JOIN '.$xoopsDB->prefix('bb_posts').' p ON p.post_id = t.topic_last_post_id LEFT JOIN '.$xoopsDB->prefix('users').' u2 ON u2.uid = p.uid WHERE t.forum_id = '.$forum.' AND (p.post_time > '.$startdate.' OR t.topic_sticky=1) ORDER BY topic_sticky DESC, '.$sortname.' '.$sortorder; if ( !$result = $xoopsDB->query($sql,$forumdata['topics_per_page'],$start) ) { Index: xoops2jp/html/modules/newbb/viewtopic.php diff -u xoops2jp/html/modules/newbb/viewtopic.php:1.4 xoops2jp/html/modules/newbb/viewtopic.php:1.5 --- xoops2jp/html/modules/newbb/viewtopic.php:1.4 Mon Oct 24 20:44:17 2005 +++ xoops2jp/html/modules/newbb/viewtopic.php Tue Oct 25 12:07:38 2005 @@ -1,5 +1,5 @@ getVar('dirname')."/index.php",2,_MD_ERRORFORUM); exit(); @@ -39,8 +39,8 @@ redirect_header('viewforum.php?forum='.$forum,2,_MD_ERRORTOPIC); exit(); } -$topic_time = (isset($HTTP_GET_VARS['topic_time'])) ? intval($HTTP_GET_VARS['topic_time']) : 0; -$post_id = !empty($HTTP_GET_VARS['post_id']) ? intval($HTTP_GET_VARS['post_id']) : 0; +$topic_time = (isset($_GET['topic_time'])) ? intval($_GET['topic_time']) : 0; +$post_id = !empty($_GET['post_id']) ? intval($_GET['post_id']) : 0; //use users preferences if (is_object($xoopsUser)) { @@ -57,11 +57,11 @@ } // override mode/order if any requested -if (isset($HTTP_GET_VARS['viewmode']) && ($HTTP_GET_VARS['viewmode'] == 'flat' || $HTTP_GET_VARS['viewmode'] == 'thread')) { - $viewmode = $HTTP_GET_VARS['viewmode']; +if (isset($_GET['viewmode']) && ($_GET['viewmode'] == 'flat' || $_GET['viewmode'] == 'thread')) { + $viewmode = $_GET['viewmode']; } -if (isset($HTTP_GET_VARS['order']) && ($HTTP_GET_VARS['order'] == 'ASC' || $HTTP_GET_VARS['order'] == 'DESC')) { - $order = $HTTP_GET_VARS['order']; +if (isset($_GET['order']) && ($_GET['order'] == 'ASC' || $_GET['order'] == 'DESC')) { + $order = $_GET['order']; } if ($viewmode != 'flat') { @@ -73,9 +73,9 @@ include XOOPS_ROOT_PATH.'/header.php'; include_once 'class/class.forumposts.php'; -if ( isset($HTTP_GET_VARS['move']) && 'next' == $HTTP_GET_VARS['move'] ) { +if ( isset($_GET['move']) && 'next' == $_GET['move'] ) { $sql = 'SELECT t.topic_id, t.topic_title, t.topic_time, t.topic_status, t.topic_sticky, t.topic_last_post_id, f.forum_id, f.forum_name, f.forum_access, f.forum_type, f.allow_html, f.allow_sig, f.posts_per_page, f.hot_threshold, f.topics_per_page FROM '.$xoopsDB->prefix('bb_topics').' t LEFT JOIN '.$xoopsDB->prefix('bb_forums').' f ON f.forum_id = t.forum_id WHERE t.topic_time > '.$topic_time.' AND t.forum_id = '.$forum.' ORDER BY t.topic_time ASC LIMIT 1'; -} elseif ( isset($HTTP_GET_VARS['move']) && 'prev' == $HTTP_GET_VARS['move']) { +} elseif ( isset($_GET['move']) && 'prev' == $_GET['move']) { $sql = 'SELECT t.topic_id, t.topic_title, t.topic_time, t.topic_status, t.topic_sticky, t.topic_last_post_id, f.forum_id, f.forum_name, f.forum_access, f.forum_type, f.allow_html, f.allow_sig, f.posts_per_page, f.hot_threshold, f.topics_per_page FROM '.$xoopsDB->prefix('bb_topics').' t LEFT JOIN '.$xoopsDB->prefix('bb_forums').' f ON f.forum_id = t.forum_id WHERE t.topic_time < '.$topic_time.' AND t.forum_id = '.$forum.' ORDER BY t.topic_time DESC LIMIT 1'; } else { $sql = 'SELECT t.topic_id, t.topic_title, t.topic_time, t.topic_status, t.topic_sticky, t.topic_last_post_id, f.forum_id, f.forum_name, f.forum_access, f.forum_type, f.allow_html, f.allow_sig, f.posts_per_page, f.hot_threshold, f.topics_per_page FROM '.$xoopsDB->prefix('bb_topics').' t LEFT JOIN '.$xoopsDB->prefix('bb_forums').' f ON f.forum_id = t.forum_id WHERE t.topic_id = '.$topic_id.' AND t.forum_id = '.$forum; @@ -229,7 +229,7 @@ } // initialize the start number of select query -$start = !empty($HTTP_GET_VARS['start']) ? intval($HTTP_GET_VARS['start']) : 0; +$start = !empty($_GET['start']) ? intval($_GET['start']) : 0; $total_posts = get_total_posts($topic_id, 'topic'); if ($total_posts > 50) { From onokazu ¡÷ users.sourceforge.jp Tue Oct 25 12:25:42 2005 From: onokazu ¡÷ users.sourceforge.jp (onokazu) Date: Tue, 25 Oct 2005 12:25:42 +0900 Subject: [xoops-cvslog 605] CVS update: xoops2jp/docs Message-ID: <20051025032542.6548B2AC030@users.sourceforge.jp> Index: xoops2jp/docs/CHANGES.txt diff -u xoops2jp/docs/CHANGES.txt:1.10 xoops2jp/docs/CHANGES.txt:1.11 --- xoops2jp/docs/CHANGES.txt:1.10 Mon Oct 24 20:44:16 2005 +++ xoops2jp/docs/CHANGES.txt Tue Oct 25 12:25:42 2005 @@ -1,6 +1,12 @@ XOOPS v2 Changelog ============================ +2005/10/25: Version 2.0.13a JP +=============================== +- Re-applied the $HTTP_*_VARS to $_* fix to some files in newbb +- Added fix for comment XSS vulnerability that was missing in the previous release + + 2005/10/24: Version 2.0.13 JP =============================== - Added several fixes for XSS vulnerabilities found in the core and newbb. From minahito ¡÷ users.sourceforge.jp Tue Oct 25 19:55:24 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Tue, 25 Oct 2005 19:55:24 +0900 Subject: [xoops-cvslog 606] CVS update: /xoops2jp/html Message-ID: <20051025105524.212E22AC035@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Tue Oct 25 19:56:16 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Tue, 25 Oct 2005 19:56:16 +0900 Subject: [xoops-cvslog 607] CVS update: /xoops2jp/html Message-ID: <20051025105616.9A35B2AC039@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Tue Oct 25 19:56:39 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Tue, 25 Oct 2005 19:56:39 +0900 Subject: [xoops-cvslog 608] CVS update: /xoops2jp/html/include Message-ID: <20051025105639.9BD3E2AC039@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Tue Oct 25 19:57:38 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Tue, 25 Oct 2005 19:57:38 +0900 Subject: [xoops-cvslog 609] CVS update: /xoops2jp/html/include Message-ID: <20051025105738.EFA552AC017@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Tue Oct 25 19:58:00 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Tue, 25 Oct 2005 19:58:00 +0900 Subject: [xoops-cvslog 610] CVS update: /xoops2jp/html/kernel Message-ID: <20051025105800.22B972AC017@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Tue Oct 25 19:58:24 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Tue, 25 Oct 2005 19:58:24 +0900 Subject: [xoops-cvslog 611] CVS update: /xoops2jp/html/modules/base/class Message-ID: <20051025105824.895A32AC017@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Tue Oct 25 19:58:47 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Tue, 25 Oct 2005 19:58:47 +0900 Subject: [xoops-cvslog 612] CVS update: /xoops2jp/html/modules/base/class/common Message-ID: <20051025105847.E983B2AC035@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Tue Oct 25 19:59:07 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Tue, 25 Oct 2005 19:59:07 +0900 Subject: [xoops-cvslog 613] CVS update: /xoops2jp/html/modules/base/class/kernel Message-ID: <20051025105907.0DA5E2AC035@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Tue Oct 25 19:59:08 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Tue, 25 Oct 2005 19:59:08 +0900 Subject: [xoops-cvslog 614] CVS update: /xoops2jp/html/modules/base/class/kernel Message-ID: <20051025105908.D3E182AC035@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Tue Oct 25 19:59:32 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Tue, 25 Oct 2005 19:59:32 +0900 Subject: [xoops-cvslog 615] CVS update: /xoops2jp/html/modules/base/class/kernel Message-ID: <20051025105932.91E042AC035@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Tue Oct 25 20:00:00 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Tue, 25 Oct 2005 20:00:00 +0900 Subject: [xoops-cvslog 616] CVS update: /xoops2jp/html/modules/user Message-ID: <20051025110000.DA8672AC035@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Tue Oct 25 20:00:23 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Tue, 25 Oct 2005 20:00:23 +0900 Subject: [xoops-cvslog 617] CVS update: /xoops2jp/html/modules/user Message-ID: <20051025110023.7F6882AC035@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Tue Oct 25 20:00:42 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Tue, 25 Oct 2005 20:00:42 +0900 Subject: [xoops-cvslog 618] CVS update: /xoops2jp/html/modules/user Message-ID: <20051025110042.3D4732AC017@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Tue Oct 25 20:00:54 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Tue, 25 Oct 2005 20:00:54 +0900 Subject: [xoops-cvslog 619] CVS update: /xoops2jp/html/modules/user Message-ID: <20051025110054.D587C2AC017@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Tue Oct 25 20:01:13 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Tue, 25 Oct 2005 20:01:13 +0900 Subject: [xoops-cvslog 620] CVS update: /xoops2jp/html/modules/user Message-ID: <20051025110113.A76952AC035@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Tue Oct 25 20:01:25 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Tue, 25 Oct 2005 20:01:25 +0900 Subject: [xoops-cvslog 621] CVS update: /xoops2jp/html/modules/user Message-ID: <20051025110125.691162AC035@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Tue Oct 25 20:02:00 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Tue, 25 Oct 2005 20:02:00 +0900 Subject: [xoops-cvslog 622] CVS update: /xoops2jp/html/modules/user/forms Message-ID: <20051025110200.9EFDB2AC017@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Tue Oct 25 20:02:02 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Tue, 25 Oct 2005 20:02:02 +0900 Subject: [xoops-cvslog 623] CVS update: /xoops2jp/html/modules/user/forms Message-ID: <20051025110202.5376D2AC017@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Tue Oct 25 20:02:38 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Tue, 25 Oct 2005 20:02:38 +0900 Subject: [xoops-cvslog 623] CVS update: /xoops2jp/html/modules/user/forms Message-ID: <20051025110238.31F762AC017@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Tue Oct 25 20:02:52 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Tue, 25 Oct 2005 20:02:52 +0900 Subject: [xoops-cvslog 624] CVS update: /xoops2jp/html/modules/user/kernel Message-ID: <20051025110252.875902AC017@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Tue Oct 25 20:02:54 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Tue, 25 Oct 2005 20:02:54 +0900 Subject: [xoops-cvslog 625] CVS update: /xoops2jp/html/modules/user/kernel Message-ID: <20051025110254.40E962AC017@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Tue Oct 25 20:03:03 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Tue, 25 Oct 2005 20:03:03 +0900 Subject: [xoops-cvslog 626] CVS update: /xoops2jp/html/modules/user/language/english Message-ID: <20051025110303.6DB5E2AC035@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Tue Oct 25 20:03:12 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Tue, 25 Oct 2005 20:03:12 +0900 Subject: [xoops-cvslog 627] CVS update: /xoops2jp/html/modules/user/language/japanese Message-ID: <20051025110312.249C32AC017@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Tue Oct 25 20:03:25 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Tue, 25 Oct 2005 20:03:25 +0900 Subject: [xoops-cvslog 628] CVS update: /xoops2jp/html/modules/user/strategy Message-ID: <20051025110325.196182AC017@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Tue Oct 25 20:04:01 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Tue, 25 Oct 2005 20:04:01 +0900 Subject: [xoops-cvslog 629] CVS update: /xoops2jp/html/modules/user/strategy Message-ID: <20051025110401.6DADF2AC017@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Tue Oct 25 20:04:23 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Tue, 25 Oct 2005 20:04:23 +0900 Subject: [xoops-cvslog 630] CVS update: /xoops2jp/html/modules/user/strategy Message-ID: <20051025110423.B27022AC017@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Tue Oct 25 20:04:36 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Tue, 25 Oct 2005 20:04:36 +0900 Subject: [xoops-cvslog 631] CVS update: /xoops2jp/html/modules/user/strategy Message-ID: <20051025110436.6158F2AC035@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Tue Oct 25 20:04:44 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Tue, 25 Oct 2005 20:04:44 +0900 Subject: [xoops-cvslog 632] CVS update: /xoops2jp/html/modules/user/strategy Message-ID: <20051025110444.575542AC038@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Tue Oct 25 20:04:55 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Tue, 25 Oct 2005 20:04:55 +0900 Subject: [xoops-cvslog 633] CVS update: /xoops2jp/html/modules/user/strategy Message-ID: <20051025110455.4D0762AC038@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Tue Oct 25 20:05:04 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Tue, 25 Oct 2005 20:05:04 +0900 Subject: [xoops-cvslog 634] CVS update: /xoops2jp/html/modules/user/templates Message-ID: <20051025110504.CF2EB2AC035@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Tue Oct 25 20:05:06 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Tue, 25 Oct 2005 20:05:06 +0900 Subject: [xoops-cvslog 635] CVS update: /xoops2jp/html/modules/user/templates Message-ID: <20051025110506.938F92AC035@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Tue Oct 25 20:05:23 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Tue, 25 Oct 2005 20:05:23 +0900 Subject: [xoops-cvslog 636] CVS update: /xoops2jp/html/modules/user/templates Message-ID: <20051025110523.3F2CC2AC035@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Tue Oct 25 20:05:32 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Tue, 25 Oct 2005 20:05:32 +0900 Subject: [xoops-cvslog 637] CVS update: /xoops2jp/html/modules/user/views Message-ID: <20051025110532.2FBD42AC038@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Tue Oct 25 20:05:33 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Tue, 25 Oct 2005 20:05:33 +0900 Subject: [xoops-cvslog 638] CVS update: /xoops2jp/html/modules/user/views Message-ID: <20051025110533.DB4DA2AC035@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Tue Oct 25 20:05:48 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Tue, 25 Oct 2005 20:05:48 +0900 Subject: [xoops-cvslog 639] CVS update: /xoops2jp/html/settings Message-ID: <20051025110548.343812AC035@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Tue Oct 25 20:06:17 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Tue, 25 Oct 2005 20:06:17 +0900 Subject: [xoops-cvslog 640] CVS update: /xoops2jp/etc/brainstorming Message-ID: <20051025110617.C20082AC035@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Tue Oct 25 20:06:19 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Tue, 25 Oct 2005 20:06:19 +0900 Subject: [xoops-cvslog 641] CVS update: /xoops2jp/etc/brainstorming Message-ID: <20051025110619.8DA4F2AC035@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Wed Oct 26 00:37:25 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Wed, 26 Oct 2005 00:37:25 +0900 Subject: [xoops-cvslog 642] CVS update: /xoops2jp/html/modules/base/class/misc Message-ID: <20051025153725.83BB12AC017@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Wed Oct 26 01:43:57 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Wed, 26 Oct 2005 01:43:57 +0900 Subject: [xoops-cvslog 643] CVS update: /xoops2jp/html/modules/user/class Message-ID: <20051025164357.C278D2AC017@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Wed Oct 26 01:43:59 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Wed, 26 Oct 2005 01:43:59 +0900 Subject: [xoops-cvslog 644] CVS update: /xoops2jp/html/modules/user/class Message-ID: <20051025164359.527942AC017@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Wed Oct 26 01:44:13 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Wed, 26 Oct 2005 01:44:13 +0900 Subject: [xoops-cvslog 644] CVS update: /xoops2jp/html/modules/user/class Message-ID: <20051025164413.BFB072AC044@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Wed Oct 26 01:44:29 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Wed, 26 Oct 2005 01:44:29 +0900 Subject: [xoops-cvslog 645] CVS update: /xoops2jp/html/modules/user Message-ID: <20051025164429.A43BC2AC044@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Wed Oct 26 01:45:00 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Wed, 26 Oct 2005 01:45:00 +0900 Subject: [xoops-cvslog 646] CVS update: /xoops2jp/html/modules/user Message-ID: <20051025164500.8B5762AC044@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Wed Oct 26 01:45:51 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Wed, 26 Oct 2005 01:45:51 +0900 Subject: [xoops-cvslog 647] CVS update: /xoops2jp/html/modules/pm Message-ID: <20051025164551.3FB722AC044@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Wed Oct 26 01:46:05 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Wed, 26 Oct 2005 01:46:05 +0900 Subject: [xoops-cvslog 648] CVS update: /xoops2jp/html/modules/user/forms Message-ID: <20051025164605.C8C352AC044@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Wed Oct 26 01:46:18 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Wed, 26 Oct 2005 01:46:18 +0900 Subject: [xoops-cvslog 649] CVS update: /xoops2jp/html/modules/user/forms Message-ID: <20051025164618.8110B2AC044@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Wed Oct 26 01:46:32 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Wed, 26 Oct 2005 01:46:32 +0900 Subject: [xoops-cvslog 650] CVS update: /xoops2jp/html/kernel Message-ID: <20051025164632.DEB0D2AC044@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Wed Oct 26 01:47:15 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Wed, 26 Oct 2005 01:47:15 +0900 Subject: [xoops-cvslog 651] CVS update: /xoops2jp/html/modules/user/templates Message-ID: <20051025164715.9EFB02AC045@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Wed Oct 26 01:47:31 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Wed, 26 Oct 2005 01:47:31 +0900 Subject: [xoops-cvslog 652] CVS update: /xoops2jp/html/modules/user/views Message-ID: <20051025164731.C653A2AC044@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Wed Oct 26 21:06:45 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Wed, 26 Oct 2005 21:06:45 +0900 Subject: [xoops-cvslog 653] CVS update: /xoops2jp/html/class Message-ID: <20051026120645.BCD562AC01E@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Wed Oct 26 21:07:48 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Wed, 26 Oct 2005 21:07:48 +0900 Subject: [xoops-cvslog 654] CVS update: /xoops2jp/html/class Message-ID: <20051026120748.33CE02AC01E@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Wed Oct 26 21:08:55 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Wed, 26 Oct 2005 21:08:55 +0900 Subject: [xoops-cvslog 655] CVS update: /xoops2jp/html/class Message-ID: <20051026120855.CFB3F2AC01E@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Wed Oct 26 21:09:58 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Wed, 26 Oct 2005 21:09:58 +0900 Subject: [xoops-cvslog 656] CVS update: /xoops2jp/html/class Message-ID: <20051026120958.99FA12AC01E@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Wed Oct 26 21:11:39 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Wed, 26 Oct 2005 21:11:39 +0900 Subject: [xoops-cvslog 657] CVS update: /xoops2jp/html/class Message-ID: <20051026121139.7FF862AC01E@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Wed Oct 26 21:13:33 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Wed, 26 Oct 2005 21:13:33 +0900 Subject: [xoops-cvslog 658] CVS update: /xoops2jp/html/modules/base/preload Message-ID: <20051026121333.4A01F2AC01E@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Wed Oct 26 21:13:33 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Wed, 26 Oct 2005 21:13:33 +0900 Subject: [xoops-cvslog 659] CVS update: /xoops2jp/html/modules/base/preload/IPbanning Message-ID: <20051026121333.6DA192AC030@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Wed Oct 26 21:13:35 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Wed, 26 Oct 2005 21:13:35 +0900 Subject: [xoops-cvslog 660] CVS update: /xoops2jp/html/modules/base/preload/IPbanning Message-ID: <20051026121335.2B66C2AC01E@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Wed Oct 26 21:13:45 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Wed, 26 Oct 2005 21:13:45 +0900 Subject: [xoops-cvslog 661] CVS update: /xoops2jp/html/modules/base/preload/protectorLE Message-ID: <20051026121345.363552AC01E@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Wed Oct 26 21:13:47 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Wed, 26 Oct 2005 21:13:47 +0900 Subject: [xoops-cvslog 662] CVS update: /xoops2jp/html/modules/base/preload/protectorLE Message-ID: <20051026121347.165712AC01E@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Wed Oct 26 21:13:54 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Wed, 26 Oct 2005 21:13:54 +0900 Subject: [xoops-cvslog 663] CVS update: /xoops2jp/html/modules/base/preload/SiteClose Message-ID: <20051026121354.16C4E2AC01E@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Wed Oct 26 21:13:56 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Wed, 26 Oct 2005 21:13:56 +0900 Subject: [xoops-cvslog 664] CVS update: /xoops2jp/html/modules/base/preload/SiteClose Message-ID: <20051026121356.0CBCD2AC01E@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Wed Oct 26 21:14:03 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Wed, 26 Oct 2005 21:14:03 +0900 Subject: [xoops-cvslog 664] CVS update: /xoops2jp/html/modules/base/preload/ThemeSelect Message-ID: <20051026121403.A12342AC01E@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Wed Oct 26 21:14:05 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Wed, 26 Oct 2005 21:14:05 +0900 Subject: [xoops-cvslog 665] CVS update: /xoops2jp/html/modules/base/preload/ThemeSelect Message-ID: <20051026121405.8F3FE2AC01E@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Wed Oct 26 21:15:02 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Wed, 26 Oct 2005 21:15:02 +0900 Subject: [xoops-cvslog 666] CVS update: /xoops2jp/html/modules/base/class/language Message-ID: <20051026121503.EE0712AC045@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Thu Oct 27 01:19:21 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Thu, 27 Oct 2005 01:19:21 +0900 Subject: [xoops-cvslog 667] CVS update: /xoops2jp/html/modules/base/class Message-ID: <20051026161921.CD44D2AC04B@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Thu Oct 27 01:20:54 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Thu, 27 Oct 2005 01:20:54 +0900 Subject: [xoops-cvslog 668] CVS update: /xoops2jp/html/class Message-ID: <20051026162054.05CFD2AC012@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Thu Oct 27 01:21:31 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Thu, 27 Oct 2005 01:21:31 +0900 Subject: [xoops-cvslog 669] CVS update: /xoops2jp/html/class Message-ID: <20051026162131.F210F2AC012@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Thu Oct 27 02:08:34 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Thu, 27 Oct 2005 02:08:34 +0900 Subject: [xoops-cvslog 670] CVS update: /xoops2jp/html/class Message-ID: <20051026170834.0CB162AC012@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Thu Oct 27 02:09:40 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Thu, 27 Oct 2005 02:09:40 +0900 Subject: [xoops-cvslog 671] CVS update: /xoops2jp/html/modules/base/class Message-ID: <20051026170940.C78542AC012@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Thu Oct 27 02:18:06 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Thu, 27 Oct 2005 02:18:06 +0900 Subject: [xoops-cvslog 672] CVS update: /xoops2jp/html/class Message-ID: <20051026171806.4EB892AC012@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Thu Oct 27 02:18:25 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Thu, 27 Oct 2005 02:18:25 +0900 Subject: [xoops-cvslog 673] CVS update: /xoops2jp/html/modules/base/class Message-ID: <20051026171825.8E4DC2AC03B@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Thu Oct 27 19:42:27 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Thu, 27 Oct 2005 19:42:27 +0900 Subject: [xoops-cvslog 674] CVS update: /xoops2jp/html Message-ID: <20051027104227.8DEC92AC035@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Thu Oct 27 19:42:52 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Thu, 27 Oct 2005 19:42:52 +0900 Subject: [xoops-cvslog 675] CVS update: /xoops2jp/html Message-ID: <20051027104252.D49C32AC035@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Thu Oct 27 19:43:06 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Thu, 27 Oct 2005 19:43:06 +0900 Subject: [xoops-cvslog 676] CVS update: /xoops2jp/html Message-ID: <20051027104306.3C9F92AC035@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Thu Oct 27 19:43:38 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Thu, 27 Oct 2005 19:43:38 +0900 Subject: [xoops-cvslog 677] CVS update: /xoops2jp/html Message-ID: <20051027104338.392762AC035@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Thu Oct 27 19:46:58 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Thu, 27 Oct 2005 19:46:58 +0900 Subject: [xoops-cvslog 678] CVS update: /xoops2jp/html Message-ID: <20051027104658.F1EC72AC035@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Thu Oct 27 19:47:35 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Thu, 27 Oct 2005 19:47:35 +0900 Subject: [xoops-cvslog 679] CVS update: /xoops2jp/html Message-ID: <20051027104735.E25DC2AC035@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Thu Oct 27 19:48:47 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Thu, 27 Oct 2005 19:48:47 +0900 Subject: [xoops-cvslog 680] CVS update: /xoops2jp/html/class Message-ID: <20051027104847.065BB2AC025@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Thu Oct 27 19:49:42 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Thu, 27 Oct 2005 19:49:42 +0900 Subject: [xoops-cvslog 681] CVS update: /xoops2jp/html/class Message-ID: <20051027104942.D9A172AC035@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Thu Oct 27 19:50:13 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Thu, 27 Oct 2005 19:50:13 +0900 Subject: [xoops-cvslog 682] CVS update: /xoops2jp/html/class Message-ID: <20051027105013.BD6A42AC025@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Thu Oct 27 19:51:29 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Thu, 27 Oct 2005 19:51:29 +0900 Subject: [xoops-cvslog 683] CVS update: /xoops2jp/html/class Message-ID: <20051027105129.BFA272AC035@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Thu Oct 27 19:51:55 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Thu, 27 Oct 2005 19:51:55 +0900 Subject: [xoops-cvslog 684] CVS update: /xoops2jp/html/class Message-ID: <20051027105155.167582AC025@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Thu Oct 27 19:53:10 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Thu, 27 Oct 2005 19:53:10 +0900 Subject: [xoops-cvslog 685] CVS update: /xoops2jp/html/class Message-ID: <20051027105310.C76772AC025@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Thu Oct 27 19:53:34 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Thu, 27 Oct 2005 19:53:34 +0900 Subject: [xoops-cvslog 686] CVS update: /xoops2jp/html/class Message-ID: <20051027105334.3FA792AC025@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Thu Oct 27 19:53:55 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Thu, 27 Oct 2005 19:53:55 +0900 Subject: [xoops-cvslog 687] CVS update: /xoops2jp/html/include Message-ID: <20051027105355.BBF582AC025@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Thu Oct 27 19:54:23 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Thu, 27 Oct 2005 19:54:23 +0900 Subject: [xoops-cvslog 688] CVS update: /xoops2jp/html/modules/base/class Message-ID: <20051027105423.B28A32AC025@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Thu Oct 27 19:54:56 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Thu, 27 Oct 2005 19:54:56 +0900 Subject: [xoops-cvslog 689] CVS update: /xoops2jp/html/modules/base/class Message-ID: <20051027105456.776862AC025@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Thu Oct 27 19:55:24 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Thu, 27 Oct 2005 19:55:24 +0900 Subject: [xoops-cvslog 690] CVS update: /xoops2jp/html/modules/base/class Message-ID: <20051027105524.C70082AC025@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Thu Oct 27 19:56:13 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Thu, 27 Oct 2005 19:56:13 +0900 Subject: [xoops-cvslog 691] CVS update: /xoops2jp/html/modules/base/class/debug Message-ID: <20051027105613.A26442AC025@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Thu Oct 27 19:56:34 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Thu, 27 Oct 2005 19:56:34 +0900 Subject: [xoops-cvslog 692] CVS update: /xoops2jp/html/modules/base/class/language Message-ID: <20051027105634.724A42AC025@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Thu Oct 27 19:57:03 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Thu, 27 Oct 2005 19:57:03 +0900 Subject: [xoops-cvslog 693] CVS update: /xoops2jp/html/modules/base/preload/IPbanning Message-ID: <20051027105703.462BF2AC025@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Thu Oct 27 19:57:14 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Thu, 27 Oct 2005 19:57:14 +0900 Subject: [xoops-cvslog 694] CVS update: /xoops2jp/html/modules/base/preload/SiteClose Message-ID: <20051027105714.A53822AC025@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Thu Oct 27 19:57:42 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Thu, 27 Oct 2005 19:57:42 +0900 Subject: [xoops-cvslog 695] CVS update: /xoops2jp/html/modules/system/admin/preferences Message-ID: <20051027105742.5EC462AC025@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Thu Oct 27 19:58:35 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Thu, 27 Oct 2005 19:58:35 +0900 Subject: [xoops-cvslog 696] CVS update: /xoops2jp/html/modules/system/blocks Message-ID: <20051027105835.9D5182AC044@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Thu Oct 27 19:59:16 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Thu, 27 Oct 2005 19:59:16 +0900 Subject: [xoops-cvslog 697] CVS update: /xoops2jp/html/modules/system/templates/blocks Message-ID: <20051027105916.F196D2AC044@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Thu Oct 27 19:59:49 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Thu, 27 Oct 2005 19:59:49 +0900 Subject: [xoops-cvslog 698] CVS update: /xoops2jp/html/modules/user Message-ID: <20051027105949.8BDF62AC044@users.sourceforge.jp> From minahito ¡÷ users.sourceforge.jp Thu Oct 27 20:03:43 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Thu, 27 Oct 2005 20:03:43 +0900 Subject: [xoops-cvslog 699] CVS update: xoops2jp/html/modules/base/class/common Message-ID: <20051027110343.47EBB2AC025@users.sourceforge.jp> Index: xoops2jp/html/modules/base/class/common/ModulePreProc.class.php diff -u xoops2jp/html/modules/base/class/common/ModulePreProc.class.php:1.1.4.3 xoops2jp/html/modules/base/class/common/ModulePreProc.class.php:removed --- xoops2jp/html/modules/base/class/common/ModulePreProc.class.php:1.1.4.3 Tue Oct 25 19:58:47 2005 +++ xoops2jp/html/modules/base/class/common/ModulePreProc.class.php Thu Oct 27 20:03:43 2005 @@ -1,143 +0,0 @@ - // -// ------------------------------------------------------------------------ // -// This program is free software; you can redistribute it and/or modify // -// it under the terms of the GNU General Public License as published by // -// the Free Software Foundation; either version 2 of the License, or // -// (at your option) any later version. // -// // -// You may not change or alter any portion of this comment or credits // -// of supporting developers from this source code or any supporting // -// source code which is considered copyrighted (c) material of the // -// original comment or credit authors. // -// // -// This program is distributed in the hope that it will be useful, // -// but WITHOUT ANY WARRANTY; without even the implied warranty of // -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // -// GNU General Public License for more details. // -// // -// You should have received a copy of the GNU General Public License // -// along with this program; if not, write to the Free Software // -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA // -// ------------------------------------------------------------------------ // - -class ModulePreProc -{ - var $mXoopsUser; - var $mXoopsModule; - var $mXoopsConfig; - - function ModulePreProc(&$xoopsUser,&$xoopsConfig) - { - $this->mXoopsUser=&$xoopsUser; - $this->mXoopsConfig=&$xoopsConfig; - } - - /** - is Module process ? - */ - function isExecute() - { - return file_exists('./xoops_version.php'); - } - - function fetchDirname() - { - $url_arr = explode('/',strstr($_SERVER['REQUEST_URI'],'/modules/')); - return $url_arr[2]; - } - - function &fetchModuleObject() - { - if(!is_object($this->mXoopsModule)) { - $module_handler =& xoops_gethandler('module'); - $this->mXoopsModule = $module_handler->getByDirname($this->fetchDirname()); - } - return $this->mXoopsModule; - } - - function &getModuleObject() - { - return $this->mXoopsModule; - } - - function processErrorModuleNotExist() - { - require_once XOOPS_ROOT_PATH."/header.php"; - echo "

    "._MODULENOEXIST."

    "; - require_once XOOPS_ROOT_PATH."/footer.php"; - exit(); - } - - function execute() - { - $this->fetchModuleObject(); - - if(!is_object($this->mXoopsModule) || !$this->mXoopsModule->getVar('isactive')) - $this->processErrorModuleNotExist(); - - $this->checkPermission(); - $this->loadMessageCatalog($this->mXoopsConfig['language']); - - //----------------------- - // Set to global variable - //----------------------- - $GLOBALS['xoopsUserIsAdmin']=$this->isModuleAdmin(); - $GLOBALS['xoopsModule']=&$this->getModuleObject(); - $GLOBALS['xoopsModuleConfig']=&$this->getModuleConfig(); - } - - function checkPermission() - { - $moduleperm_handler =& xoops_gethandler('groupperm'); - - if(is_object($this->mXoopsUser)) { - $groups=$this->mXoopsUser->getGroups(); - } - else { - $groups=XOOPS_GROUP_ANONYMOUS; - } - - if (!$moduleperm_handler->checkRight('module_read', $this->mXoopsModule->getVar('mid'), $groups)) { - /// @todo We need measures to an infinite loop - XCubeUtils::redirectHeader(XOOPS_URL,1,_NOPERM); - } - } - - function isModuleAdmin() - { - $adminFlag=false; - if(is_object($this->mXoopsUser)) - $adminFlag = $this->mXoopsUser->isAdmin($this->mXoopsModule->getVar('mid')); - - return $adminFlag; - } - - function loadMessageCatalog($language) - { - // load message catalog of modules. - if ( file_exists(XOOPS_ROOT_PATH."/modules/".$this->mXoopsModule->getVar('dirname')."/language/".$language."/main.php") ) { - require_once XOOPS_ROOT_PATH."/modules/".$this->mXoopsModule->getVar('dirname')."/language/".$language."/main.php"; - } else { - if ( file_exists(XOOPS_ROOT_PATH."/modules/".$this->mXoopsModule->getVar('dirname')."/language/english/main.php") ) { - require_once XOOPS_ROOT_PATH."/modules/".$this->mXoopsModule->getVar('dirname')."/language/english/main.php"; - } - } - } - - function &getModuleConfig() - { - $ret=null; - if ($this->mXoopsModule->getVar('hasconfig') == 1 || $this->mXoopsModule->getVar('hascomments') == 1 || $this->mXoopsModule->getVar( 'hasnotification' ) == 1) { - $configHandler =& xoops_gethandler('config'); - $ret=& $configHandler->getConfigsByCat(0, $this->mXoopsModule->getVar('mid')); - } - return $ret; - } -} - -?> \ No newline at end of file Index: xoops2jp/html/modules/base/class/common/SiteCloseProc.class.php diff -u xoops2jp/html/modules/base/class/common/SiteCloseProc.class.php:1.1.4.2 xoops2jp/html/modules/base/class/common/SiteCloseProc.class.php:removed --- xoops2jp/html/modules/base/class/common/SiteCloseProc.class.php:1.1.4.2 Sun Oct 23 16:03:25 2005 +++ xoops2jp/html/modules/base/class/common/SiteCloseProc.class.php Thu Oct 27 20:03:43 2005 @@ -1,72 +0,0 @@ - // -// ------------------------------------------------------------------------ // -// This program is free software; you can redistribute it and/or modify // -// it under the terms of the GNU General Public License as published by // -// the Free Software Foundation; either version 2 of the License, or // -// (at your option) any later version. // -// // -// You may not change or alter any portion of this comment or credits // -// of supporting developers from this source code or any supporting // -// source code which is considered copyrighted (c) material of the // -// original comment or credit authors. // -// // -// This program is distributed in the hope that it will be useful, // -// but WITHOUT ANY WARRANTY; without even the implied warranty of // -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // -// GNU General Public License for more details. // -// // -// You should have received a copy of the GNU General Public License // -// along with this program; if not, write to the Free Software // -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA // -// ------------------------------------------------------------------------ // - -class SiteCloseProc -{ - var $mXoopsUser; - var $mXoopsConfig; - - function SiteCloseProc(&$xoopsUser,&$xoopsConfig) - { - $this->mXoopsUser=&$xoopsUser; - $this->mXoopsConfig=&$xoopsConfig; - } - - function isExecute() - { - return ($this->mXoopsConfig['closesite']==1); - } - - function execute() - { - $accessAllowFlag = false; - - if(is_object($this->mXoopsUser)) { - foreach ($this->mXoopsUser->getGroups() as $group) { - if (in_array($group, $this->mXoopsConfig['closesite_okgrp']) || XOOPS_GROUP_ADMIN == $group) { - $allowed = true; - break; - } - } - } - elseif(!empty($_POST['xoops_login'])) { - require_once XOOPS_ROOT_PATH.'/include/checklogin.php'; - exit(); - } - - if (!$accessAllowFlag) { - include_once XOOPS_ROOT_PATH.'/class/template.php'; - $xoopsTpl = new XoopsTpl(); - $xoopsTpl->assign(array('xoops_sitename' => htmlspecialchars($this->mXoopsConfig['sitename']), 'xoops_themecss' => xoops_getcss(), 'xoops_imageurl' => XOOPS_THEME_URL.'/'.$this->mXoopsConfig['theme_set'].'/', 'lang_login' => _LOGIN, 'lang_username' => _USERNAME, 'lang_password' => _PASSWORD, 'lang_siteclosemsg' => $this->mXoopsConfig['closesite_text'])); - $xoopsTpl->xoops_setCaching(1); - $xoopsTpl->display('db:system_siteclosed.html'); - exit(); - } - } -} - -?> \ No newline at end of file Index: xoops2jp/html/modules/base/class/common/ThemeSelectProc.class.php diff -u xoops2jp/html/modules/base/class/common/ThemeSelectProc.class.php:1.1.4.1 xoops2jp/html/modules/base/class/common/ThemeSelectProc.class.php:removed --- xoops2jp/html/modules/base/class/common/ThemeSelectProc.class.php:1.1.4.1 Wed Oct 19 17:01:05 2005 +++ xoops2jp/html/modules/base/class/common/ThemeSelectProc.class.php Thu Oct 27 20:03:43 2005 @@ -1,55 +0,0 @@ - // -// ------------------------------------------------------------------------ // -// This program is free software; you can redistribute it and/or modify // -// it under the terms of the GNU General Public License as published by // -// the Free Software Foundation; either version 2 of the License, or // -// (at your option) any later version. // -// // -// You may not change or alter any portion of this comment or credits // -// of supporting developers from this source code or any supporting // -// source code which is considered copyrighted (c) material of the // -// original comment or credit authors. // -// // -// This program is distributed in the hope that it will be useful, // -// but WITHOUT ANY WARRANTY; without even the implied warranty of // -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // -// GNU General Public License for more details. // -// // -// You should have received a copy of the GNU General Public License // -// along with this program; if not, write to the Free Software // -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA // -// ------------------------------------------------------------------------ // - -class ThemeSelectProc -{ - var $mXoopsUser; - var $mXoopsConfig; - - function ThemeSelectProc(&$xoopsUser,&$xoopsConfig) - { - $this->mXoopsUser=&$xoopsUser; - $this->mXoopsConfig=&$xoopsConfig; - } - - function isExecute() - { - return true; - } - - function execute() - { - if (!empty($_POST['xoops_theme_select']) && in_array($_POST['xoops_theme_select'], $this->mXoopsConfig['theme_set_allowed'])) { - $this->mXoopsConfig['theme_set'] = $_POST['xoops_theme_select']; - $_SESSION['xoopsUserTheme'] = $_POST['xoops_theme_select']; - } elseif (!empty($_SESSION['xoopsUserTheme']) && in_array($_SESSION['xoopsUserTheme'], $this->mXoopsConfig['theme_set_allowed'])) { - $this->mXoopsConfig['theme_set'] = $_SESSION['xoopsUserTheme']; - } - } -} - -?> \ No newline at end of file From minahito ¡÷ users.sourceforge.jp Thu Oct 27 20:03:53 2005 From: minahito ¡÷ users.sourceforge.jp (Minahito) Date: Thu, 27 Oct 2005 20:03:53 +0900 Subject: [xoops-cvslog 700] CVS update: xoops2jp/html/modules/base/class/template Message-ID: <20051027110353.680FA2AC012@users.sourceforge.jp> Index: xoops2jp/html/modules/base/class/template/TemplateDirector.class.php diff -u xoops2jp/html/modules/base/class/template/TemplateDirector.class.php:1.1.4.3 xoops2jp/html/modules/base/class/template/TemplateDirector.class.php:removed --- xoops2jp/html/modules/base/class/template/TemplateDirector.class.php:1.1.4.3 Fri Oct 21 19:05:47 2005 +++ xoops2jp/html/modules/base/class/template/TemplateDirector.class.php Thu Oct 27 20:03:53 2005 @@ -1,62 +0,0 @@ - // -// ------------------------------------------------------------------------ // -// This program is free software; you can redistribute it and/or modify // -// it under the terms of the GNU General Public License as published by // -// the Free Software Foundation; either version 2 of the License, or // -// (at your option) any later version. // -// // -// You may not change or alter any portion of this comment or credits // -// of supporting developers from this source code or any supporting // -// source code which is considered copyrighted (c) material of the // -// original comment or credit authors. // -// // -// This program is distributed in the hope that it will be useful, // -// but WITHOUT ANY WARRANTY; without even the implied warranty of // -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // -// GNU General Public License for more details. // -// // -// You should have received a copy of the GNU General Public License // -// along with this program; if not, write to the Free Software // -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA // -// ------------------------------------------------------------------------ // - -class XoopsTemplateDirector -{ - var $mBuilder; - - var $mXoopsUser; - var $mXoopsModule; - var $mXoopsConfig; - - function XoopsTemplateDirector(&$builder,&$xoopsUser,&$xoopsModule,&$xoopsConfig) - { - $this->mBuilder=&$builder; - $this->mXoopsUser=&$xoopsUser; - $this->mXoopsModule=&$xoopsModule; - $this->mXoopsConfig=&$xoopsConfig; - } - - function construct() - { - $this->mBuilder->setDefault(); - $this->mBuilder->addXoopsConfig($this->mXoopsConfig); - - // Meta tags - $config_handler=&xoops_gethandler('config'); - $config =& $config_handler->getConfigsByCat(0,XOOPS_CONF_METAFOOTER); - $this->mBuilder->addMetaConfig($config); - - $this->mBuilder->addXoopsUser($this->mXoopsUser); - $this->mBuilder->addXoopsModule($this->mXoopsModule); - -// $this->mBuilder->buildBlock(); - } -} - - -?> \ No newline at end of file Index: xoops2jp/html/modules/base/class/template/TemplateBuilder.class.php diff -u xoops2jp/html/modules/base/class/template/TemplateBuilder.class.php:1.1.4.3 xoops2jp/html/modules/base/class/template/TemplateBuilder.class.php:removed --- xoops2jp/html/modules/base/class/template/TemplateBuilder.class.php:1.1.4.3 Sun Oct 23 15:56:34 2005 +++ xoops2jp/html/modules/base/class/template/TemplateBuilder.class.php Thu Oct 27 20:03:53 2005 @@ -1,135 +0,0 @@ - // -// ------------------------------------------------------------------------ // -// This program is free software; you can redistribute it and/or modify // -// it under the terms of the GNU General Public License as published by // -// the Free Software Foundation; either version 2 of the License, or // -// (at your option) any later version. // -// // -// You may not change or alter any portion of this comment or credits // -// of supporting developers from this source code or any supporting // -// source code which is considered copyrighted (c) material of the // -// original comment or credit authors. // -// // -// This program is distributed in the hope that it will be useful, // -// but WITHOUT ANY WARRANTY; without even the implied warranty of // -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // -// GNU General Public License for more details. // -// // -// You should have received a copy of the GNU General Public License // -// along with this program; if not, write to the Free Software // -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA // -// ------------------------------------------------------------------------ // - -require_once XOOPS_ROOT_PATH.'/class/template.php'; -require_once XOOPS_ROOT_PATH."/modules/base/class/BlockProcContext.class.php"; - -class XoopsTemplateBuilder -{ - var $mXoopsTpl; - var $mXoopsConfig; - var $mXoopsUser; - var $mXoopsModule; - - function XoopsTemplateBuilder() - { - $this->mXoopsTpl=new XoopsTpl(); - } - - function setDefault() - { - $this->mXoopsTpl->xoops_setCaching(2); - $this->mXoopsTpl->assign(array('xoops_requesturi' => htmlspecialchars($GLOBALS['xoopsRequestUri'], ENT_QUOTES), //@todo ????????????? - // set JavaScript /Weird, but need extra