Index: branches/testa-single-bookmark/php/content3.php
===================================================================
--- branches/testa-single-bookmark/php/content3.php	(revision 63)
+++ branches/testa-single-bookmark/php/content3.php	(revision 67)
@@ -15,5 +15,7 @@
 require_once( dirname(__FILE__) . "/spyc-0.5/spyc.php"); // ★の部分にはspyc.phpを置いたパスを入れます
 
-$exec_path = dirname(__FILE__) . "/..";
+$Top_path = dirname(__FILE__) . "/..";
+$Url_data = null;
+$Url_data_array = null;
 
 function get_url_data_array()
@@ -25,15 +27,7 @@
 }
 
-function get_url_data_array0()
-{
-	$array = array(
-        array('url' => 'https://toppers.jp', 'path' =>	'/var/www/vhosts/devconf.northern-cross.info/httpdocs/a/tmp/devconf-guest-4/tmp/md2site-x/_xtest/wtjx/t12/src') );
-
-	return $array;
-}
-
 function get_url_data( $num ){
-    $array = get_url_data_array();
-    return $array[$num];
+    global $Url_data_array;
+    return $Url_data_array[$num];
 }
 
@@ -43,13 +37,15 @@
 
 function get_path_from_url_data( $num , $part){
+    global $Url_data_array;
+
     switch($part){
     case 'data':
-        $ret = get_url_data( $num )['path'];
+        $ret = $Url_data_array[$num]['path'];
         break;
     case 'conf':
-        $ret = get_url_data( $num )['conf_path'];
+        $ret = $Url_data_array[$num]['conf_path'];
         break;
     case 'output':
-        $ret = get_url_data( $num )['output_path'];
+        $ret = $Url_data_array[$num]['output_path'];
         break;
     default:
@@ -123,5 +119,4 @@
 }
 
-
 function get_path_info( $num , $part){
     $path_info = get_path_list_by_url( $num , $part);
@@ -138,5 +133,7 @@
 function ensure_storage_dir( $storage_dir , $num, $filename ) {
     $dir = implode( "/" , array( $storage_dir , $num) );
-    mkdir($dir);
+    if( !file_exists( $dir ) ){
+        mkdir($dir);
+    }
     $path = implode( "/" , array( $dir , $filename) );
     ensure_dir( $dir );
@@ -152,5 +149,5 @@
 }
 
-function build_one_html( $exec_path, $num , $md_path , $part) {
+function build_one_html( $top_path, $num , $md_path , $part) {
     $pathinfo = pathinfo( $md_path );
     $md_fname = $pathinfo['basename'];
@@ -169,5 +166,5 @@
     $output_url = $url_data["output_url"];
 
-    $cmd_line_items = array( $exec_path . "/bin/build.sh" , $bundle_path , $t, $s, $conf_path);
+    $cmd_line_items = array( $top_path . "/bin/build.sh" , $bundle_path , $t, $s, $conf_path);
 
     $cmd_line = implode(" " , $cmd_line_items);
@@ -191,7 +188,12 @@
 
 function cmdx(){
-    global $exec_path;
+    global $Top_path;
+    global $Url_data;
+    global $Url_data_array;
+
+    $Url_data_array = get_url_data_array();
 
     $filelist_filename = array("data"=> "filelist.json", "conf"=> "conf-filelist.json", "output" => "output-filelist.json");
+    $output_url_filename = "output_url.json";
     #    $storage_dir = dirname(__FILE__) . '/../storage';
     $storage_dir = dirname(__FILE__) . '/../storage-devconf';
@@ -202,4 +204,7 @@
         if (isset($_GET['num'])) {
             $num = $_GET['num'];
+
+            $Url_data = get_url_data($num);
+
             if (isset($_GET['part'])) {
                 $part = $_GET['part'];
@@ -237,5 +242,17 @@
                     $content = json_encode($info);
                     break;
+                case 'update_output_url_listx':
+                    $content = update_output_url_list( $num );
+                case 'get_output_url_listx':
+                    $path = ensure_storage_dir( $storage_dir , $num , $output_url_filename );
+                    if( file_exists($path) ){
+                        $content = input_file( $path );
+                    }
+                    else {
+                        $content = update_output_url_list( $num );
+                    }
+                    break;
                 default:
+                    $content = "bad cmd=" . $cmd;
                     break;
                 }
@@ -248,4 +265,7 @@
         if (isset($_POST['num'])) {
             $num = $_POST['num'];
+
+            $Url_data = get_url_data($num);
+
             if (isset($_POST['part'])) {
                 $part = $_POST['part'];
@@ -259,5 +279,5 @@
                         $top_path = get_path_from_url_data( $num , $part);
                         $filename_abs_path = $top_path . DIRECTORY_SEPARATOR . $path;
-                        $ret = build_one_html( $exec_path , $num, $path, $part );
+                        $ret = build_one_html( $Top_path , $num, $path, $part );
                     }
                     else{
@@ -304,5 +324,5 @@
     }
     else{
-        echo($content);
+        echo("no content");
     }
 }
@@ -331,11 +351,20 @@
 
 function get_full_path($num, $key, $fname){
-    $array = get_url_data_array();
-    return $array[$num][$key] . "/" . $fname;
-}
-
-function get_restrict_from_settings_yml() {
-    $settings = get_url_data_array();
-    $array = $settings[0]['restrict'];
+    global $Url_data_array;
+    return $Url_data_array[$num][$key] . "/" . $fname;
+}
+
+function get_restrict_from_settings_yml( $num ) {
+    global $Url_data_array;
+
+    /*    $settings = get_url_data_array();*/
+    $settings = $Url_data_array;
+    if( !isset($settings[$num]) ){
+        return array();
+    }
+    $array = $settings[$num]['restrict'];
+    if( !isset( $array ) ){
+        return array();
+    }
 
     $r_keys = array_keys( $array );
@@ -361,5 +390,5 @@
     $list = get_site_tsv($num );
 
-    $restrict_array = get_restrict_from_settings_yml();
+    $restrict_array = get_restrict_from_settings_yml( $num );
 
     foreach( $list as $k => $v ){
@@ -399,55 +428,58 @@
 }
 
+function update_output_url_list( $num ){
+    $json_data = get_output_url_list( $num );
+    $content = json_encode($json_data);
+    output_file( $path , $content );
+
+    return $content;
+}
+
+function get_output_url_list( $num ){
+    $output_url = get_output_url($num);
+    $data = array( "output_url" => get_output_url($num),
+           "htmlfname" => array()
+    );
+
+    $list = get_site_tsv( $num );
+    $restrict_htmlnames = get_restrict_basenames( $num );
+
+    $output_path = get_path_from_url_data( $num, 'output' );
+    foreach( $list as $k => $v ){
+        $htmlfname = $v["output_html"];
+        if( $htmlfname !== null ){
+            $array = array( "full" => "", "partial" => "" );
+            if( !isset( $restrict_htmlnames[$htmlfname] ) ){
+                $fpath =  $output_path . '/' . $htmlfname;
+                if( file_exist($fpath) ){
+                    $array["full"] = $htmlfname;
+                }
+                $fpath_tmp =  $fpath . '.tmp';
+                if( file_exist($fpath_tmp) ){
+                    $array["partial"] = $htmlfname_tmp;
+                }
+                array_push( $data["htmlfname"] , $array);
+            }
+        }
+    }
+
+    return $data;
+}
+
 function get_output_url($num){
-    $settings = get_url_data_array();
-    return $settings[$num]['output_url'];
+    return $Url_data['output_url'];
 }
 
 function get_restrict($num){
-    $settings = get_url_data_array();
-    return $settings[$num]['restrict'];
-}
-
-function get_item($num, $name){
-    $settings = get_url_data_array();
-    return $settings[$num][$name];
-}
-
-function get_settings_file( $name ){
-    $dir = get_item( 0 , "conf_path" );
-    $path = implode( "/" , [$dir, $name] );
-
-    return $path;
-}
-
-function do_exec(){
-    $cmd = "ls -l /z";
-
-    exec($cmd, $opt, $ret);
-
-#    print_r($opt);
-#    echo "ret=" . $ret . "\n";
+    /*    $settings = get_url_data_array();*/
+    global $Url_data_array;
+    return $Url_data_array[$num]['restrict'];
 }
 
 cmdx();
-/*
-do_exec();
-*/
-/*
-$num = 0;
-$path = "/attempt/devconf2018/data/devconf2018.md";
-$part = "data";
-$lines = build_one_html( $exec_path, $num , $path , $part );
-
-var_dump( $lines );
-
-foreach( $lines as $k => $v ){
-    if( is_array( $v )){
-        echo implode( "\n" , $v );
-    }
-    else{
-        echo $v . "\n";
-    }
-}
-*/
+
+#echo json_encode( get_output_url_list(0) );
+# var_dump( get_output_url_list(0) );
+#var_dump( get_output_url_list(0) );
+#echo json_encode( get_output_url_list(0) );
 ?>
