{"action":"opened","issue":{"url":"https://api.github.com/repos/kensukegoto/post-github-issue/issues/105","repository_url":"https://api.github.com/repos/kensukegoto/post-github-issue","labels_url":"https://api.github.com/repos/kensukegoto/post-github-issue/issues/105/labels{/name}","comments_url":"https://api.github.com/repos/kensukegoto/post-github-issue/issues/105/comments","events_url":"https://api.github.com/repos/kensukegoto/post-github-issue/issues/105/events","html_url":"https://github.com/kensukegoto/post-github-issue/issues/105","id":312200261,"number":105,"title":"グラフ機能 : ","user":{"login":"kensukegoto","id":33786173,"avatar_url":"https://avatars3.githubusercontent.com/u/33786173?v=4","gravatar_id":"","url":"https://api.github.com/users/kensukegoto","html_url":"https://github.com/kensukegoto","followers_url":"https://api.github.com/users/kensukegoto/followers","following_url":"https://api.github.com/users/kensukegoto/following{/other_user}","gists_url":"https://api.github.com/users/kensukegoto/gists{/gist_id}","starred_url":"https://api.github.com/users/kensukegoto/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kensukegoto/subscriptions","organizations_url":"https://api.github.com/users/kensukegoto/orgs","repos_url":"https://api.github.com/users/kensukegoto/repos","events_url":"https://api.github.com/users/kensukegoto/events{/privacy}","received_events_url":"https://api.github.com/users/kensukegoto/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":0,"created_at":"2018-04-07T11:47:57Z","updated_at":"2018-04-07T11:47:57Z","closed_at":null,"author_association":"OWNER","body":"|トラブルの内容について|\n|-|\n|**どの機能で、トラブルが起こりましたか？**|\n|グラフ機能|\n|**トラブルは、どのくらいの確率で発生しますか？**|\n|5回に4回くらい発生する(80%)|\n**トラブルの内容を詳しく教えてください**\n||\n\n|トラブルのあったPC＋Excel環境について|\n|-|\n|**どのOSを使われていますか？**|\n|Windows系|\n|**OSのバージョンを詳しく教えてください**|\n|<\\?php /\\*  以下５点を各々の環境に合わせてハードコーディングして下さい。 ・ユーザー名 ・リポジトリ名 ・認証トークン ・ブランチ名（マスターブランチを想定） ・画像ディレクトリ （リポジトリ直下に置くことを想定。 例えば img など　img/wpなど更に深くしてもOKです。） \\*/ // 設定 $global\\_github\\_conf = array(     \"gitUser\" =\\> \"ユーザー名\",     \"gitRepo\" =\\> \"リポジトリ名\",     \"token\" =\\> \"トークン\",     \"branch\" =\\> \"ブランチ名\", // ex) master     \"imgDir\" =\\> \"画像ディレクトリ名\", // ex )upimage  ); $global\\_github\\_conf[\"repo\"] = \"https\\://api\\.github\\.com/repos/{$global\\_github\\_conf[\"gitUser\"]}/{$global\\_github\\_conf[\"gitRepo\"]}/\"; add\\_action( 'wpcf7\\_before\\_send\\_mail', function($contact\\_form) {          $submission = WPCF7\\_Submission\\:\\:get\\_instance();       if ( $submission ) {         $post = $submission\\-\\>get\\_posted\\_data();         $files = $submission\\-\\>uploaded\\_files();     }          // 設定     global $global\\_github\\_conf;     extract($global\\_github\\_conf);          // テキストの処理     function prepare\\_for\\_markdown($ans){                  $gitMarkDown = preg\\_quote(\"\\`\\|\\#\\>\\:\\-\\*\\_\\+\\!\\.\\\\\\?\",'/');         // メタ文字のエスケープ         $ans = preg\\_replace(\"/([{$gitMarkDown}])/\",'\\\\\\\\\\\\$1',$ans);         // $ans = trim(preg\\_replace('/\\\\t/g', '', $ans));         // $ans = str\\_replace(PHP\\_EOL, '<br\\>', $ans);         $ans = preg\\_replace('/(\\\\t\\|\\\\r\\\\n\\|\\\\r\\|\\\\n)/s', '<br\\>', $ans);                  return $ans;     }          $answer = array\\_map(\"prepare\\_for\\_markdown\", $post);          extract($answer,EXTR\\_SKIP);          $ans\\_1 = \"\\|トラブルの内容について\\|\\\\n\";     $ans\\_1 \\.= \"\\|\\-\\|\\\\n\";     $ans\\_1 \\.= \"\\|\\*\\*どの機能で、トラブルが起こりましたか？\\*\\*\\|\\\\n\";     $ans\\_1 \\.= \"\\|{$ans\\_1\\_1}\\|\\\\n\";     $ans\\_1 \\.= \"\\|\\*\\*トラブルは、どのくらいの確率で発生しますか？\\*\\*\\|\\\\n\";     $ans\\_1 \\.= \"\\|{$ans\\_1\\_2}\\|\\\\n\";     $ans\\_1 \\.= \"\\*\\*トラブルの内容を詳しく教えてください\\*\\*\\\\n\";     $ans\\_1 \\.= \"\\|{$ans\\_1\\_3}\\|\\\\n\\\\n\";               $ans\\_2 = \"\\|トラブルのあったPC＋Excel環境について\\|\\\\n\";     $ans\\_2 \\.= \"\\|\\-\\|\\\\n\";     $ans\\_2 \\.= \"\\|\\*\\*どのOSを使われていますか？\\*\\*\\|\\\\n\";     $ans\\_2 \\.= \"\\|{$ans\\_2\\_1}\\|\\\\n\";     $ans\\_2 \\.= \"\\|\\*\\*OSのバージョンを詳しく教えてください\\*\\*\\|\\\\n\";     $ans\\_2 \\.= \"\\|{$ans\\_2\\_2}\\|\\\\n\";     $ans\\_2 \\.= \"\\*\\*Excelのバージョンを詳しく教えてください\\*\\*\\\\n\";     $ans\\_2 \\.= \"\\|{$ans\\_2\\_3}\\|\\\\n\";     $ans\\_2 \\.= \"\\|\\*\\*(ExcelOnlineをご利用の場合)どのブラウザを使われていますか？\\*\\*\\|\\\\n\";     $ans\\_2 \\.= \"\\|{$ans\\_2\\_4}\\|\\\\n\";     $ans\\_2 \\.= \"\\*\\* (ExcelOnlineをご利用の場合)ブラウザのバージョンを詳しく教えてください\\*\\*\\\\n\";     $ans\\_2 \\.= \"\\|{$ans\\_2\\_5}\\|\\\\n\\\\n\";          $ans\\_3 = \"\\|編集されていたExcelファイルについて\\|\\\\n\";     $ans\\_3 \\.= \"\\|\\-\\|\\\\n\";     $ans\\_3 \\.= \"\\|\\*\\*Excelで操作されていたファイルは、どこに保存されていましたか？\\*\\*\\|\\\\n\";     $ans\\_3 \\.= \"\\|{$ans\\_3\\_1}\\|\\\\n\\\\n\";          $ans\\_4 = \"\\|その他申し送り事項\\|\\\\n\";     $ans\\_4 \\.= \"\\|\\-\\|\\\\n\";     $ans\\_4 \\.= \"\\|\\*\\*その他申し送り事項がございましたら、こちらに記述をお願いします。\\*\\*\\|\\\\n\";     $ans\\_4 \\.= \"\\|{$ans\\_4\\_1}\\|\\\\n\\\\n\";               $ans = $ans\\_1\\.$ans\\_2\\.$ans\\_3\\.$ans\\_4;                    // 画像の処理     $usr\\_imgs = $files;          /\\* 送信下準備から送信までの関数群 \\*/     //　送信データの作成     function prepare\\_for\\_post\\_imgs($img){                  // 設定項目         global $global\\_github\\_conf;         extract($global\\_github\\_conf);         $ret = [];              $img\\_org = file\\_get\\_contents($img);                  $img\\_base64 = base64\\_encode($img\\_org);              $img\\_json = json\\_encode(             array(                 \"message\"=\\>\"トラブル報告フォームからの画像添付\",                 \"content\"=\\>$img\\_base64         ),JSON\\_PRETTY\\_PRINT);         $img\\_name = make\\_img\\_name($img);                  $ret['core'] = array(             \"repo\" =\\> $repo\\.\"contents/{$imgDir}/\"\\.$img\\_name,             \"issue\" =\\> $img\\_json,             \"ua\" =\\> $gitUser,             \"token\"=\\> $token         );                  $ret['img\\_path'] = \"https\\://raw\\.githubusercontent\\.com/{$gitUser}/{$gitRepo}/{$branch}/{$imgDir}/\"\\.$img\\_name;                  return $ret;              }          //　ファイル名の作成     function make\\_img\\_name($img\\_tmp){         $mime = mime\\_content\\_type($img\\_tmp);         $mime = explode('/',$mime);         list($usec, $sec) = explode(' ', microtime());         return ($sec \\+ $usec \\* 1000000)\\.\"\\.\"\\.$mime[1];     }          //　画像送信ラッパー関数     function post\\_usr\\_imgs($img){              post\\_img2github($img['core']);              }     // 画像送信本体     function post\\_img2github(array $args) {         extract($args);         $header = [             'Content\\-Type\\: application/json',             'Authorization\\: token '\\.$token         ];         // RETURNTRANSFER exec時に結果出力を回避         $options = array(             CURLOPT\\_URL =\\> $repo,             CURLOPT\\_HTTPHEADER =\\> $header,             CURLOPT\\_CUSTOMREQUEST =\\> 'PUT',             CURLOPT\\_POSTFIELDS =\\> $issue,             CURLOPT\\_USERAGENT =\\> $ua,             CURLOPT\\_RETURNTRANSFER =\\> true         );         $ch = curl\\_init();         curl\\_setopt\\_array($ch, $options);         $res = curl\\_exec($ch);         curl\\_close($ch);         return $res;     }          function set\\_img\\_markdown($img){         $img\\_path = $img['img\\_path'];         return \"\\![]({$img\\_path})\";     }          $usr\\_imgs = array\\_map('prepare\\_for\\_post\\_imgs',$usr\\_imgs);     array\\_walk($usr\\_imgs,\"post\\_usr\\_imgs\");          // 画像のマークダウンを作成     $img\\_markdown = array\\_map('set\\_img\\_markdown',$usr\\_imgs);     $img\\_markdown = array\\_values($img\\_markdown);               // 画像のマークダウンを追加     for($i=0,$l=count($img\\_markdown);$i<$l;$i\\+\\+){                  $str = $img\\_markdown[$i];         $str = ($i\\!==($l\\-1))\\?$str\\.\"\\\\n\\\\n\"\\:$str;         $ans \\.= $str;              }               // タイトルの作成     $title\\_1\\_3 = str\\_replace(PHP\\_EOL, '', $post[\"ans\\_1\\_3\"]);     $title = $ans\\_1\\_1\\.\" \\: \"\\.mb\\_substr($title\\_1\\_3,0,60);               // 以下、テキストの整形と送信     $issue = json\\_encode(         array(             \"title\"=\\>$title,             \"body\"=\\>$ans         ),         JSON\\_PRETTY\\_PRINT);     $issueData = array(         \"repo\" =\\> $repo\\.\"issues\",         \"issue\" =\\> $issue,         \"ua\" =\\> $gitUser,         \"token\"=\\> $token     );               function post\\_git\\_issue(array $args) {         extract($args);         $header = [             'Content\\-Type\\: application/json',             'Authorization\\: token '\\.$token         ];         // RETURNTRANSFER exec時に結果出力を回避         $options = array(             CURLOPT\\_URL =\\> $repo,             CURLOPT\\_HTTPHEADER =\\> $header,             CURLOPT\\_POSTFIELDS =\\> $issue,             CURLOPT\\_USERAGENT =\\> $ua,             CURLOPT\\_RETURNTRANSFER =\\> true         );         $ch = curl\\_init();         curl\\_setopt\\_array($ch, $options);         $res = curl\\_exec($ch);         curl\\_close($ch);         return $res;     }          $res = post\\_git\\_issue($issueData);               return;         // file\\_get\\_contentsがもし使えない場合     function get\\_local\\_file\\_contents( $file\\_path ) {                  ob\\_start();         include $file\\_path;         $contents = ob\\_get\\_clean();         return $contents;     }      }); \\?\\>|\n**Excelのバージョンを詳しく教えてください**\n|Excel2013の32Bit版|\n|**(ExcelOnlineをご利用の場合)どのブラウザを使われていますか？**|\n|\\-\\-\\-(ExcelOnline以外)|\n** (ExcelOnlineをご利用の場合)ブラウザのバージョンを詳しく教えてください**\n||\n\n|編集されていたExcelファイルについて|\n|-|\n|**Excelで操作されていたファイルは、どこに保存されていましたか？**|\n|PC(内蔵ディスク)|\n\n|その他申し送り事項|\n|-|\n|**その他申し送り事項がございましたら、こちらに記述をお願いします。**|\n||\n\n"}}
{"actor":{"display_login":"kensukegoto"}}