PageRenderTime 64ms CodeModel.GetById 20ms RepoModel.GetById 0ms app.codeStats 1ms

/databox/functions_autotag.inc

https://bitbucket.org/tsuchi/box
PHP | 3915 lines | 2988 code | 514 blank | 413 comment | 324 complexity | a47b1d5123c60bfba65c9f980a9bd4f9 MD5 | raw file
Possible License(s): AGPL-1.0

Large files files are truncated, but you can click here to view the full file

  1. <?php
  2. /* Reminder: always indent with 4 spaces (no tabs). */
  3. // +---------------------------------------------------------------------------+
  4. // | DataBox プラグイン function.inc からrequire
  5. // | 自動タグおよび DataBox 専用関数
  6. // +---------------------------------------------------------------------------+
  7. // $Id: plugins/databox/functions_autotag.inc
  8. //20101008 tsuchitani AT ivywe DOT co DOT jp http://www.ivywe.co.jp/
  9. //20120416 databox_category {data_edit}
  10. if (strpos ($_SERVER['PHP_SELF'], 'functions_autotag.inc') !== false) {
  11. die ('This file can not be used on its own.');
  12. }
  13. //=====自動タグ=================================================================
  14. function plugin_autotags_databox (
  15. $op
  16. , $content = ''
  17. , $autotag = ''
  18. )
  19. // +---------------------------------------------------------------------------+
  20. // | 自動タグ
  21. // +---------------------------------------------------------------------------+
  22. {
  23. global $_TABLES;
  24. global $_CONF;
  25. global $LANG_DATABOX_autotag_desc;
  26. //Option Display
  27. if ($op == 'tagname' ) {
  28. $tagname[]='databox';
  29. return $tagname;
  30. } elseif ($op == 'permission' || $op == 'nopermission') {
  31. if ($op == 'permission') {
  32. $flag = true;
  33. } else {
  34. $flag = false;
  35. }
  36. if (isset($_GROUPS['DataBox Admin'])) {
  37. $group_id = $_GROUPS['DataBox Admin'];
  38. } else {
  39. $group_id = DB_getItem($_TABLES['groups'], 'grp_id',
  40. "grp_name = 'DataBox Admin'");
  41. }
  42. $owner_id = SEC_getDefaultRootUser();
  43. if (COM_getPermTag(
  44. $owner_id
  45. , $group_id
  46. , $_DATABOX_CONF['autotag_permissions_databox'][0]
  47. , $_DATABOX_CONF['autotag_permissions_databox'][1]
  48. , $_DATABOX_CONF['autotag_permissions_databox'][2]
  49. , $_DATABOX_CONF['autotag_permissions_databox'][3]) == $flag) {
  50. return $tagname;
  51. }
  52. } elseif ($op == 'description') {
  53. return $LANG_DATABOX_autotag_desc;
  54. } else if ($op == 'parse') {
  55. //引数チェック
  56. $p1 = COM_applyFilter ($autotag['parm1']);
  57. $p2 = COM_applyFilter ($autotag['parm2']);
  58. $tag = COM_applyFilter ($autotag['tag']);
  59. $tagstr = COM_applyFilter ($autotag['tagstr']);
  60. $parm2_ary[]="category_id";
  61. $parm2_ary[]="category_code";
  62. $parm2_ary[]="mode";
  63. $parm2_ary[]="rss_file";
  64. $parm2_ary[]="title_trim_length";
  65. $parm2_ary[]="intervalday";
  66. $parm2_ary[]="limitcnt";
  67. $parm2_ary[]="newmarkday";
  68. $parm2_ary[]="templatedir";
  69. $parm2_ary[]="id";
  70. $parm2_ary[]="code";
  71. $parm2_ary[]="nohitmsg";
  72. $parm2_ary[]="perpage";
  73. $parm2_ary[]="page";
  74. $parm2_ary[]="order";
  75. $parm2_ary[]="templatesetvar";
  76. $parm2_ary[]="value";
  77. $parm2_ary[]="field_id";
  78. $parm2_ary[]="expired";
  79. $parm2_ary[]="type_id";
  80. $parm2_ary[]="group_id";
  81. $parm2_ary[]="group_code";
  82. $parm2_ary[]="iname";
  83. $parm2_ary[]="without_code";
  84. $parm2_ary[]="without_id";
  85. $parm2_ary[]="field_code";
  86. $parm2_ary[]="option";
  87. $parm2_ary[]="method";
  88. $parm2_ary[]="roundprecision";
  89. $parm2_ary[]="numberformat";
  90. $parm2_ary[]="permission";
  91. $p=databox_parm2($p2,$parm2_ary);
  92. //各処理
  93. switch( $tag ) {
  94. case 'databox' :
  95. switch($p1) {
  96. case 'count':
  97. $rt= databox_count(
  98. $p['category_id']
  99. ,$p['category_code']
  100. ,$p['mode']
  101. ,$p['permission']
  102. ,$p['numberformat']
  103. );
  104. break;
  105. case 'newlist':
  106. if ($p['category_id']<>""){
  107. $m="id";
  108. $categories=$p['category_id'];
  109. }elseif ($p['category_code']<>"") {
  110. $m="code";
  111. $categories=$p['category_code'];
  112. }else{
  113. $m="ALL";
  114. $categories="";
  115. }
  116. $rt= databox_newlist(
  117. $m
  118. ,$categories
  119. ,$p['rss_file']
  120. ,$p['title_trim_length']
  121. ,$p['intervalday']
  122. ,$p['limitcnt']
  123. ,$p['newmarkday']
  124. ,$p['templatedir']
  125. ,$p['permission']
  126. );
  127. break;
  128. case 'data':
  129. $w= databox_data(
  130. $p['id']
  131. ,$p['templatedir']
  132. ,$p['nohitmsg']
  133. ,""
  134. ,$p['code']
  135. );
  136. $rt=$w['display'];
  137. break;
  138. case 'category':
  139. $rt= databox_category(
  140. "autotag"
  141. ,$p['category_id']
  142. ,$p['templatedir']
  143. ,$p['nohitmsg']
  144. ,$p['perpage']
  145. ,$p['page']
  146. ,$p['order']
  147. ,$p['category_code']
  148. ,$p['mode']
  149. ,$p['expired']
  150. ,$p['without_code']
  151. ,$p['without_id']
  152. );
  153. break;
  154. case 'attributedatacount':
  155. $rt=DATABOX_count_each_afield(
  156. "databox"
  157. ,$p['templatesetvar']
  158. ,$p['value']
  159. ,$p['type_id']
  160. ,$p['permission']
  161. ,$p['numberformat']
  162. );
  163. break;
  164. case 'lastmodified':
  165. $rt= databox_grp(
  166. "modified"
  167. ,"max"
  168. ,"lastmodified"
  169. ,$p['category_id']
  170. ,$p['category_code']
  171. );
  172. break;
  173. case 'lastcreated':
  174. $rt= databox_grp(
  175. "created"
  176. ,"max"
  177. ,"lastcreated"
  178. ,$p['category_id']
  179. ,$p['category_code']
  180. );
  181. break;
  182. case 'attribute':
  183. $rt= databox_field(
  184. "autotag"
  185. ,$p['field_id']
  186. ,$p['value']
  187. ,$p['templatedir']
  188. ,$p['nohitmsg']
  189. ,$p['perpage']
  190. ,$p['page']
  191. ,$p['order']
  192. ,$p['field_code']
  193. );
  194. break;
  195. case 'datalink':
  196. $rt= databox_datalink(
  197. $p['id']
  198. ,$p['code']
  199. ,$p['lastparm2']
  200. );
  201. break;
  202. case 'mydataentrylink':
  203. case 'mydataentry':
  204. $rt= databox_mydataentrylink(
  205. $p['type_id']
  206. ,$p['templatedir']
  207. ,$p['lastparm2']
  208. );
  209. break;
  210. case 'mydata':
  211. $rt= databox_mydata(
  212. $p['templatedir']
  213. ,$p['lastparm2']
  214. );
  215. break;
  216. case 'categorycount':
  217. $rt= DATABOX_categorycount(
  218. "databox"
  219. ,$p['group_id']
  220. ,$p['group_code']
  221. ,$p['permission']
  222. ,$p['numberformat']
  223. );
  224. break;
  225. case 'categorycheck':
  226. $rt= DATABOX_getcheckList(
  227. "categorygroup"
  228. ,""
  229. ,"databox"
  230. ,$p['group_id']
  231. ,$p['iname']
  232. );
  233. break;
  234. case 'mastercheck':
  235. if ($p['field_id']<>""){
  236. $kind=COM_applyFilter(
  237. DB_getItem($_TABLES['DATABOX_def_field']
  238. ,"selectlist","field_id={$p['field_id']}"));
  239. if ($kind<>""){
  240. $rt= DATABOX_getcheckList(
  241. $kind
  242. ,""
  243. ,"databox"
  244. ,""
  245. ,$p['iname']
  246. );
  247. }
  248. }
  249. break;
  250. case 'search':
  251. $argary=databox_searcharg("autotag",$p['lastparm2']);
  252. $rt=databox_search("autotag",$argary);
  253. break;
  254. case 'attributevalue':
  255. $rt=DATABOX_fieldvalue(
  256. "databox"
  257. ,$p['id']
  258. ,$p['code']
  259. ,$p['field_id']
  260. ,$p['field_code']
  261. ,$p['option']
  262. );
  263. break;
  264. case 'math':
  265. $rt=DATABOX_math(
  266. "databox"
  267. ,$p['method']
  268. ,$p['templatesetvar']
  269. ,$p['type_id']
  270. ,$p['category_id']
  271. ,$p['category_code']
  272. ,$p['mode']
  273. ,$p['roundprecision']
  274. ,$p['numberformat']
  275. ,$p['permission']
  276. );
  277. break;
  278. }
  279. $content = str_replace ($autotag['tagstr'], $rt, $content);
  280. return $content;
  281. break;
  282. }
  283. }
  284. }
  285. //第二引数分割
  286. function databox_parm2 ($p2,$parm2_ary)
  287. {
  288. $ary=array();
  289. $px = explode (' ', trim ($p2));
  290. if (is_array ($px)) {
  291. foreach ($px as $part) {
  292. $a = explode (':', $part);
  293. if (in_array($a[0],$parm2_ary)){
  294. $ary["{$a[0]}"]=$a[1];
  295. $skip++;
  296. }
  297. }
  298. if (count ($px) > $skip) {
  299. for ($i = 0; $i < $skip; $i++) {
  300. array_shift ($px);
  301. }
  302. $ary["lastparm2"] = trim(implode (' ', $px));
  303. }
  304. }else{
  305. $ary["lastparm2"]=trim($p2);
  306. }
  307. return $ary;
  308. }
  309. //=====ブロック関数============================================================
  310. // +---------------------------------------------------------------------------+
  311. // | 機能 ブロック用 新着data一覧出力 |
  312. // | 書式 phpblock_shownewdatabox() |
  313. // +---------------------------------------------------------------------------+
  314. function phpblock_shownewdatabox()
  315. {
  316. return databox_newlist();
  317. }
  318. //=====専用関数============================================================
  319. //
  320. function databox_category(
  321. $autotag
  322. ,$category_id=null
  323. ,$template=null
  324. ,$nohitmsg=""
  325. ,$perpage =0
  326. ,$page=null
  327. ,$order=null
  328. ,$category_code=null
  329. ,$mode=''
  330. ,$expired=''
  331. ,$without_code=''
  332. ,$without_id=''
  333. )
  334. // +---------------------------------------------------------------------------+
  335. // | 機能 カテゴリ別一覧表示
  336. // | 書式 databox_category($id,$template,"yes","page",$perpage)
  337. // | 書式 databox_category($p['category_id'],$p['thtml'],$p['nohitmsg']
  338. // | 書式 ,"",$p['perpage'],$p['order'],$p['code']
  339. // +---------------------------------------------------------------------------+
  340. // | 引数 $autotag:notautotagの時ヘッダを表示しない
  341. // | 引数 $category_id:カテゴリid
  342. // | 引数 $template:使用するテンプレートのフォルダ名
  343. // | 引数 $nohitmsg :"yes"の時nohitメッセージ表示
  344. // | 引数 $perpage :1pageあたりの件数、0の時改ページなし
  345. // | 引数 $page :
  346. // | 引数 $order :順序
  347. // | 引数 $category_code :
  348. // | 引数 $mode :ブランク または AND
  349. // +---------------------------------------------------------------------------+
  350. // | public_html/category.php および 自動タグで使用
  351. // | ヘッダはコンフィギュレーション設定により表示されない場合があります
  352. // | idもcodeも指定されない場合は、全カテゴリ
  353. // +---------------------------------------------------------------------------+
  354. // | 戻値 nomal:category list
  355. // +---------------------------------------------------------------------------+
  356. {
  357. $pi_name="databox";
  358. global $_CONF;
  359. global $_TABLES;
  360. global $_DATABOX_CONF;
  361. global $LANG_DATABOX;
  362. global $LANG_DATABOX_ADMIN;
  363. global $_IMAGE_TYPE;
  364. global $LANG_confignames;
  365. //ログイン要否チェック
  366. if (COM_isAnonUser()){
  367. if ($_CONF['loginrequired']
  368. OR ($_DATABOX_CONF['loginrequired'] >1) ){
  369. return $LANG_DATABOX['loginrequired'];
  370. }
  371. }
  372. //-----テーブル
  373. $tbl1=$_TABLES['DATABOX_category'] ;
  374. $tbl2=$_TABLES['DATABOX_base'] ;
  375. $tbl3=$_TABLES['DATABOX_addition'] ;
  376. //
  377. $tbl5=$_TABLES['DATABOX_def_category'] ;
  378. $tbl6=$_TABLES['DATABOX_stats'];
  379. //
  380. $datefield=$_DATABOX_CONF['datefield'];//使用する日付(編集日付、作成日付、公開日)
  381. $new_img=$_DATABOX_CONF['new_img'];
  382. if ($new_img==""){
  383. $new_img="New!";
  384. }
  385. $newmarkday=$_DATABOX_CONF['newmarkday'];
  386. if ($newmarkday==""){
  387. $newmarkday=3;
  388. }
  389. $chkday=strtotime("- $newmarkday days",time());
  390. //-----引数チェック
  391. $ids="";
  392. $idsary=array();
  393. if (is_null($category_id) OR $category_id==0){
  394. if (is_null($category_code)){
  395. }else{
  396. $w=explode("|",$category_code);
  397. foreach( $w as $val ){
  398. if ($ids<>""){
  399. $ids.=",";
  400. }
  401. $w_id=DATABOX_codetoid($val,'DATABOX_def_category',"category_id");
  402. $idsary[]=$w_id;
  403. $ids.=$w_id;
  404. }
  405. }
  406. }else{
  407. $ids=$category_id;
  408. $idsary[]=$category_id;
  409. }
  410. //--CATEGORY
  411. $category_name="";
  412. $defaulttemplatesdirectory = "";
  413. if (count($idsary)<>0){
  414. for ($i = 0; $i < count($idsary); $i++) {
  415. $sql = "SELECT ";
  416. $sql .= " name ".LB;
  417. $sql .= " ,code ".LB;
  418. $sql .= " ,description ".LB;
  419. $sql .= " ,defaulttemplatesdirectory".LB;
  420. $sql .= " FROM ".LB;
  421. $sql .= " {$tbl5} AS t5 ".LB;
  422. $sql .= " WHERE ".LB;
  423. $sql .= " t5.category_id =".$idsary[$i].LB;
  424. $result = DB_query ($sql);
  425. $numrows = DB_numRows ($result);
  426. if ($numrows > 0) {
  427. $A = DB_fetchArray ($result);
  428. $category_name.=COM_applyFilter($A['name'])." ";
  429. $category_description.=COM_applyFilter($A['description'])." ";
  430. if ($i==0){
  431. $defaulttemplatesdirectory=COM_applyFilter($A['defaulttemplatesdirectory']);
  432. }
  433. }
  434. }
  435. }
  436. if (is_null($template) or ($template==="")){
  437. if ($defaulttemplatesdirectory===""){
  438. $template="default";
  439. }else{
  440. $template=$defaulttemplatesdirectory;
  441. }
  442. }
  443. //
  444. if (is_null($page) OR !isset($page) OR $page == 0) {
  445. $page = 1;
  446. }
  447. if ($perpage===0 OR is_null($perpage)){
  448. $perpage=$_DATABOX_CONF['perpage'];
  449. }
  450. //
  451. $w=databox_orderby($datefield,$order,$orderby,$addfieldorder,$field_id);
  452. //
  453. if (is_null($expired) or ($expired==="")){
  454. $expired="no";
  455. }
  456. //-----
  457. $sql = "SELECT ";
  458. $sql .= " t2.id ".LB;
  459. $sql .= " ,t2.title ".LB;
  460. $sql .= " ,t2.code ".LB;
  461. $sql .= " ,t2.description ".LB;
  462. $sql .= " ,t2.released ".LB;
  463. $sql .= " ,t2.expired ".LB;
  464. $sql .= " ,t2.".$datefield." AS datefield ".LB;
  465. $sql .= " ,t2.fieldset_id ".LB;
  466. $sql .= " ,UNIX_TIMESTAMP(t2.".$datefield.") AS datefield_un ".LB;
  467. $sql .= " ,UNIX_TIMESTAMP(t2.released ) AS released_un ".LB;
  468. $sql .= " ,UNIX_TIMESTAMP(t2.expired ) AS expired_un ".LB;
  469. $sql .= " ,t2.group_id";
  470. $sql .= " ,t2.owner_id";
  471. if ($addfieldorder){
  472. $sql .= " ,t3.value ".LB;
  473. }
  474. //--FROM
  475. $sql .= " FROM ".LB;
  476. $sql .= " {$tbl2} AS t2 ".LB;
  477. //if ($category_id<>0){
  478. // $sql .= " ,{$tbl1} AS t1 ".LB;
  479. //}
  480. if ($addfieldorder){
  481. $sql .= " ,{$tbl3} AS t3 ".LB;
  482. }
  483. //--WHERE
  484. $sql .= " WHERE ".LB;
  485. if (count($idsary)<>0){
  486. if (strtoupper($mode)=="AND"){
  487. $w="";
  488. foreach( $idsary as $val ){
  489. if ($w<>""){
  490. $w.=" AND ";
  491. }
  492. $w.=$val." IN (SELECT t1.category_id";
  493. $w.=" FROM {$tbl1} AS t1 ,{$tbl5} AS t5";
  494. $w.=" WHERE t2.id = t1.id AND t1.category_id = t5.category_id AND t5.allow_display<2)";
  495. }
  496. }else{
  497. $w= "t2.id IN (SELECT id FROM {$tbl1} AS t1 ,{$tbl5} AS t5 ";
  498. $w.="WHERE t1.category_id = t5.category_id AND t5.allow_display<2 AND t1.category_id IN ({$ids})) ";
  499. }
  500. $sql.=" ({$w})".LB;
  501. }else{
  502. $sql.=" 1=1".LB;
  503. }
  504. if ($addfieldorder){
  505. $sql .= " AND t3.field_id=".$field_id.LB;
  506. $sql .= " AND t3.id=t2.id".LB;
  507. }
  508. //管理者の時,下書データも含む
  509. //20110529 Del
  510. //if ( SEC_hasRights('databox.admin')) {
  511. //}else{
  512. $sql .= " AND t2.draft_flag=0".LB;
  513. //}
  514. //アクセス権のないデータ はのぞく
  515. $sql .= COM_getPermSql('AND',0,2,"t2");
  516. //公開日以前のデータはのぞく
  517. $sql .= " AND (released <= NOW())".LB;
  518. //公開終了日を過ぎたデータはのぞく
  519. if (strtoupper($expired)=="NO"){
  520. $sql .= " AND (expired=0 OR expired > NOW())";
  521. }
  522. if ($without_code<>""){
  523. $sql .= " AND (t2.code<>'$without_code')";
  524. }
  525. if ($without_id<>""){
  526. $sql .= " AND (t2.id<>$without_id)";
  527. }
  528. //--ORDER
  529. $sql .= " ORDER BY ".LB;
  530. $sql .= $orderby.LB;
  531. $result = DB_query ($sql);
  532. $cnt = DB_numRows ($result);
  533. $pages = 0;
  534. if ($perpage > 0) {
  535. $pages = ceil($cnt / $perpage);
  536. }
  537. $offset = ($page - 1) * $perpage;
  538. $sql .= " LIMIT $offset, $perpage";
  539. //自動タグでない時 ヘッダ、左ブロック
  540. if ($autotag==="notautotag"){
  541. if ($page > 1) {
  542. $page_title = sprintf ('%s (%d)', $category_name, $page);
  543. } else {
  544. $page_title = sprintf ('%s ', $category_name);
  545. }
  546. // Meta Tags
  547. $headercode=DATABOX_getheadercode(
  548. "category"
  549. ,$template
  550. ,$pi_name
  551. ,$category_id
  552. ,$category_name
  553. ,$category_description
  554. ,$category_name
  555. ,$category_description);
  556. $retval .= DATABOX_siteHeader($pi_name,'',$page_title,$headercode) ;
  557. }
  558. $result = DB_query ($sql);
  559. $numrows = DB_numRows ($result);
  560. if ($numrows > 0) {
  561. $tmplfld=DATABOX_templatePath('category',$template,$pi_name);
  562. $templates = new Template($tmplfld);
  563. $templates->set_file (array (
  564. 'list' => 'list_detail.thtml',
  565. 'nav' => 'navigation_detail.thtml',
  566. 'row' => 'row.thtml',
  567. 'col' => "col_detail.thtml",
  568. ));
  569. $languageid=COM_getLanguageId();
  570. $language= COM_getLanguage();
  571. $templates->set_var ('languageid', $languageid);
  572. $templates->set_var ('language', $language);
  573. if ($languageid<>"") {
  574. $templates->set_var ('_languageid', "_".$languageid);
  575. }else{
  576. $templates->set_var ('_languageid', "");
  577. }
  578. //
  579. $templates->set_var ('site_url',$_CONF['site_url']);
  580. $templates->set_var ('this_script',THIS_SCRIPT);
  581. //bread
  582. $templates->set_var ('home',$LANG_DATABOX['home']);
  583. $templates->set_var ('lang_category_list_h2',$LANG_DATABOX['category_list_h2']);
  584. $templates->set_var ('category_name',$category_name);
  585. $templates->set_var ('category_code',$category_code);
  586. $templates->set_var ('category_description',$category_description);
  587. //page
  588. $templates->set_var ('cnt', $cnt);
  589. $lin1=$offset+1;
  590. $lin2=$lin1+$perpage - 1;
  591. if ($lin2>$cnt){
  592. $lin2=$cnt;
  593. }
  594. //summary navigation
  595. $templates->set_var ('lang_view', $LANG_DATABOX['view']);
  596. $templates->set_var ('lin', $lin1."-".($lin2));
  597. $templates->set_var ('cnt', $cnt);
  598. //
  599. $templates->set_var ('lang_title', $LANG_DATABOX_ADMIN['title']);
  600. $templates->set_var ('lang_code', $LANG_DATABOX_ADMIN['code']);
  601. $templates->set_var ('lang_id', $LANG_DATABOX_ADMIN['id']);
  602. $templates->set_var ('lang_description', $LANG_DATABOX_ADMIN['description']);
  603. $templates->set_var ('lang_date', $LANG_DATABOX_ADMIN[$datefield]);
  604. $templates->set_var ('lang_released', $LANG_DATABOX_ADMIN['released']);
  605. $templates->set_var ('lang_expired', $LANG_DATABOX_ADMIN['expired']);
  606. $templates->set_var ('lang_remaingdays', $LANG_DATABOX_ADMIN['remaingdays']);
  607. $templates->set_var ('lang_addfield', $addfield_name);
  608. // 追加項目のヘッダ
  609. $addition_def=DATABOX_getadditiondef($pi_name);
  610. //
  611. $templates->set_var('lang_imgfile_frd', $LANG_confignames['databox']['imgfile_frd']);
  612. $templates->set_var ('imgfile_frd', $_DATABOX_CONF['imgfile_frd']);
  613. $templates->set_var ('data_img_url', $_CONF['site_url']."/".$_DATABOX_CONF['imgfile_frd']);
  614. $templates->set_var('lang_imgfile_thumb_frd', $LANG_confignames['databox']['imgfile_thumb_frd']);
  615. $templates->set_var ('imgfile_thumb_frd', $_DATABOX_CONF['imgfile_thumb_frd']);
  616. $templates->set_var ('data_thumb_img_url', $_CONF['site_url']."/".$_DATABOX_CONF['imgfile_thumb_frd']);
  617. for ($i = 0; $i < $numrows; $i++) {
  618. $A = DB_fetchArray ($result);
  619. $A = array_map('stripslashes', $A);
  620. $title=$A['title'];
  621. $description=$A['description'];
  622. $code=COM_applyFilter($A['code']);
  623. $id=COM_applyFilter($A['id']);
  624. $datefield=COM_applyFilter($A['datefield']);
  625. $released=COM_applyFilter($A['released']);
  626. $expired=COM_applyFilter($A['expired']);
  627. $fieldset_id=COM_applyFilter($A['fieldset_id']);
  628. $datefield_ary = COM_getUserDateTimeFormat($A['datefield_un']);
  629. $released_ary = COM_getUserDateTimeFormat($A['released_un']);
  630. if ($expired==="0000-00-00 00:00:00"){
  631. $expired_ary=array();
  632. }else{
  633. $expired_ary = COM_getUserDateTimeFormat($A['expired_un']);
  634. }
  635. $curdate_ary = COM_getUserDateTimeFormat();
  636. $value=COM_applyFilter($A['value']);
  637. $group_id = $A['group_id'];
  638. $owner_id = $A['owner_id'];
  639. $rt= databox_detail_link($id,$code,$title);
  640. $templates->set_var ('data_link', $rt['link']);
  641. $templates->set_var ('data_title', $title);
  642. $templates->set_var ('data_code', $code);
  643. $templates->set_var ('data_description', $description);
  644. $templates->set_var ('data_id', $id);
  645. $templates->set_var ('data_url', $rt['url']);
  646. $templates->set_var ('data_datefield', $datefield_ary[0]);
  647. $templates->set_var ('data_value', $value);
  648. $templates->set_var ('data_datefield_shortdate', strftime( $_CONF['shortdate'], $A['datefield_un'] ));
  649. $templates->set_var ('data_datefield_date', strftime( $_CONF['date'], $A['datefield_un'] ));
  650. $templates->set_var ('data_datefield_daytime', strftime( $_CONF['daytime'], $A['datefield_un'] ));
  651. $templates->set_var ('data_datefield_dateonly', strftime( $_CONF['dateonly'], $A['datefield_un'] ));
  652. $templates->set_var ('data_datefield_timeonly', strftime( $_CONF['timeonly'], $A['datefield_un'] ));
  653. $templates->set_var ('data_datefield_b', strftime( "%b" , $A['datefield_un']));
  654. $templates->set_var ('data_datefield_B', strftime( "%B" , $A['datefield_un']));
  655. $templates->set_var ('data_datefield_d', strftime( "%d" , $A['datefield_un']));
  656. $templates->set_var ('data_datefield_e', strftime( "%e" , $A['datefield_un']));
  657. $templates->set_var ('data_released', $released_ary[0]);
  658. $templates->set_var ('data_released_shortdate', strftime( $_CONF['shortdate'], $A['released_un'] ));
  659. $templates->set_var ('data_released_date', strftime( $_CONF['date'], $A['released_un'] ));
  660. $templates->set_var ('data_released_daytime', strftime( $_CONF['daytime'], $A['released_un'] ));
  661. $templates->set_var ('data_released_dateonly', strftime( $_CONF['dateonly'], $A['released_un'] ));
  662. $templates->set_var ('data_released_timeonly', strftime( $_CONF['timeonly'], $A['released_un'] ));
  663. $templates->set_var ('data_released_b', strftime( "%b" , $A['released_un']));
  664. $templates->set_var ('data_released_B', strftime( "%B" , $A['released_un']));
  665. $templates->set_var ('data_released_d', strftime( "%d" , $A['released_un']));
  666. $templates->set_var ('data_released_e', strftime( "%e" , $A['released_un']));
  667. //公開終了日 Expired to publish
  668. if ($A['expired'] ==="0000-00-00 00:00:00"){
  669. $templates->set_var ('data_expired', "");
  670. $templates->set_var ('data_expired_shortdate', "" );
  671. $templates->set_var ('data_expired_date', "" );
  672. $templates->set_var ('data_expired_daytime', "" );
  673. $templates->set_var ('data_expired_dateonly', "" );
  674. $templates->set_var ('data_expired_timeonly', "" );
  675. $templates->set_var ('data_expired_b', "" );
  676. $templates->set_var ('data_expired_B', "" );
  677. $templates->set_var ('data_expired_d', "" );
  678. $templates->set_var ('data_expired_e', "" );
  679. }else{
  680. $wary = COM_getUserDateTimeFormat($A['expired_un']);
  681. $templates->set_var ('data_expired', $expired_ary[0]);
  682. $templates->set_var ('data_expired_shortdate', strftime( $_CONF['shortdate'], $A['expired_un'] ));
  683. $templates->set_var ('data_expired_date', strftime( $_CONF['date'], $A['expired_un'] ));
  684. $templates->set_var ('data_expired_daytime', strftime( $_CONF['daytime'], $A['expired_un'] ));
  685. $templates->set_var ('data_expired_dateonly', strftime( $_CONF['dateonly'], $A['expired_un'] ));
  686. $templates->set_var ('data_expired_timeonly', strftime( $_CONF['timeonly'], $A['expired_un'] ));
  687. $templates->set_var ('data_expired_b', strftime( "%b" , $A['expired_un']));
  688. $templates->set_var ('data_expired_B', strftime( "%B" , $A['expired_un']));
  689. $templates->set_var ('data_expired_d', strftime( "%d" , $A['expired_un']));
  690. $templates->set_var ('data_expired_e', strftime( "%e" , $A['expired_un']));
  691. }
  692. $remaingdays="";
  693. if ($expired<>"0000-00-00 00:00:00") {
  694. if ($expired_ary[1]>=$curdate_ary[1]){
  695. $remaingdays=COM_dateDiff( "d", $expired_ary[1], $curdate_ary[1] ) + 1;
  696. }
  697. }
  698. $templates->set_var ('data_remaingdays', $remaingdays);//@@@@@@
  699. if (date("Ymd",strtotime($datefield)) >= date("Ymd",$chkday)){
  700. $templates->set_var ('new_img', $new_img);
  701. }else{
  702. $templates->set_var ('new_img', '');
  703. }
  704. $hits=COM_applyFilter(DB_getItem( $tbl6 ,"hits","id={$id}"),true);
  705. $templates->set_var('lang_hits', $LANG_DATABOX_ADMIN['hits']);
  706. $templates->set_var('data_hits', $hits);
  707. //カテゴリ@@@@@
  708. $templates->set_var('lang_category', $LANG_DATABOX_ADMIN['category']);
  709. DATABOX_getcategoriesDisp($A['id'],$templates,$chk_user,0,$pi_name);
  710. //追加項目
  711. $chk_user=DATABOX_chkuser($group_id,$owner_id,"databox.admin");
  712. $additionfields = DATABOX_getadditiondatas($id,$pi_name);
  713. DATABOX_getaddtionfieldsDisp($additionfields,$addition_def,$templates,$chk_user,$pi_name,$fieldset_id);
  714. //管理者の時「編集」
  715. if ( SEC_hasRights('databox.admin')) {
  716. $icon_url = $_CONF['layout_url'] . '/images/edit.' . $_IMAGE_TYPE;
  717. $attr = array('title' => $title." ".$LANG_DATABOX_ADMIN['edit']);
  718. $editiconhtml = COM_createImage($icon_url, $LANG_DATABOX_ADMIN['edit'], $attr);
  719. $attr = array('class' => 'editlink', 'title' => $title." ".$LANG_DATABOX_ADMIN['edit']);
  720. $url = $_CONF['site_admin_url'];
  721. $url .= '/plugins/databox/data.php';
  722. $url .= '?mode=edit';
  723. $url .= '&amp;'."id={$id}";
  724. $icon = '&nbsp;' ;
  725. $icon .= COM_createLink( $editiconhtml, $url, $attr );
  726. $templates->set_var ('data_edit', $icon);
  727. }else{
  728. $rt=databox_chk_loaddata($id);
  729. //編集権限のあるMyData
  730. if ( $rt==="OK") {
  731. $icon_url = $_CONF['layout_url'] . '/images/edit.' . $_IMAGE_TYPE;
  732. $attr = array('title' => $LANG_DATABOX_ADMIN['edit']);
  733. $editiconhtml = COM_createImage($icon_url, $LANG_DATABOX_ADMIN['edit'], $attr);
  734. $attr = array('class' => 'editlink', 'title' => $title." ".$LANG_DATABOX_ADMIN['edit']);
  735. $url = $_CONF['site_url'];
  736. $url .= '/databox/mydata/data.php';
  737. $url .= '?mode=edit';
  738. $url .= '&amp;'."id={$id}";
  739. $icon = '&nbsp;' ;
  740. $icon .= COM_createLink( $editiconhtml, $url, $attr );
  741. $templates->set_var ('data_edit', $icon);
  742. }else{
  743. $templates->set_var ('data_edit', "");
  744. }
  745. }
  746. //=====
  747. $templates->parse ('col_var', 'col', true);
  748. $templates->parse ('row_var', 'row', true);
  749. $templates->set_var ('col_var', '');
  750. }
  751. // Call to plugins to set template variables in the databox
  752. PLG_templateSetVars( 'databox', $templates );
  753. //------------
  754. //-----navigation
  755. $url = $_CONF['site_url'] . '/';
  756. if ($autotag==="notautotag"){
  757. $url.=THIS_SCRIPT;
  758. }else{
  759. $url.="databox/category.php";
  760. }
  761. $url.="?";
  762. if ($category_code<>""){
  763. $url.="code=".$category_code;
  764. $url.="&amp;m=code";
  765. }else{
  766. $url .= "id=".$category_id;
  767. $url .= "&amp;m=id";
  768. }
  769. $url .= "&amp;template=".$template;
  770. $url .= "&amp;order=";
  771. //-----order navigation
  772. databox_order ($url, $templates, $order) ;
  773. //-----page navigation
  774. $url .= $order;
  775. $templates->set_var ('page_navigation',
  776. COM_printPageNavigation ($url, $page, $pages));
  777. if ($order==="random"){
  778. $templates->set_var ( 'pagenavinone', 'style="display:none;"' );
  779. }else{
  780. $templates->set_var ( 'pagenavinone', '' );
  781. }
  782. //------------
  783. $templates->parse ('nav_var', 'nav', true);
  784. $templates->set_var ('msg', "");
  785. $templates->parse ('output', 'list');
  786. $content = $templates->finish ($templates->get_var ('output'));
  787. $retval .=$content;
  788. }else{
  789. if ($nohitmsg==="yes"){
  790. $tmplfld=DATABOX_templatePath('category',$template,$pi_name);
  791. $templates = new Template($tmplfld);
  792. $templates->set_file (array (
  793. 'list' => 'nohit.thtml',
  794. ));
  795. $templates->set_var ('home',$LANG_DATABOX['home']);
  796. $url=$_CONF['site_url']."/databox/category.php";
  797. $category_top="<a href='".$url."'>".$LANG_DATABOX['category_top']."</a>";
  798. $templates->set_var ('category_top',$category_top);
  799. $templates->set_var ('category_name',$category_name);
  800. $templates->set_var ('category_code',$category_code);
  801. $templates->set_var ('category_description',$category_description);
  802. $templates->set_var('xhtml', XHTML);
  803. $templates->set_var('site_url', $_CONF['site_url']);
  804. $templates->set_var('site_admin_url', $_CONF['site_admin_url']);
  805. $templates->set_var('layout_url', $_CONF['layout_url']);
  806. $templates->set_var ('lang_nohit', $LANG_DATABOX['nohit']);
  807. $templates->parse ('output', 'list');
  808. $content = $templates->finish ($templates->get_var ('output'));
  809. $retval .=$content;
  810. }
  811. }
  812. $retval =PLG_replacetags ($retval);
  813. return $retval;
  814. }
  815. function databox_count(
  816. $category_id =null
  817. ,$category_code =null
  818. ,$mode=''
  819. ,$permission=''
  820. ,$numberformat=''
  821. )
  822. // +---------------------------------------------------------------------------+
  823. // | 機能 件数表示 |
  824. // +---------------------------------------------------------------------------+
  825. // | 書式 databox_count()
  826. // | 書式 databox_count(1)
  827. // | 書式 databox_count("japan")
  828. // +---------------------------------------------------------------------------+
  829. // | 引数 $category_id:カテゴリid (優先)
  830. // | 引数 $category_code:カテゴリコード
  831. // | 引数 $mode :ブランク または AND
  832. // | 引数 $permission :ブランク または ignore
  833. // | 引数 $numberformat :ブランク または yes
  834. // +---------------------------------------------------------------------------+
  835. // | 戻値 nomal:データ総数、カテゴリ別データ件数
  836. // +---------------------------------------------------------------------------+
  837. {
  838. global $_TABLES;
  839. //-----
  840. $tbl1=$_TABLES['DATABOX_base'] ;
  841. $tbl2=$_TABLES['DATABOX_category'] ;
  842. //カテゴリの指定がなければ全件、あればカテゴリ毎
  843. $exp="";
  844. if (is_null($category_id) AND is_null($category_code) ){
  845. }else{
  846. $ids="";
  847. $idsary=array();
  848. if (is_null($category_id) OR $category_id==0){
  849. if (is_null($category_code)){
  850. }else{
  851. $w=explode("|",$category_code);
  852. foreach( $w as $val ){
  853. if ($ids<>""){
  854. $ids.=",";
  855. }
  856. $w_id=DATABOX_codetoid($val,'DATABOX_def_category',"category_id");
  857. $idsary[]=$w_id;
  858. $ids.=$w_id;
  859. }
  860. }
  861. }else{
  862. $ids=$category_id;
  863. $idsary[]=$category_id;
  864. }
  865. if (strtoupper($mode)=="AND"){
  866. $w="";
  867. foreach( $idsary as $val ){
  868. if ($w<>""){
  869. $w.=" AND ";
  870. }
  871. $w.=$val." IN (SELECT category_id";
  872. $w.=" FROM {$tbl2} AS t2 ";
  873. $w.=" WHERE t2.id = t1.id)";
  874. }
  875. }else{
  876. $w= "id IN (SELECT id FROM {$tbl2} ";
  877. $w.="WHERE category_id IN ({$ids})) ";
  878. }
  879. $exp=$w.LB;
  880. }
  881. //-----
  882. $sql = "SELECT ".LB;
  883. $sql .= " distinct t1.id ".LB;
  884. $sql .= " FROM ".LB;
  885. $sql .= " {$tbl1} AS t1 ".LB;
  886. $sql .= " WHERE ".LB;
  887. if ($exp<>""){
  888. $sql .= $exp. " AND ";
  889. }
  890. //@@@@@@@@@--------->
  891. //下書はのぞく
  892. $sql .= " t1.draft_flag=0".LB;
  893. //アクセス権のないデータ はのぞく
  894. if (strtoupper($permission)=="IGNORE"){
  895. }else{
  896. $sql .= COM_getPermSql('AND').LB;
  897. }
  898. //公開日以前のデータはのぞく
  899. $sql .= " AND (released <= NOW())".LB;
  900. //公開終了日を過ぎたデータはのぞく
  901. $sql .= " AND (expired=0 OR expired > NOW())".LB;
  902. //@@@@@@@@@<---------
  903. $result = DB_query ($sql);
  904. $cnt = DB_numRows ($result);
  905. if (strtoupper($numberformat)=="YES"){
  906. $rt=COM_NumberFormat($cnt);
  907. }else{
  908. $rt=$cnt;
  909. }
  910. return $rt;
  911. }
  912. function databox_field(
  913. $autotag
  914. ,$field_id=null
  915. ,$value=""
  916. ,$template=null
  917. ,$nohitmsg=""
  918. ,$perpage =0
  919. ,$page=null
  920. ,$order=null
  921. ,$field_code=null
  922. )
  923. // +---------------------------------------------------------------------------+
  924. // | 機能 アトリビュート別一覧表示
  925. // | 書式
  926. // +---------------------------------------------------------------------------+
  927. // | 引数 $autotag:notautotagの時ヘッダを表示しない
  928. // | 引数 $field_id:追加属性id
  929. // | 引数 $value:表示する項目の値
  930. // | 引数 $template:使用するテンプレートのフォルダ名
  931. // | 引数 $nohitmsg :"yes"の時nohitメッセージ表示
  932. // | 引数 $perpage :1pageあたりの件数、0の時改ページなし
  933. // | 引数 $page :
  934. // | 引数 $order :順序
  935. // | 引数 $field_code :
  936. // +---------------------------------------------------------------------------+
  937. // | public_html/attribute.php および 自動タグで使用
  938. // | ヘッダはコンフィギュレーション設定により表示されない場合があります
  939. // | idもcodeも指定されない場合は、全カテゴリ
  940. // +---------------------------------------------------------------------------+
  941. // | 戻値 nomal:attribute list
  942. // +---------------------------------------------------------------------------+
  943. {
  944. $pi_name="databox";
  945. global $_CONF;
  946. global $_TABLES;
  947. global $_DATABOX_CONF;
  948. global $LANG_DATABOX;
  949. global $LANG_DATABOX_ADMIN;
  950. global $LANG_DATABOX_NOYES;
  951. global $_IMAGE_TYPE;
  952. global $LANG_confignames;
  953. global $_PLUGINS;
  954. global $_MAPS_CONF;
  955. //ログイン要否チェック
  956. if (COM_isAnonUser()){
  957. if ($_CONF['loginrequired']
  958. OR ($_DATABOX_CONF['loginrequired'] >1) ){
  959. return $LANG_DATABOX['loginrequired'];
  960. }
  961. }
  962. //-----table assign
  963. $tbl1=$_TABLES['DATABOX_addition'] ;
  964. $tbl2=$_TABLES['DATABOX_base'] ;
  965. $tbl3=$_TABLES['DATABOX_addition'] ;
  966. $tbl5=$_TABLES['DATABOX_stats'];
  967. //日付関連
  968. $datefield=$_DATABOX_CONF['datefield'];//使用する日付(編集日付、作成日付、公開日)
  969. $new_img=$_DATABOX_CONF['new_img'];
  970. if ($new_img==""){
  971. $new_img="New!";
  972. }
  973. $newmarkday=$_DATABOX_CONF['newmarkday'];
  974. if ($newmarkday==""){
  975. $newmarkday=3;
  976. }
  977. $chkday=strtotime("- $newmarkday days",time());
  978. //-----引数チェック
  979. if (is_null($value) OR $value==="") {
  980. return;
  981. }
  982. if (is_null($field_id)){
  983. if ($field_code===""){
  984. $field_id=0;
  985. }else{
  986. $field_id=DATABOX_codetoid($field_code,'DATABOX_def_field',"field_id","templatesetvar");
  987. }
  988. }
  989. if ($field_id===0) {
  990. return;
  991. }
  992. if ($field_code===""){
  993. $field_code=DB_getItem( $_TABLES['DATABOX_def_field']
  994. ,"templatesetvar","field_id={$field_id}");
  995. }
  996. $field_def=DATABOX_getadditiondef($pi_name);
  997. $type=$field_def[$field_id]['type'];
  998. $w = array(0,2,3,4,7,8,9,16);
  999. if (in_array ($type,$w)){
  1000. }else{
  1001. return;
  1002. }
  1003. $allow_display=$field_def[$field_id]['allow_display'];
  1004. if ($allow_display<2){
  1005. }else{
  1006. return;
  1007. }
  1008. //
  1009. if (is_null($page) OR !isset($page) OR $page == 0) {
  1010. $page = 1;
  1011. }
  1012. if ($perpage===0 OR is_null($perpage)){
  1013. $perpage=$_DATABOX_CONF['perpage'];
  1014. }
  1015. $w=databox_orderby($datefield,$order,$orderby,$addfieldorder,$orderfield_id);
  1016. $field_def[$field_id]['name'];
  1017. $field_name=$field_def[$field_id]['name'];
  1018. $field_templatesetvar=$field_def[$field_id]['templatesetvar'];
  1019. $field_description=$field_def[$field_id]['description'];
  1020. $fieldvalue=DATABOX_getfieldvalue(
  1021. $value
  1022. ,$field_def[$field_id]['type']
  1023. ,$field_def[$field_id]['selectionary']
  1024. ,$LANG_DATABOX_NOYES
  1025. ,$field_def[$field_id]['selectlist']
  1026. ,$pi_name
  1027. );
  1028. if (is_null($template) or ($template==="")){
  1029. $template="default";
  1030. }
  1031. $sql = "SELECT DISTINCT";
  1032. $sql .= " t2.id ".LB;
  1033. $sql .= " ,t2.title ".LB;
  1034. $sql .= " ,t2.code ".LB;
  1035. $sql .= " ,t2.description ".LB;
  1036. $sql .= " ,t2.".$datefield." AS datefield ".LB;
  1037. $sql .= " ,t2.expired ".LB;
  1038. $sql .= " ,UNIX_TIMESTAMP(t2.".$datefield.") AS datefield_un ".LB;
  1039. $sql .= " ,UNIX_TIMESTAMP(t2.released ) AS released_un ".LB;
  1040. $sql .= " ,UNIX_TIMESTAMP(t2.expired ) AS expired_un ".LB;
  1041. $sql .= " ,t2.group_id";
  1042. $sql .= " ,t2.owner_id";
  1043. $sql .= " ,t2.fieldset_id ".LB;
  1044. if ($addfieldorder){
  1045. $sql .= " ,t3.value ".LB;
  1046. }
  1047. $sql .= " FROM ".LB;
  1048. $sql .= " {$tbl2} AS t2 ".LB;
  1049. $sql .= " ,{$tbl1} AS t1 ".LB;
  1050. if ($addfieldorder){
  1051. $sql .= " ,{$tbl3} AS t3 ".LB;
  1052. }
  1053. $sql .= " WHERE ".LB;
  1054. $sql .= " t1.field_id = ".$field_id.LB;
  1055. $sql .= " AND t1.id = t2.id ".LB;
  1056. $sql .= " AND t1.value = \"".$value."\"".LB;
  1057. if ($addfieldorder){
  1058. $sql .= " AND t3.field_id=".$orderfield_id.LB;
  1059. $sql .= " AND t3.id=t2.id".LB;
  1060. }
  1061. //管理者の時,下書データも含む
  1062. //if ( SEC_hasRights('databox.admin')) {
  1063. //}else{
  1064. $sql .= " AND t2.draft_flag=0".LB;
  1065. //}
  1066. //アクセス権のないデータ はのぞく
  1067. $sql .= COM_getPermSql('AND',0,2,"t2");
  1068. //公開日以前のデータはのぞく
  1069. $sql .= " AND (released <= NOW())".LB;
  1070. //公開終了日を過ぎたデータはのぞく
  1071. $sql .= " AND (expired=0 OR expired > NOW())";
  1072. $sql .= " ORDER BY ".LB;
  1073. $sql .= $orderby.LB;
  1074. $result = DB_query ($sql);
  1075. $cnt = DB_numRows ($result);
  1076. $pages = 0;
  1077. if ($perpage > 0) {
  1078. $pages = ceil($cnt / $perpage);
  1079. }
  1080. $offset = ($page - 1) * $perpage;
  1081. $sql .= " LIMIT $offset, $perpage";
  1082. //自動タグでない時 ヘッダ、左ブロック
  1083. if ($autotag==="notautotag"){
  1084. if ($page > 1) {
  1085. $page_title = sprintf ('%s (%d)', $field_name, $page);
  1086. } else {
  1087. $page_title = sprintf ('%s ', $field_name);
  1088. }
  1089. $headercode=DATABOX_getheadercode(
  1090. "attribute"
  1091. ,$template
  1092. ,$pi_name
  1093. ,$field_id
  1094. ,$field_name
  1095. ,$field_description
  1096. ,$field_name
  1097. ,$field_description);
  1098. $retval .= DATABOX_siteHeader($pi_name,'',$page_title,$headercode);
  1099. }
  1100. //
  1101. $addition_def=DATABOX_getadditiondef($pi_name);
  1102. //
  1103. $url=$_CONF['site_url']."/databox/attribute.php";
  1104. $attribute_top="<a href='".$url."'>".$LANG_DATABOX['attribute_top']."</a>";
  1105. $url=$_CONF['site_url']."/databox/attribute.php?";
  1106. $url.="m=id&amp;id=".$field_id;
  1107. $field_top="<a href='".$url."'>".$field_name.$LANG_DATABOX['countlist']."</a>";
  1108. $result = DB_query ($sql);
  1109. $numrows = DB_numRows ($result);
  1110. if ($numrows > 0) {
  1111. $tmplfld=DATABOX_templatePath('attribute',$template,$pi_name);
  1112. $templates = new Template($tmplfld);
  1113. $templates->set_file (array (
  1114. 'list' => 'list_detail.thtml',
  1115. 'nav' => 'navigation_detail.thtml',
  1116. 'row' => 'row.thtml',
  1117. 'col' => "col_detail.thtml",
  1118. ));
  1119. $languageid=COM_getLanguageId();
  1120. $language= COM_getLanguage();
  1121. $templates->set_var ('languageid', $languageid);
  1122. $templates->set_var ('language', $language);
  1123. if ($languageid<>"") {
  1124. $templates->set_var ('_languageid', "_".$languageid);
  1125. }else{
  1126. $templates->set_var ('_languageid', "");
  1127. }
  1128. //
  1129. $templates->set_var ('site_url',$_CONF['site_url']);
  1130. $templates->set_var ('this_script',THIS_SCRIPT);
  1131. //bread
  1132. $templates->set_var ('home',$LANG_DATABOX['home']);
  1133. $templates->set_var ('attribute_top',$attribute_top);
  1134. $templates->set_var ('field_top',$field_top);
  1135. $templates->set_var ('field_name',$field_name);
  1136. $templates->set_var ('field_templatesetvar',$field_templatesetvar);
  1137. $templates->set_var ('field_description',$field_description);
  1138. $templates->set_var ('fieldvalue',$fieldvalue);
  1139. $templates->set_var ('addition_name',$additon_name);
  1140. $templates->set_var ('addition_code',$additon_code);
  1141. //page
  1142. $templates->set_var ('cnt', $cnt);
  1143. $lin1=$offset+1;
  1144. $lin2=$lin1+$perpage - 1;
  1145. if ($lin2>$cnt){
  1146. $lin2=$cnt;
  1147. }
  1148. //summary navigation
  1149. $templates->set_var ('lang_view', $LANG_DATABOX['view']);
  1150. $templates->set_var ('lin', $lin1."-".($lin2));
  1151. $templates->set_var ('cnt', $cnt);
  1152. $templates->set_var ('lang_code', $LANG_DATABOX_ADMIN['code']);
  1153. $templates->set_var ('lang_id', $LANG_DATABOX_ADMIN['id']);
  1154. //
  1155. $templates->set_var ('lang_date', $LANG_DATABOX_ADMIN[$datefield]);
  1156. $templates->set_var ('lang_title', $LANG_DATABOX_ADMIN['title']);
  1157. $templates->set_var ('lang_description', $LANG_DATABOX_ADMIN['description']);
  1158. $templates->set_var ('lang_released', $LANG_DATABOX_ADMIN['released']);
  1159. $templates->set_var ('lang_expired', $LANG_DATABOX_ADMIN['expired']);
  1160. $templates->set_var ('lang_remaingdays', $LANG_DATABOX_ADMIN['remaingdays']);
  1161. $templates->set_var ('lang_addfield', $addfield_name);
  1162. //$_DATABOX_CONF
  1163. $templates->set_var('lang_imgfile_frd', $LANG_confignames['databox']['imgfile_frd']);
  1164. $templates->set_var ('imgfile_frd', $_DATABOX_CONF['imgfile_frd']);
  1165. $templates->set_var ('data_img_url', $_CONF['site_url']."/".$_DATABOX_CONF['imgfile_frd']);
  1166. $templates->set_var('lang_imgfile_thumb_frd', $LANG_confignames['databox']['imgfile_thumb_frd']);
  1167. $templates->set_var ('imgfile_thumb_frd', $_DATABOX_CONF['imgfile_thumb_frd']);
  1168. $templates->set_var ('data_thumb_img_url', $_CONF['site_url']."/".$_DATABOX_CONF['imgfile_thumb_frd']);
  1169. $mkids="";
  1170. for ($i = 0; $i < $numrows; $i++) {
  1171. $A = DB_fetchArray ($result);
  1172. $A = array_map('stripslashes', $A);
  1173. $title=COM_applyFilter($A['title']);
  1174. $description=COM_applyFilter($A['description']);
  1175. $code=COM_applyFilter($A['code']);
  1176. $id=COM_applyFilter($A['id']);
  1177. $datefield=COM_applyFilter($A['datefield']);
  1178. $released=COM_applyFilter($A['released']);
  1179. $expired=COM_applyFilter($A['expired']);
  1180. $datefield_ary = COM_getUserDateTimeFormat($A['datefield_un']);
  1181. $released_ary = COM_getUserDateTimeFormat($A['released_un']);
  1182. if ($expired==="0000-00-00 00:00:00"){
  1183. $expired_ary=array();
  1184. }else{
  1185. $expired_ary = COM_getUserDateTimeFormat($A['expired_un']);
  1186. }
  1187. $curdate_ary = COM_getUserDateTimeFormat();
  1188. $sortvalue=COM_applyFilter($A['value']);
  1189. $group_id = $A['group_id'];
  1190. $owner_id

Large files files are truncated, but you can click here to view the full file