public function run()
 {
     DB::table('syllabary_column_header')->truncate();
     SyllabaryColumnHeader::create(array('syllabary_id' => 1, 'ipa' => 'a', 'symbol_id' => 4, 'next_id' => 2, 'prev_id' => -1));
     SyllabaryColumnHeader::create(array('syllabary_id' => 1, 'ipa' => 'e', 'symbol_id' => 3, 'next_id' => 3, 'prev_id' => 1));
     SyllabaryColumnHeader::create(array('syllabary_id' => 1, 'ipa' => 'i', 'symbol_id' => 2, 'next_id' => 4, 'prev_id' => 2));
     SyllabaryColumnHeader::create(array('syllabary_id' => 1, 'ipa' => 'o', 'symbol_id' => 1, 'next_id' => 5, 'prev_id' => 3));
     SyllabaryColumnHeader::create(array('syllabary_id' => 1, 'ipa' => 'u', 'symbol_id' => 5, 'next_id' => -1, 'prev_id' => 4));
 }
 public function EditVowel($syllabaryId, $columnId, $vowel, $suppressUndo = false)
 {
     $column = SyllabaryColumnHeader::where('syllabary_id', '=', $syllabaryId)->where('id', '=', $columnId)->first();
     if ($column == NULL) {
         return response()->json(['success' => false]);
     }
     if ($vowel == "-") {
         $vowel = "";
     }
     $column->ipa = $vowel;
     $column->save();
     return response()->json(['success' => true]);
 }
 public function CreateSyllabary($name)
 {
     $syllabary = Syllabary::create(array('name' => $name));
     $symbol1 = Symbol::create(array('symbol_data' => '<?xml version="1.0"?><svg width="512" height="512" xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg"><circle id="svg_18" r="105.621967" cy="256" cx="256" stroke-width="5" stroke="#000000" fill="#000000"/></svg>'));
     $symbol2 = Symbol::create(array('symbol_data' => '<?xml version="1.0"?><svg width="512" height="512" xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg"><line x1="0" y1="50%" x2="100%" y2="50%" style="stroke:rgb(0,0,0);stroke-width:5"/></svg>'));
     $symbol3 = Symbol::create(array('symbol_data' => '<?xml version="1.0"?><svg width="512" height="512" xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg"><line x1="0" y1="0" x2="100%" y2="100%" style="stroke:rgb(0,0,0);stroke-width:5"/></svg>'));
     $symbol4 = Symbol::create(array('symbol_data' => '<?xml version="1.0"?><svg width="512" height="512" xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg"><line x1="100%" y1="0" x2="0" y2="100%" style="stroke:rgb(0,0,0);stroke-width:5"/></svg>'));
     $symbol5 = Symbol::create(array('symbol_data' => '<?xml version="1.0"?><svg width="512" height="512" xmlns="http://www.w3.org/2000/svg"><rect xmlns="http://www.w3.org/2000/svg" id="svg_1" height="168" width="392" y="156" x="54" stroke-linecap="null" stroke-linejoin="null" stroke-dasharray="null" stroke-width="null" fill="black"/></svg>'));
     $symbol6 = Symbol::create(array('symbol_data' => '<?xml version="1.0"?><svg width="512" height="512" xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg"><circle id="svg_18" r="105.621967" cy="256" cx="256" stroke-width="5" stroke="#000000" fill="#000000"/></svg>'));
     $symbol7 = Symbol::create(array('symbol_data' => '<?xml version="1.0"?><svg width="512" height="512" xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg"><line x1="0" y1="50%" x2="100%" y2="50%" style="stroke:rgb(0,0,0);stroke-width:5"/></svg>'));
     $symbol8 = Symbol::create(array('symbol_data' => '<?xml version="1.0"?><svg width="512" height="512" xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg"><line x1="0" y1="0" x2="100%" y2="100%" style="stroke:rgb(0,0,0);stroke-width:5"/></svg>'));
     $symbol9 = Symbol::create(array('symbol_data' => '<?xml version="1.0"?><svg width="512" height="512" xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg"><line x1="100%" y1="0" x2="0" y2="100%" style="stroke:rgb(0,0,0);stroke-width:5"/></svg>'));
     $symbol10 = Symbol::create(array('symbol_data' => '<?xml version="1.0"?><svg width="512" height="512" xmlns="http://www.w3.org/2000/svg"><rect xmlns="http://www.w3.org/2000/svg" id="svg_1" height="168" width="392" y="156" x="54" stroke-linecap="null" stroke-linejoin="null" stroke-dasharray="null" stroke-width="null" fill="black"/></svg>'));
     $column = SyllabaryColumnHeader::create(array('syllabary_id' => $syllabary->id, 'ipa' => 'a', 'symbol_id' => $symbol4->id, 'next_id' => -1, 'prev_id' => -1));
     $columnId = $column->id;
     $column->next_id = $columnId + 1;
     $column->save();
     SyllabaryColumnHeader::create(array('syllabary_id' => $syllabary->id, 'ipa' => 'e', 'symbol_id' => $symbol3->id, 'next_id' => $columnId + 2, 'prev_id' => $columnId));
     SyllabaryColumnHeader::create(array('syllabary_id' => $syllabary->id, 'ipa' => 'i', 'symbol_id' => $symbol2->id, 'next_id' => $columnId + 3, 'prev_id' => $columnId + 1));
     SyllabaryColumnHeader::create(array('syllabary_id' => $syllabary->id, 'ipa' => 'o', 'symbol_id' => $symbol1->id, 'next_id' => $columnId + 4, 'prev_id' => $columnId + 2));
     SyllabaryColumnHeader::create(array('syllabary_id' => $syllabary->id, 'ipa' => 'u', 'symbol_id' => $symbol5->id, 'next_id' => -1, 'prev_id' => $columnId + 3));
     $row = SyllabaryRowHeader::create(array('syllabary_id' => $syllabary->id, 'ipa' => 'b', 'symbol_id' => $symbol6->id, 'next_id' => -1, 'prev_id' => -1));
     $rowId = $row->id;
     $row->next_id = $rowId + 1;
     $row->save();
     SyllabaryRowHeader::create(array('syllabary_id' => $syllabary->id, 'ipa' => 'd', 'symbol_id' => $symbol7->id, 'next_id' => $rowId + 2, 'prev_id' => $rowId));
     SyllabaryRowHeader::create(array('syllabary_id' => $syllabary->id, 'ipa' => 'f', 'symbol_id' => $symbol8->id, 'next_id' => $rowId + 3, 'prev_id' => $rowId + 1));
     SyllabaryRowHeader::create(array('syllabary_id' => $syllabary->id, 'ipa' => 'g', 'symbol_id' => $symbol9->id, 'next_id' => $rowId + 4, 'prev_id' => $rowId + 2));
     SyllabaryRowHeader::create(array('syllabary_id' => $syllabary->id, 'ipa' => 'h', 'symbol_id' => $symbol10->id, 'next_id' => -1, 'prev_id' => $rowId + 3));
     return $syllabary;
 }
 public function UploadColumnHeaderSample($syllabaryId, $columnId)
 {
     $column = SyllabaryColumnHeader::where('syllabary_id', '=', $syllabaryId)->where('id', '=', $columnId)->first();
     if ($column == NULL) {
         return response()->json(['success' => false]);
     }
     $uploadStatus = $this->_UploadAudioSample();
     if ($uploadStatus['success'] == false) {
         if (isset($uploadStatus['empty_audio'])) {
             $column->audio_sample = NULL;
             $column->save();
         }
         return redirect()->back();
     }
     $column->audio_sample = $uploadStatus['file_path'];
     $column->save();
     return redirect()->back();
 }