PageRenderTime 99ms CodeModel.GetById 32ms RepoModel.GetById 1ms app.codeStats 1ms

/databox/lib/databox_functions.inc

https://bitbucket.org/tsuchi/box
PHP | 6042 lines | 4490 code | 704 blank | 848 comment | 503 complexity | d1c88d862136135df058d0f9d1a966d4 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. // | Box シリーズ共通
  6. // +---------------------------------------------------------------------------+
  7. // $Id: plugins/databox/lib/databox_functions.inc
  8. //20100818 tsuchitani AT ivywe DOT co DOT jp http://www.ivywe.co.jp/
  9. if (strpos ($_SERVER['PHP_SELF'], 'databox_functions.inc') !== false) {
  10. die ('This file can not be used on its own.');
  11. }
  12. //==============================================================================
  13. function DATABOX_nl2br (
  14. $text
  15. )
  16. // +---------------------------------------------------------------------------+
  17. // | 機能 改行をBRに変換
  18. // | 書式 DATABOX_nl2br ($text)
  19. // +---------------------------------------------------------------------------+
  20. // | 引数 $text:文字列
  21. // +---------------------------------------------------------------------------+
  22. // | 戻値 nomal:改行をBRに変換後の文字列
  23. // +---------------------------------------------------------------------------+
  24. // copy20100803 from "hiroron - 改行をBRに変換"
  25. {
  26. return PLG_replacetags ( str_replace(array("\r\n","\r","\n"), '<br'.XHTML.'>', $text) );
  27. }
  28. function DATABOX_autolink (
  29. $text
  30. )
  31. // +---------------------------------------------------------------------------+
  32. // | 機能 urlをリンク変換
  33. // | 書式 DATABOX_autolink($text)
  34. // +---------------------------------------------------------------------------+
  35. // | 引数 $text :文字列 |
  36. // +---------------------------------------------------------------------------+
  37. // | 戻値 nomal:urlをリンク変換後の文字列 |
  38. // +---------------------------------------------------------------------------+
  39. // copy20100803 from "hiroron - 自動リンクを
  40. {
  41. $patterns = array("/(https?|ftp)(:\/\/[[:alnum:]\+\$\;\?\.%,!#~*\/:@&=_-]+)/i");
  42. $replacements = array("<a href=\"\\1\\2\" target=\"_blank\">\\1\\2</a>");
  43. return preg_replace($patterns, $replacements, $text);
  44. }
  45. function DATABOX_codetoid(
  46. $code
  47. ,$table
  48. ,$idname = "id"
  49. ,$codename = "code"
  50. )
  51. // +---------------------------------------------------------------------------+
  52. // | 機能 コードをidに変換
  53. // | 書式 DATABOX_codetoid($code,'DATABOX_base')
  54. // | 書式 DATABOX_codetoid($code,'users',"uid","username")
  55. // +---------------------------------------------------------------------------+
  56. // | 引数 $code:コード
  57. // | 引数 $table
  58. // | 引数 $idname
  59. // | 引数 $codename
  60. // +---------------------------------------------------------------------------+
  61. // | 戻値 nomal:id
  62. // +---------------------------------------------------------------------------+
  63. //update20101125
  64. {
  65. global $_TABLES;
  66. $retval=DB_getItem( $_TABLES[$table] ,$idname,$codename."='{$code}'");
  67. if (empty($retval)){
  68. $retval=0;
  69. }
  70. return $retval;
  71. }
  72. function DATABOX_swichlang(
  73. $code
  74. )
  75. // +---------------------------------------------------------------------------+
  76. // | 機能 コード多言語対応変換
  77. // | 書式 DATABOX_swichlang($code)
  78. // | xxxx_(言語id) 多言語モードの時に必要があれば言語idを現在の言語idに変換
  79. // +---------------------------------------------------------------------------+
  80. // | 引数 $code:コード
  81. // +---------------------------------------------------------------------------+
  82. // | 戻値 nomal:変換後のコード
  83. // +---------------------------------------------------------------------------+
  84. {
  85. global $_CONF;
  86. $newlanguageid = COM_getLanguageId();
  87. if ($newlanguageid<>""){
  88. if ($code<>""){
  89. $lang_len = strlen($newlanguageid);
  90. $oldlanguageid=substr($code,-($lang_len));
  91. if (array_key_exists($oldlanguageid, $_CONF['language_files'])){
  92. $code = substr_replace($code, $newlanguageid, -$lang_len);
  93. }
  94. }
  95. }
  96. return $code;
  97. }
  98. function DATABOX_templatePath (
  99. $kind = 'data'
  100. ,$template ='default'
  101. ,$pi_name= 'databox'
  102. )
  103. // +---------------------------------------------------------------------------+
  104. // | 機能 テンプレートフォルダパスを取得
  105. // | 書式 DATABOX_templatePath('data','default','databox')
  106. // | 書式 DATABOX_templatePath($kind,$template,$pi_name)
  107. // +---------------------------------------------------------------------------+
  108. // | 引数 $kind:'data' 'category' ''newlist' 'admin'
  109. // | 引数 $template: 'default'
  110. // | 引数 $pi_name: 'databox' 'userbox' 'formbox'
  111. // +---------------------------------------------------------------------------+
  112. // | 戻値 :テンプレートフォルダパス
  113. // +---------------------------------------------------------------------------+
  114. // 20101115
  115. {
  116. global $_CONF;
  117. if (is_null($template) OR ($template==="")){
  118. $template="default";
  119. }
  120. $box_conf="_".strtoupper($pi_name)."_CONF";
  121. global $$box_conf;
  122. $box_conf=$$box_conf;
  123. if ($kind==="admin"){
  124. $conf_templates=$box_conf["templates_admin"];
  125. }else{
  126. $conf_templates=$box_conf["templates"];
  127. }
  128. //"standard";//標準テンプレートを使用する
  129. //"custom";//カスタムテンプレートを使用する
  130. //"theme";//テーマテンプレートを使用する
  131. if ($conf_templates==="theme"){
  132. $tmplfld=$_CONF['path_layout'] .$box_conf['themespath'].$kind;
  133. if ($kind<>"admin"){
  134. $tmplfld.="/".$template;
  135. }
  136. if (is_dir($tmplfld)) {
  137. }else{
  138. COM_handle404();
  139. exit;
  140. }
  141. }else if ($conf_templates==="custom"){
  142. $tmplfld=$_CONF['path'] .'plugins/'.$pi_name.'/custom/templates/'.$kind;
  143. if ($kind<>"admin"){
  144. $tmplfld.="/".$template;
  145. }
  146. if (is_dir($tmplfld)){
  147. }else{
  148. COM_handle404();
  149. exit;
  150. }
  151. }else{
  152. $tmplfld=$_CONF['path'] .'plugins/'.$pi_name.'/templates/'.$kind;
  153. if ($kind<>"admin"){
  154. $tmplfld.="/default";
  155. }
  156. }
  157. return $tmplfld;
  158. }
  159. function DATABOX_siteHeader (
  160. $pi_name= 'databox'
  161. ,$kind = ''
  162. ,$page_title = ''
  163. ,$headercode = ''
  164. )
  165. // +---------------------------------------------------------------------------+
  166. // | 機能 ヘッダを編集
  167. // | 書式 DATABOX_siteHeader($pi_name,'_admin',$page_title,$headercode)
  168. // | 書式 DATABOX_siteHeader($pi_name,'_admin',$page_title)
  169. // +---------------------------------------------------------------------------+
  170. // | 引数 $pi_name: 'databox' 'userbox' 'formbox'
  171. // | 引数 $kind:'' '_admin'
  172. // | 引数 $pagetitle:
  173. // | 引数 $headercode:
  174. // +---------------------------------------------------------------------------+
  175. // | 戻値 :ヘッダ
  176. // +---------------------------------------------------------------------------+
  177. // 20120910
  178. {
  179. global $_CONF;
  180. $box_conf="_".strtoupper($pi_name)."_CONF";
  181. global $$box_conf;
  182. $box_conf=$$box_conf;
  183. $display="";
  184. if ($kind=="_admin" OR $kind==""){
  185. $layout=$box_conf['layout'.$kind];
  186. }else{
  187. $layout=$kind;
  188. }
  189. switch ($layout) {
  190. // ヘッダ・フッタ・左ブロックあり(右ブロックはテーマ設定による)
  191. case 'standard':
  192. //ヘッダ・フッタ・左右ブロックあり
  193. case 'leftrightblocks':
  194. //ヘッダ・フッタ・左ブロックあり(右ブロックなし)
  195. case 'leftblocks':
  196. $display=COM_siteHeader ('menu', $page_title,$headercode);
  197. break;
  198. //ヘッダ・フッタ・右ブロックあり(左ブロックなし)
  199. case 'rightblocks':
  200. //ヘッダ・フッタあり(ブロックなし)
  201. case 'noblocks':
  202. $display=COM_siteHeader ('none', $page_title,$headercode);
  203. break;
  204. //全画面表示(ヘッダ・フッタ・ブロックなし)
  205. case 'blankpage':
  206. break;
  207. default:
  208. }
  209. return $display;
  210. }
  211. function DATABOX_siteFooter (
  212. $pi_name= 'databox'
  213. ,$kind = ''
  214. ,$custom=''
  215. )
  216. // +---------------------------------------------------------------------------+
  217. // | 機能 フッタを編集
  218. // | 書式 DATABOX_siteFooter($pi_name,'_admin',$custom)
  219. // | 書式 DATABOX_siteFooter($pi_name)
  220. // +---------------------------------------------------------------------------+
  221. // | 引数 $pi_name: 'databox' 'userbox' 'formbox'
  222. // | 引数 $kind:'' '_admin'
  223. // | 引数 $custom:
  224. // +---------------------------------------------------------------------------+
  225. // | 戻値 : フッタ
  226. // +---------------------------------------------------------------------------+
  227. // 20110119
  228. {
  229. global $_CONF;
  230. if (is_null($pi_name)){
  231. $pi_name="databox";
  232. }
  233. $box_conf="_".strtoupper($pi_name)."_CONF";
  234. global $$box_conf;
  235. $box_conf=$$box_conf;
  236. $display="";
  237. $layout=$box_conf['layout'.$kind];
  238. switch ($layout) {
  239. // ヘッダ・フッタ・左ブロックあり(右ブロックはテーマ設定による)
  240. case 'standard':
  241. $display .= COM_siteFooter(false,$custom);
  242. break;
  243. //ヘッダ・フッタ・左右ブロックあり
  244. case 'leftrightblocks':
  245. //ヘッダ・フッタ・右ブロックあり(左ブロックなし)
  246. case 'rightblocks':
  247. $display .= COM_siteFooter(true,$custom);
  248. break;
  249. //ヘッダ・フッタ・左ブロックあり(右ブロックなし)
  250. case 'leftblocks':
  251. //ヘッダ・フッタあり(ブロックなし)
  252. // 右ブロックを常時表示する設定であっても右ブロックを表示させない
  253. case 'noblocks':
  254. $_CONF['show_right_blocks']=0;
  255. $_CONF['left_blocks_in_footer']=0;
  256. $display .= COM_siteFooter(false,$custom);
  257. break;
  258. //全画面表示(ヘッダ・フッタ・ブロックなし)
  259. case 'blankpage':
  260. break;
  261. default:
  262. }
  263. return $display;
  264. }
  265. //$retval = SP_returnStaticpage($page, $display_mode, $comment_order, $comment_mode, $comment_page, $msg, $query);
  266. function DATABOX_displaypage (
  267. $pi_name= 'databox'
  268. ,$kind = ''
  269. ,$display = ''
  270. ,$information = ''
  271. )
  272. //$information
  273. // 'what' 'none' no left blocks are returned
  274. // 'menu' (default) right blocks are returned
  275. // 'pagetitle' Optional content for the page's <title>
  276. // 'breadcrumbs' Optional content for the page's <title>
  277. // 'headercode' Optional code to go into the page's <head>
  278. // 'rightblock' 右ブロックを表示するかどうか  default is no (-1)
  279. // 'custom' An array defining custom function to be used to
  280. {
  281. global $_CONF;
  282. $box_conf="_".strtoupper($pi_name)."_CONF";
  283. global $$box_conf;
  284. $box_conf=$$box_conf;
  285. if ($kind=="_admin" OR $kind==""){
  286. $layout=$box_conf['layout'.$kind];
  287. }else{
  288. $layout=$kind;
  289. }
  290. //全画面表示(ヘッダ・フッタ・ブロックなし)
  291. if ($layout=='blankpage'){
  292. }else{
  293. switch ($layout) {
  294. // ヘッダ・フッタ・左ブロックあり(右ブロックはテーマ設定による)
  295. case 'standard':
  296. //$display=COM_siteHeader ('menu', $page_title,$headercode);
  297. //$display .= COM_siteFooter(false,$custom);
  298. $information['what']='menu';
  299. $information['rightblock']=false;
  300. break;
  301. //ヘッダ・フッタ・左右ブロックあり
  302. case 'leftrightblocks':
  303. //$display=COM_siteHeader ('menu', $page_title,$headercode);
  304. //$display .= COM_siteFooter(true,$custom);
  305. $information['what']='menu';
  306. $information['rightblock']=true;
  307. break;
  308. //ヘッダ・フッタ・左ブロックあり(右ブロックなし)
  309. case 'leftblocks':
  310. //$display=COM_siteHeader ('menu', $page_title,$headercode);
  311. $information['what']='menu';
  312. $_CONF['show_right_blocks']=0;
  313. $_CONF['left_blocks_in_footer']=0;
  314. //$display .= COM_siteFooter(false,$custom);
  315. $information['rightblock']=false;
  316. break;
  317. //ヘッダ・フッタ・右ブロックあり(左ブロックなし)
  318. case 'rightblocks':
  319. //$display=COM_siteHeader ('none', $page_title,$headercode);
  320. $information['what']='none';
  321. //$display .= COM_siteFooter(true,$custom);
  322. $information['rightblock']=true;
  323. break;
  324. //ヘッダ・フッタあり(ブロックなし)
  325. case 'noblocks':
  326. //$display=COM_siteHeader ('none', $page_title,$headercode);
  327. $information['what']='none';
  328. $_CONF['show_right_blocks']=0;
  329. $_CONF['left_blocks_in_footer']=0;
  330. //$display .= COM_siteFooter(false,$custom);
  331. $information['rightblock']=false;
  332. break;
  333. }
  334. //FOR GL2.0.0
  335. if (COM_versionCompare(VERSION, "2.0.0", '>=')){
  336. $display = COM_createHTMLDocument($display,$information);
  337. }else{
  338. $display = COM_siteHeader ($information['what'], $information['pagetitle']).$display;
  339. $display .= COM_siteFooter($information['rightblock']);
  340. }
  341. }
  342. return $display;
  343. }
  344. function DATABOX_getcheckList(
  345. $kind
  346. ,$selected
  347. ,$pi_name
  348. ,$group_id=""
  349. ,$fname=""
  350. )
  351. // +---------------------------------------------------------------------------+
  352. // | 機能 チェックリスト作成
  353. // | 書式 DATABOX_getcheckList($kind,$selected = "")
  354. // | 書式 $checklist=DATABOX_getcheckList ("fieldset","",$pi_name)
  355. // | 書式 $checklist=DATABOX_getcheckList ("categorygroup","",$pi_name,1,"ch1")
  356. // +---------------------------------------------------------------------------+
  357. // | 引数 $kind:fieldset
  358. // | 引数 $selected:選択値
  359. // | 引数 $pi_name:plugin name 'databox' 'userbox' 'formbox'
  360. // | 引数 $group_id マスターの時既定リスト名
  361. // | 引数 $fname フィールド名
  362. // +---------------------------------------------------------------------------+
  363. // | 戻値 nomal:チェックリスト
  364. // +---------------------------------------------------------------------------+
  365. //20101116
  366. // カテゴリ以外で使っているか確認のこと --> category は DATABOX_getcategoriesinp
  367. //20140624 fieldset 追加
  368. {
  369. global $_TABLES;
  370. if ($fname==""){
  371. $fname=$kind;
  372. }
  373. $table_def_category=$_TABLES[strtoupper($pi_name).'_def_category'];
  374. $table_def_group=$_TABLES[strtoupper($pi_name).'_def_group'];
  375. $table_mst=$_TABLES[strtoupper($pi_name).'_mst'];
  376. $table_def_fieldset=$_TABLES[strtoupper($pi_name).'_def_fieldset'];
  377. $retval = '';
  378. if ($kind=="categorygroup"){
  379. $sql = "SELECT ";
  380. $sql .= " m1.category_id".LB;
  381. $sql .= ",m1.name".LB;
  382. $sql .= ",m1.orderno".LB;
  383. $sql .= ",m2.group_id".LB;
  384. $sql .= ",m2.name AS group_name".LB;
  385. $sql .= " FROM {$table_def_category} AS m1".LB;
  386. $sql .= " , {$table_def_group} AS m2".LB;
  387. $sql .= " WHERE ".LB;
  388. $sql .= " m1.allow_display<2 ".LB;
  389. $sql .= " AND m1.categorygroup_id =".$group_id.LB;
  390. $sql .= " AND m2.group_id = m1.categorygroup_id".LB;
  391. $sql .= " ORDER BY m1.orderno".LB;
  392. }else if ($kind=="fieldset"){
  393. $sql = "SELECT ";
  394. $sql .= " fieldset_id".LB;
  395. $sql .= ",name".LB;
  396. $sql .= ",'1' AS group_id".LB;
  397. $sql .= " FROM {$table_def_fieldset} ".LB;
  398. $sql .= " ORDER BY fieldset_id".LB;
  399. }else{
  400. $sql = "SELECT ".LB;
  401. $sql .= " no".LB;
  402. $sql .= ",value".LB;
  403. $sql .= ",orderno".LB;
  404. $sql .= ",'1' AS group_id".LB;
  405. $sql .= " FROM {$table_mst}".LB;
  406. $sql .= " WHERE kind='{$kind}'".LB;
  407. $sql .= " ORDER BY orderno".LB;
  408. }
  409. $result = DB_query( $sql );
  410. $nrows = DB_numRows( $result );
  411. if (is_array($selected)){
  412. $S = $selected;
  413. }else{
  414. if( !empty( $selected )) {
  415. $S = explode( ' ', $selected );
  416. }else {
  417. $S = array();
  418. }
  419. }
  420. $old_group_id="";
  421. for( $i = 0; $i < $nrows; $i++ ) {
  422. $A = DB_fetchArray( $result, true );
  423. $retval .= '<span style="white-space:nowrap">';
  424. $retval .= '<input type="checkbox" name="' . $fname . '[]" value="' . $A[0] ;
  425. $retval .= '"';
  426. for( $x = 0; $x < sizeof( $S ); $x++ ) {
  427. if( $A[0] == $S[$x] ) {
  428. $retval .= ' checked="checked"';
  429. }
  430. }
  431. $retval .= '>' . stripslashes( $A[1] ) . '</span>' . LB;
  432. }
  433. return $retval;
  434. }
  435. function DATABOX_getdatas(
  436. $fld
  437. ,$tbl
  438. ,$where
  439. )
  440. // +---------------------------------------------------------------------------+
  441. // | 機能 複数データ読込 |
  442. // | 書式 DATABOX_getdatas($fld,$tbl,$where) |
  443. // | $rt=DATABOX_getdatas( |
  444. // | "category_id",$_TABLES['DATABOX_category'],"id=$id"); |
  445. // +---------------------------------------------------------------------------+
  446. // | 引数 $fld:項目
  447. // | 引数 $tbl:テーブル
  448. // | 引数 $where:条件式
  449. // +---------------------------------------------------------------------------+
  450. // | 戻値 nomal:複数データリスト
  451. // +---------------------------------------------------------------------------+
  452. //update20100420
  453. {
  454. $sql="SELECT {$fld} FROM {$tbl} WHERE {$where}";
  455. $result = DB_query ($sql);
  456. $numrows = DB_numRows ($result);
  457. $selected="";
  458. for ($i = 0; $i < $numrows; $i++) {
  459. $A = DB_fetchArray ($result);
  460. $selected.= $A[$fld]." ";
  461. }
  462. $selcted=rtrim($selected," ");
  463. return $selected;
  464. }
  465. function DATABOX_savedatas(
  466. $fld
  467. ,$tbl
  468. ,$id
  469. ,$fldary=""
  470. )
  471. // +---------------------------------------------------------------------------+
  472. // | 機能 複数データ書込
  473. // | 書式 DATABOX_savedatas($fld,$tbl,$id,$fldary)
  474. // +---------------------------------------------------------------------------+
  475. // | 引数 $fld:項目
  476. // | 引数 $tbl:テーブル
  477. // | 引数 $id:
  478. // | 引数 $fldary:データ配列
  479. // +---------------------------------------------------------------------------+
  480. // | 戻値 nomal:
  481. // +---------------------------------------------------------------------------+
  482. //update20100420
  483. {
  484. global $_TABLES;
  485. $rt=DB_delete($tbl,"id",$id);
  486. if (is_array($fldary)){
  487. for ($i = 1; $i <= count($fldary); $i++) {
  488. $val=current($fldary);
  489. $sql="INSERT INTO {$tbl} (";
  490. $sql.="id, {$fld}";
  491. $sql.=") VALUES (";
  492. $sql.="{$id}, {$val}";
  493. $sql.=")";
  494. DB_query($sql);
  495. next($fldary);
  496. }
  497. }
  498. return ;
  499. }
  500. function DATABOX_savecategorydatas(
  501. $id
  502. ,$fldary
  503. ,$pi_name=""
  504. ,$mydata=""
  505. )
  506. // +---------------------------------------------------------------------------+
  507. // | 機能 複数データ書込(カテゴリ)
  508. // | 書式 DATABOX_savecategorydatas($id,$category,'databox','mydata')
  509. // +---------------------------------------------------------------------------+
  510. // | 引数 $id:
  511. // | 引数 $fldary:データ配列
  512. // | 引数 $pi_name: 'databox' 'userbox' 'formbox'
  513. // +---------------------------------------------------------------------------+
  514. // | 戻値 nomal: |
  515. // +---------------------------------------------------------------------------+
  516. //update20100824
  517. {
  518. global $_TABLES;
  519. if ($pi_name==""){
  520. $table_def_category=$_TABLES['DATABOX_def_category'];
  521. $table_category=$_TABLES['DATABOX_category'];
  522. }else{
  523. $table_def_category=$_TABLES[strtoupper($pi_name).'_def_category'];
  524. $table_category=$_TABLES[strtoupper($pi_name).'_category'];
  525. }
  526. if ($mydata==""){
  527. $rt=DB_delete($table_category,"id",$id);
  528. }else{
  529. $categories=COM_applyFilter($_POST['categories']);
  530. if ($categories=="" ){
  531. }else{
  532. $categories=str_replace("|", ',', $categories);
  533. $sql="DELETE FROM {$table_category} WHERE ";
  534. $sql .=" id = ".$id ;
  535. $sql .=" AND category_id IN (".$categories.")";
  536. DB_query($sql);
  537. }
  538. }
  539. if (is_array($fldary)){
  540. for ($i = 1; $i <= count($fldary); $i++) {
  541. $val=current($fldary);
  542. $sql="INSERT INTO {$table_category} (".LB;
  543. $sql.="id, category_id".LB;
  544. $sql.=") VALUES (".LB;
  545. $sql.="{$id}, {$val}".LB;
  546. $sql.=")".LB;
  547. DB_query($sql);
  548. /////parent_id が0になるまでinsert
  549. $parent_id=DB_getItem( $table_def_category ,"parent_id","category_id={$val}");
  550. while ($parent_id<>0) {
  551. $category_id=$parent_id;
  552. $seq=DB_getItem( $table_category ,"seq","id={$id} AND category_id={$category_id} ");
  553. if (is_null($seq)) {
  554. $sql="INSERT INTO {$table_category} (".LB;
  555. $sql.="id, category_id".LB;
  556. $sql.=") VALUES (".LB;
  557. $sql.="{$id}, {$category_id}".LB;
  558. $sql.=")".LB;
  559. DB_query($sql);
  560. }
  561. $parent_id=DB_getItem( $table_def_category ,"parent_id","category_id={$category_id}");
  562. }
  563. /////
  564. next($fldary);
  565. }
  566. }
  567. return ;
  568. }
  569. //==============================================================================
  570. function DATABOX_chkuser(
  571. $group_id
  572. ,$owner_id
  573. ,$adminrights="databox.admin"
  574. )
  575. // +---------------------------------------------------------------------------+
  576. // | 機能 ユーザチェック
  577. // | 書式 $chk_user=DATABOX_chkuser($group_id,$owner_id,"databox.admin")
  578. // +---------------------------------------------------------------------------+
  579. // | 引数 $group_id
  580. // | 引数 $owner_id
  581. // | 引数 $adminrights databox.admin
  582. // +---------------------------------------------------------------------------+
  583. // | 戻値
  584. // | 0 guest
  585. // | 10 guest and allusers
  586. // | 1000 user
  587. // | 1010 group (owner 含む)
  588. // | 1011 owner
  589. // | 1100 admin
  590. // | 1110 group and admin
  591. // | 1101 owner and admin
  592. // | 1111 group owner and admin
  593. // +---------------------------------------------------------------------------+
  594. //update20101004 group_id
  595. {
  596. global $_USER;
  597. $chk_user=0;
  598. if (isset($_USER['uid']) && $_USER['uid'] > 1) {
  599. $chk_user=1000;//ログインユーザ
  600. }
  601. if ( SEC_hasRights($adminrights)) {
  602. $chk_user=$chk_user+100;//admin
  603. }
  604. //group に属している人
  605. $usergroups=SEC_getUserGroups();
  606. if ( in_array($group_id, $usergroups)){
  607. $chk_user=$chk_user+10;//group
  608. }
  609. if ($owner_id===$_USER['uid']){
  610. $chk_user=$chk_user+1;//owner
  611. }
  612. return $chk_user;
  613. }
  614. function DATABOX_getadditiondef(
  615. $pi_name=""
  616. )
  617. // +---------------------------------------------------------------------------+
  618. // | 機能 追加項目定義読込
  619. // | 書式 DATABOX_getadditiondef($pi_name)
  620. // +---------------------------------------------------------------------------+
  621. // | 引数 $pi_name: 'databox' 'userbox' 'formbox'
  622. // +---------------------------------------------------------------------------+
  623. // | 戻値 nomal:追加項目定義
  624. // +---------------------------------------------------------------------------+
  625. {
  626. global $_TABLES;
  627. global $_CONF;
  628. if ($pi_name==""){
  629. $table=$_TABLES['DATABOX_def_field'];
  630. $table2=$_TABLES['DATABOX_mst'];
  631. }else{
  632. $table=$_TABLES[strtoupper($pi_name).'_def_field'];
  633. $table2=$_TABLES[strtoupper($pi_name).'_mst'];
  634. }
  635. $rt=array();
  636. $fieldgroupno_old="";
  637. $sql="SELECT ";
  638. $sql.= " field_id ";
  639. $sql.= ",name ";
  640. $sql.= ",description";
  641. $sql.= ",type";
  642. //$sql.= ",fieldgroup_id AS group_id";
  643. $sql.= ",selection";
  644. $sql.= ",selectlist";
  645. $sql.= ",checkrequried";
  646. $sql.= ",size";
  647. $sql.= ",maxlength";
  648. $sql.= ",rows";
  649. $sql.= ",br";
  650. $sql.= ",templatesetvar";
  651. $sql.= ",allow_display";
  652. $sql.= ",allow_edit";
  653. $sql.= ",textcheck";
  654. $sql.= ",textconv";
  655. $sql.= ",searchtarget";
  656. $sql.= ",initial_value";
  657. $sql.= ",range_start";
  658. $sql.= ",range_end";
  659. $sql.= ",dfid";
  660. $sql.= ",description2";
  661. $sql.= ",fieldgroupno";
  662. $sql.=" FROM";
  663. $sql.=" {$table} AS m";
  664. $sql.= " ORDER BY orderno,field_id";
  665. $result = DB_query ($sql);
  666. $numrows = DB_numRows ($result);
  667. for ($i = 1; $i <= $numrows; $i++) {
  668. $A = DB_fetchArray ($result);
  669. $field_id = COM_stripslashes($A['field_id']);
  670. $rt[$field_id]['name'] = COM_stripslashes($A['name']);
  671. $rt[$field_id]['checkrequried'] = COM_stripslashes($A['checkrequried']);
  672. $rt[$field_id]['description'] = COM_stripslashes($A['description']);
  673. $rt[$field_id]['allow_display'] = COM_stripslashes($A['allow_display']);
  674. $rt[$field_id]['allow_edit'] = COM_stripslashes($A['allow_edit']);
  675. $rt[$field_id]['textcheck'] = COM_stripslashes($A['textcheck']);
  676. $rt[$field_id]['textconv'] = COM_stripslashes($A['textconv']);
  677. $rt[$field_id]['searchtarget'] = COM_stripslashes($A['searchtarget']);
  678. $rt[$field_id]['type'] = COM_stripslashes($A['type']);
  679. //$rt[$field_id]['group_id'] = COM_stripslashes($A['group_id']);
  680. $rt[$field_id]['selection'] = COM_stripslashes($A['selection']);
  681. $rt[$field_id]['size'] = COM_stripslashes($A['size']);
  682. if ($rt[$field_id]['size']==0){
  683. $rt[$field_id]['size']=60;
  684. }
  685. $rt[$field_id]['maxlength'] = COM_stripslashes($A['maxlength']);
  686. if ($rt[$field_id]['maxlength']==0){
  687. $rt[$field_id]['maxlength']=160;
  688. }
  689. $rt[$field_id]['rows'] = COM_stripslashes($A['rows']);
  690. if ($rt[$field_id]['rows']==0){
  691. $rt[$field_id]['rows']=2;
  692. }
  693. $rt[$field_id]['br'] = COM_stripslashes($A['br']);
  694. $rt[$field_id]['selectlist'] = COM_stripslashes($A['selectlist']);
  695. $rt[$field_id]['templatesetvar'] = COM_stripslashes($A['templatesetvar']);
  696. $selection= COM_stripslashes($A['selection']);
  697. $rt[$field_id]['selectionary']=DATABOX_getselectionary($selection);
  698. $rt[$field_id]['initial_value']= COM_stripslashes($A['initial_value']);
  699. $rt[$field_id]['range_start']= COM_stripslashes($A['range_start']);
  700. $rt[$field_id]['range_end']= COM_stripslashes($A['range_end']);
  701. $dfid= COM_stripslashes($A['dfid']);
  702. $format = DB_getItem($_TABLES['dateformats'], "format", "dfid = $dfid");
  703. if( empty( $format )) {
  704. $rt[$field_id]['format'] = $_CONF['date'];
  705. }else{
  706. $rt[$field_id]['format'] = $format;
  707. }
  708. $rt[$field_id]['description2']= COM_stripslashes($A['description2']);
  709. $fieldgroupno=COM_stripslashes($A['fieldgroupno']);
  710. if ($fieldgroupno_old==$fieldgroupno){
  711. }else{
  712. $fieldgroup_name=DB_getItem($table2,"value","kind='fieldgroup' AND no=".$fieldgroupno);
  713. $fieldgroupno_old=$fieldgroupno;
  714. }
  715. $rt[$field_id]['fieldgroup_name']=$fieldgroup_name;
  716. $rt[$field_id]['fieldgroupno']= $fieldgroupno;
  717. }
  718. return $rt;
  719. }
  720. function DATABOX_getselectionary(
  721. $selection
  722. )
  723. {
  724. $selectionary=array();
  725. $ary=array();
  726. $ary=split("\r" , $selection);
  727. $j=0;
  728. for ($ii = 0; $ii < count($ary); $ii++) {
  729. if ($ary[$ii]<>""){
  730. $selectionary[$j]=$ary[$ii];
  731. $j=$j+1;
  732. }
  733. }
  734. return $selectionary;
  735. }
  736. // +---------------------------------------------------------------------------+
  737. // | 機能 検索用引数作成
  738. // | 書式 DATABOX_getadditionsearchdef($pi_name)
  739. // +---------------------------------------------------------------------------+
  740. // | 引数 $pi_name: 'databox' 'userbox' 'formbox'
  741. // +---------------------------------------------------------------------------+
  742. // | 戻値 配列
  743. // | $rt["sql1"]: ",{$_TABLES['DATABOX_addition']} AS ad1"
  744. // | $rt["sql2"]: " AND t1.id=ad1.id AND ad1.field_id=1 "
  745. // | $rt["columns"][]: 'ad1.value '
  746. // +---------------------------------------------------------------------------+
  747. function DATABOX_getadditionsearchdef(
  748. $pi_name=""
  749. )
  750. {
  751. global $_TABLES;
  752. $box_conf="_".strtoupper($pi_name)."_CONF";
  753. global $$box_conf;
  754. $box_conf=$$box_conf;
  755. $table_def_field=$_TABLES[strtoupper($pi_name).'_def_field'];
  756. $table_addition=$_TABLES[strtoupper($pi_name).'_addition'];
  757. if ($box_conf['additionsearch']==0){
  758. return;
  759. }
  760. $lmt=$box_conf['additionsearch'];
  761. $retval=array();
  762. $rt=array();
  763. $sql3="";
  764. $columns=array();
  765. $sql=LB;
  766. $sql.="SELECT ";
  767. $sql.= " field_id ";
  768. $sql.=" FROM";
  769. $sql.=" {$table_def_field} AS m";
  770. // 表示する項目のみ
  771. $sql.=" WHERE";
  772. $sql.=" allow_display='0'";
  773. //0: 一行テキストフィールド
  774. //1: 複数行テキストフィールド
  775. //20:HTML 10:TinyMCE 19:CKEditor
  776. //15:数値 21:通貨
  777. $sql.=" AND type IN (0,1,10,19,20,15,21)";
  778. //検索対象にする=はい
  779. $sql.=" AND searchtarget='1'";
  780. $sql.=" ORDER BY orderno,field_id";
  781. $sql.=" LIMIT 0 ,".$lmt;
  782. $result = DB_query ($sql);
  783. $numrows = DB_numRows ($result);
  784. for ($i = 1; $i <= $numrows; $i++) {
  785. $A = DB_fetchArray ($result);
  786. $field_id = COM_stripslashes($A['field_id']);
  787. $type = COM_stripslashes($A['type']);
  788. $selection= COM_stripslashes($A['selection']);
  789. $selectionary=DATABOX_getselectionary($selection);
  790. $columns[]= "ad{$field_id}.value ";
  791. $sql3 .= " JOIN {$table_addition} AS ad{$field_id}";
  792. $sql3 .= " ON t1.id=ad{$field_id}.id ";
  793. $sql3 .= " AND ad{$field_id}.field_id={$field_id} ".LB;
  794. }
  795. $rt["sql3"]=$sql3;
  796. $rt["columns"]=$columns;
  797. return $rt;
  798. }
  799. function DATABOX_getadditiondatas(
  800. $id
  801. ,$pi_name=""
  802. )
  803. // +---------------------------------------------------------------------------+
  804. // | 機能 追加項目読込
  805. // | 書式 DATABOX_getadditiondatas($id)
  806. // | $array=DATABOX_getaddtuindatas($id);
  807. // +---------------------------------------------------------------------------+
  808. // | 引数 $id:
  809. // | 引数 $pi_name:plugin name 'databox' 'userbox' 'formbox'
  810. // +---------------------------------------------------------------------------+
  811. // | 戻値 nomal:追加項目リスト |
  812. // +---------------------------------------------------------------------------+
  813. {
  814. global $_TABLES;
  815. if ($pi_name==""){
  816. $table_addition=$_TABLES['DATABOX_addition'];
  817. $table_def_field=$_TABLES['DATABOX_def_field'];
  818. }else{
  819. $table_addition=$_TABLES[strtoupper($pi_name).'_addition'];
  820. $table_def_field=$_TABLES[strtoupper($pi_name).'_def_field'];
  821. }
  822. $rt=array();
  823. $sql="SELECT ";
  824. $sql.=" m.field_id";
  825. $sql.=" ,m.fieldgroupno";
  826. if ($id==0){
  827. $sql.=",initial_value AS value ";
  828. }else{
  829. $sql.=", ( SELECT VALUE ";
  830. $sql.=" FROM";
  831. $sql.=" {$table_addition} AS t";
  832. $sql.=" where";
  833. $sql.=" t.id={$id}";
  834. $sql.=" AND t.field_id=m.field_id";
  835. $sql.=" ) AS value ";
  836. }
  837. $sql.=" FROM";
  838. $sql.=" {$table_def_field} AS m";
  839. $sql.=" order by m.fieldgroupno,m.orderno ,m.field_id";
  840. $result = DB_query ($sql);
  841. $numrows = DB_numRows ($result);
  842. for ($i = 1; $i <= $numrows; $i++) {
  843. $A = DB_fetchArray ($result);
  844. $field_id=$A['field_id'];
  845. $value=$A['value'];
  846. $rt[$field_id]=COM_stripslashes($value);
  847. }
  848. return $rt;
  849. }
  850. function DATABOX_getaddtionfieldsEdit(
  851. $fields
  852. ,$addition_def
  853. ,$templates
  854. ,$chk_user
  855. ,$pi_name=""
  856. ,$fields_fnm=""
  857. ,$fields_del=""
  858. ,$fieldset_id=0
  859. ,$fields_date=""
  860. )
  861. // +---------------------------------------------------------------------------+
  862. // | 機能 追加項目入力用HTML作成
  863. // | 書式 DATABOX_getaddtionfieldsEdit
  864. // ($additionfields,$addition_def,$templates,$chk_user)
  865. // +---------------------------------------------------------------------------+
  866. // | 引数 $fields:
  867. // | 引数 $addition_def:
  868. // | 引数 $templates:
  869. // | 引数 $chk_user:
  870. // | 引数 $pi_name:plugin name 'databox' 'userbox' 'formbox'
  871. // | 引数 $fields_fnm:
  872. // | 引数 $fields_del:
  873. // | 引数 $fieldset_id:
  874. // +---------------------------------------------------------------------------+
  875. // | 戻値 nomal:追加項目入力用HTML  |
  876. // +---------------------------------------------------------------------------+
  877. // 20101206 日付
  878. {
  879. global $_TABLES;
  880. global $_SCRIPTS;
  881. global $_CONF;
  882. global $MESSAGE;
  883. if ($pi_name==""){
  884. $pi_name="databox";
  885. }
  886. $lang_admin_x="LANG_".strtoupper($pi_name)."_ADMIN";
  887. $lang_admin="LANG_".strtoupper($pi_name)."_ADMIN";
  888. $lang_noyes="LANG_".strtoupper($pi_name)."_NOYES";
  889. $table_def_field=$_TABLES[strtoupper($pi_name).'_def_field'];
  890. $box_conf="_".strtoupper($pi_name)."_CONF";
  891. global $$box_conf;
  892. $box_conf=$$box_conf;
  893. global $$lang_admin;
  894. global $$lang_noyes;
  895. $lang_admin=$$lang_admin;
  896. $lang_noyes=$$lang_noyes;
  897. $langCode = COM_getLangIso639Code();
  898. $toolTip = $MESSAGE[118];
  899. $imgUrl = $_CONF['site_url'] . '/images/calendar.png';
  900. $fieldsetfields=DATABOX_getfields($pi_name, $fieldset_id);
  901. $retval = '';
  902. if (is_array($fields)){
  903. $S = $fields;
  904. }else{
  905. if( !empty( $selected )) {
  906. $S = explode( ' ', $fields );
  907. }else {
  908. $S = array();
  909. }
  910. }
  911. $fieldgroup_old="";
  912. foreach( $S as $fid => $fvalue ){
  913. $name=$addition_def[$fid]['name'];
  914. $checkrequried=$addition_def[$fid]['checkrequried'];
  915. $type=$addition_def[$fid]['type'];
  916. $selectionary=$addition_def[$fid]['selectionary'];
  917. $selectlist=$addition_def[$fid]['selectlist'];
  918. $size=$addition_def[$fid]['size'];
  919. $maxlength=$addition_def[$fid]['maxlength'];
  920. $rows=$addition_def[$fid]['rows'];
  921. $br=$addition_def[$fid]['br'];
  922. $templatesetvar=$addition_def[$fid]['templatesetvar'];
  923. $description=$addition_def[$fid]['description'];
  924. $description2=$addition_def[$fid]['description2'];
  925. $fieldgroup_name=$addition_def[$fid]['fieldgroup_name'];
  926. $chk=false;
  927. $disabled="disabled";
  928. if (in_array($fid,$fieldsetfields )) {
  929. if ($chk_user===9999){
  930. $chk=true;
  931. $disabled="";
  932. }else{
  933. //編集可能
  934. if ($addition_def[$fid]['allow_edit']==='0') {
  935. $chk=true;
  936. $disabled="";
  937. //グループとadmin権のある人のみ表示
  938. }else if ($addition_def[$fid]['allow_edit']==='2'){
  939. if ($chk_user>=1010) {
  940. $chk=true;
  941. $disabled="";
  942. }
  943. //所有者とadmin権のある人のみ
  944. }else if ($addition_def[$fid]['allow_edit']==='3'){
  945. if ($chk_user>=1011) {
  946. $chk=true;
  947. $disabled="";
  948. }
  949. //編集不可表示のみ
  950. }else if ($addition_def[$fid]['allow_edit']==='4'){
  951. $chk=true;
  952. }
  953. }
  954. }
  955. if ($chk) {
  956. $fieldhtml="";
  957. switch ($type) {
  958. case 12:// 図
  959. $fvalue_fnm=$fields_fnm[$fid];
  960. $fvalue_del=$fields_del[$fid];
  961. $fieldhtml .=DATABOX_figurehtml12
  962. ($fid,$fvalue,$fvalue_del,$size,$maxlength);
  963. break;
  964. case 11:// 図
  965. $fvalue_fnm=$fields_fnm[$fid];
  966. $fvalue_del=$fields_del[$fid];
  967. $fieldhtml .=DATABOX_figurehtml
  968. ($fid,$fvalue,$fvalue_del);
  969. break;
  970. case 13:// 添付ファイル
  971. $fvalue_fnm=$fields_fnm[$fid];
  972. $fvalue_del=$fields_del[$fid];
  973. $fieldhtml .=DATABOX_filehtml
  974. ($pi_name,$fid,$fvalue,$fvalue_del);
  975. break;
  976. case 1:// 複数行テキストフィールド(HTML OK)
  977. case 10:// 複数行テキストフィールド(HTML NG)
  978. case 20:// 複数行テキストフィールド(HTML OK TinyMCE)//@@@@@
  979. case 19:// 複数行テキストフィールド(HTML OK CKEditor)//@@@@@
  980. if ($disabled===""){
  981. $cntname="afieldcnt".$fid;
  982. $fieldhtml .= "<textarea ";
  983. $fieldhtml .= " name=\"afield[".$fid."]\" ";
  984. $fieldhtml .= " style=\"width:95%\"";
  985. $fieldhtml .= " rows=\"".$rows."\"";
  986. $fieldhtml .= " id=\"DATABOX_afield".$fid."\"";
  987. $fieldhtml .= " ".$disabled." ";
  988. $fieldhtml .= " onKeyup=\"var n=".$maxlength;
  989. $fieldhtml .="-this.value.length;var ";
  990. $fieldhtml .="s=document.getElementById";
  991. $fieldhtml .="('".$cntname."');s.innerHTML='('+n+')';\"";
  992. if ($type==20){
  993. $fieldhtml .= " class=\"tinymce_enabled\"";
  994. }
  995. if ($type==19){
  996. $fieldhtml .= " class=\"wide\"";
  997. }
  998. $fieldhtml .= ">";
  999. $fieldhtml .= $fvalue;
  1000. $fieldhtml .= "</textarea>";
  1001. $fieldhtml .="<br ".XHTML."><strong>";
  1002. $fieldhtml .="<span id='".$cntname."'></span></strong>";
  1003. }else{
  1004. $fieldhtml .=$fvalue;
  1005. }
  1006. break;
  1007. case 2://いいえ/はい
  1008. if ($disabled===""){
  1009. $fieldhtml=DATABOX_getradiolist
  1010. ($lang_noyes,"afield[".$fid."]",$fvalue,$br ,$disabled);
  1011. }else{
  1012. $fieldhtml= $lang_noyes[$fvalue];
  1013. }
  1014. break;
  1015. case 7://オプションリスト(選択肢)
  1016. case 14://マルチセレクトリスト(選択肢)
  1017. if ($disabled===""){
  1018. $fieldhtml=DATABOX_getoptionlistary($selectionary,"afield[".$fid."]",$fvalue,$pi_name, $disabled,$type,$size);
  1019. }else{
  1020. $selectionary[$fvalue];
  1021. }
  1022. break;
  1023. case 24://チェックボックス(選択肢)
  1024. if ($disabled===""){
  1025. $fieldhtml=DATABOX_getcheckboxary($selectionary,"afield[".$fid."]",$fvalue,$pi_name, $disabled,$type,$size);
  1026. }else{
  1027. $selectionary[$fvalue];
  1028. }
  1029. break;
  1030. case 25://チェックボックス(マスター)
  1031. if ($disabled===""){
  1032. $mstary=DATABOX_getAry("selectlist_mst",0,$selectlist,$pi_name);
  1033. $fieldhtml=DATABOX_getcheckboxary($mstary,"afield[".$fid."]",$fvalue,$pi_name, $disabled,$type,$size);
  1034. }else{
  1035. $selectionary[$fvalue];
  1036. }
  1037. break;
  1038. case 9://オプションリスト(マスター)
  1039. if ($disabled===""){
  1040. $fieldhtml=DATABOX_getoptionlist("selectlist_mst",$fvalue,0,$pi_name,"",0,$selectlist,"afield[".$fid."]");
  1041. }else{
  1042. $selectionary[$fvalue];
  1043. }
  1044. break;
  1045. case 8://ラジオボタンリスト(選択肢)
  1046. if ($disabled===""){
  1047. $fieldhtml=DATABOX_getradiolist ($selectionary,"afield[".$fid."]",$fvalue,$br,$disabled,$type);
  1048. }else{
  1049. $selectionary[$fvalue];
  1050. }
  1051. break;
  1052. case 16://ラジオボタンリスト(マスター)//@@@@@
  1053. if ($disabled===""){
  1054. $mstary=DATABOX_getAry("selectlist_mst",0,$selectlist,$pi_name);
  1055. $fieldhtml=DATABOX_getradiolist ($mstary,"afield[".$fid."]",$fvalue,$br,$disabled,$type);
  1056. }else{
  1057. $selectionary[$fvalue];
  1058. }
  1059. break;
  1060. case 18://マルチセレクトリスト(マスター)//@@@@@
  1061. if ($disabled===""){
  1062. $mstary=DATABOX_getAry("selectlist_mst",0,$selectlist,$pi_name);
  1063. $fieldhtml=DATABOX_getoptionlistary($mstary,"afield[".$fid."]",$fvalue,$pi_name, $disabled,$type,$size);
  1064. }else{
  1065. $selectionary[$fvalue];
  1066. }
  1067. break;
  1068. case 3://日付(date picker対応)
  1069. if ($disabled===""){
  1070. //$filedname="afield[".$fid."]";
  1071. $filedname="afield".$fid;
  1072. $_SCRIPTS->setJavaScript(
  1073. "jQuery(function () {"
  1074. . " geeklog.datepicker.set('{$filedname}', '{$langCode}', '{$toolTip}', '{$imgUrl}');"
  1075. . "});", TRUE, TRUE
  1076. );
  1077. if (is_array($fields_date)){
  1078. $fieldhtml.=DATABOX_datetimeedit_R($fields_date[$fid],$lang_admin_x,$filedname);
  1079. }else{
  1080. $fieldhtml.=DATABOX_datetimeedit($fvalue,$lang_admin_x,$filedname,"date");
  1081. }
  1082. $wk = " <input ";
  1083. $wk .= " type=\"hidden\"";
  1084. $wk .= " name=\"afield[".$fid."]\" ";
  1085. $wk .= " value=\"".$fvalue."\"";
  1086. $wk .= " ".XHTML.">";
  1087. $fieldhtml.=$wk;
  1088. }else{
  1089. $fieldhtml .=$fvalue;
  1090. }
  1091. break;
  1092. case 4://日時(datetime picker対応)
  1093. if ($disabled===""){
  1094. //$filedname="afield[".$fid."]";
  1095. $filedname="afield".$fid;
  1096. $_SCRIPTS->setJavaScript(
  1097. "jQuery(function () {"
  1098. . " geeklog.hour_mode = {$_CONF['hour_mode']};"
  1099. . " geeklog.datetimepicker.set('{$filedname}', '{$langCode}', '{$toolTip}', '{$imgUrl}');"
  1100. . "});", TRUE, TRUE
  1101. );
  1102. if (is_array($fields_date)){
  1103. $fieldhtml.=DATABOX_datetimeedit_R($fields_date[$fid],$lang_admin_x,$filedname);
  1104. }else{
  1105. $fieldhtml.=DATABOX_datetimeedit($fvalue,$lang_admin_x,$filedname,"datetime");
  1106. }
  1107. $wk = " <input ";
  1108. $wk .= " type=\"hidden\"";
  1109. $wk .= " name=\"afield[".$fid."]\" ";
  1110. $wk .= " value=\"".$fvalue."\"";
  1111. $wk .= " ".XHTML.">";
  1112. $fieldhtml.=$wk;
  1113. }else{
  1114. $fieldhtml .=$fvalue;
  1115. }
  1116. break;
  1117. case 26://時刻(UI time picker対応)
  1118. if ($disabled===""){
  1119. $fvalue_time=DATABOX_getTimeformat($fvalue);
  1120. $filedname="afield".$fid;
  1121. $wk = " <input ";
  1122. $wk .= " type=\"hidden\"";
  1123. $wk .= " name=\"afield[".$fid."]\" ";
  1124. $wk .= " value=\"".$fvalue."\"";
  1125. $wk .= " ".XHTML.">";
  1126. $fieldhtml.=$wk;
  1127. $fieldhtml .= " <input ";
  1128. $fieldhtml .= " data-uk-timepicker=\"{format:'".$_CONF['hour_mode']."h'";
  1129. if ($addition_def[$fid]['range_start']==""){
  1130. }else{
  1131. $fieldhtml .= ",start:".$addition_def[$fid]['range_start'] ;
  1132. }
  1133. if ($addition_def[$fid]['range_end']==""){
  1134. }else{
  1135. $fieldhtml .= ",end:".$addition_def[$fid]['range_end'] ;
  1136. }
  1137. $fieldhtml .= " }\"";
  1138. $fieldhtml .= " class=\"uk-form-width-small\"";
  1139. $fieldhtml .= " type=\"text\"";
  1140. $fieldhtml .= " id=\"afield".$fid."\"";
  1141. $fieldhtml .= " size=\"".$size."\"";
  1142. $fieldhtml .= " maxlength=\"".$maxlength."\" ";
  1143. $fieldhtml .= " name=\"afield[".$fid."]\" ";
  1144. $fieldhtml .= " style=\"max-width:95%\"";
  1145. $fieldhtml .= " value=\"". $fvalue_time."\"";
  1146. $fieldhtml .= " ".XHTML.">";
  1147. }else{
  1148. $fieldhtml .=$fvalue;
  1149. }
  1150. break;
  1151. case 22://日付
  1152. if ($disabled===""){
  1153. if ($fvalue=="") {
  1154. $fvalue_date="";
  1155. }else{
  1156. $fvalue_date=date( $box_conf['dateformat'], $fvalue );
  1157. }
  1158. $filedname="afield".$fid;
  1159. $_SCRIPTS->setJavaScript(
  1160. "$(function() {
  1161. $( \"#afield".$fid."\" ).datepicker();
  1162. });"
  1163. , TRUE, TRUE
  1164. );
  1165. $wk = " <input ";
  1166. $wk .= " type=\"hidden\"";
  1167. $wk .= " name=\"afield[".$fid."]\" ";
  1168. $wk .= " value=\"".$fvalue."\"";
  1169. $wk .= " ".XHTML.">";
  1170. $fieldhtml.=$wk;
  1171. $fieldhtml .= " <input ";
  1172. $fieldhtml .= " type=\"text\"";
  1173. $fieldhtml .= " id=\"afield".$fid."\"";
  1174. $fieldhtml .= " size=\"".$size."\"";
  1175. $fieldhtml .= " maxlength=\"".$maxlength."\" ";
  1176. $fieldhtml .= " name=\"afield[".$fid."]\" ";
  1177. $fieldhtml .= " style=\"max-width:95%\"";
  1178. $fieldhtml .= " value=\"".$fvalue_date."\"";
  1179. $fieldhtml .= " ".XHTML.">";
  1180. }else{
  1181. $fieldhtml .=$fvalue;
  1182. }
  1183. break;
  1184. case 23://日付
  1185. if ($disabled===""){
  1186. if ($fvalue=="") {
  1187. $fvalue_date="";
  1188. }else{
  1189. $fvalue_date=date( $box_conf['dateformat'], $fvalue );
  1190. }
  1191. $filedname="afield".$fid;
  1192. $wk = " <input ";
  1193. $wk .= " type=\"hidden\"";
  1194. $wk .= " name=\"afield[".$fid."]\" ";
  1195. $wk .= " value=\"".$fvalue."\"";
  1196. $wk .= " ".XHTML.">";
  1197. $fieldhtml.=$wk;
  1198. $fieldhtml .= " <input ";
  1199. $fieldhtml .= " data-uk-datepicker=\"{format:'YYYY/MM/DD'}\"";
  1200. $fieldhtml .= " type=\"text\"";
  1201. $fieldhtml .= " id=\"afield".$fid."\"";
  1202. $fieldhtml .= " size=\"".$size."\"";
  1203. $fieldhtml .= " maxlength=\"".$maxlength."\" ";
  1204. $fieldhtml .= " name=\"afield[".$fid."]\" ";
  1205. $fieldhtml .= " style=\"max-width:95%\"";
  1206. $fieldhtml .= " value=\"". $fvalue_date."\"";
  1207. $fieldhtml .= " ".XHTML.">";
  1208. }else{
  1209. $fieldhtml .=$fvalue;
  1210. }
  1211. break;
  1212. case 17://フ…

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