public function getAutoCompleteWordsAjax(Request $request)
 {
     if (!$request->ajax()) {
         return response()->json(['response' => 'reject', 'msg' => 'request Not Allowed', 'searchWord' => $request->searchWord, 'language' => $request->languageName, 'Ajax' => $request->ajax(), 'Request' => $request->method()]);
     }
     $searchWord = $request->searchWord;
     $languageId = Language::where('id', '=', $request->languageId)->value('id');
     $Words = Word::where('language_id', '=', $languageId)->where('word', 'LIKE', $searchWord . '%')->orderBy('word', 'asc')->limit(10)->get();
     return $Words;
 }
 /**
  * Display a listing of the resource.
  * 
  * @return \Illuminate\Http\Response
  */
 public function index()
 {
     $data['mem_limit'] = ini_get('memory_limit');
     $data['english_words'] = Word::where('language_id', '1')->count();
     $data['danish_words'] = Word::where('language_id', '2')->count();
     $data['pashto_words'] = Word::where('language_id', '3')->count();
     $data['unique_users'] = User::count();
     $data['users'] = User::limit(4)->get();
     $data['words'] = Word::with(['language', 'user'])->limit(8)->orderBy('created_at', 'desc')->get();
     $used_mem = memory_get_peak_usage(false);
     $data['mem_using'] = round($used_mem / 1024 / 1024, 1) . 'M';
     return view('admin.dashboard', $data);
 }
예제 #3
0
 public function run()
 {
     $user = User::where('username', 'system')->first();
     $filename = "data/58000words.txt";
     $words_str = File::get($filename);
     if (env("COMPUTER") == "HOMEMAC") {
         $words = explode("\n", $words_str);
     } else {
         $words = explode("\r\n", $words_str);
     }
     foreach ($words as $word_str) {
         $word = Word::where('word', $word_str)->first();
         if (!$word) {
             $args = array('word' => $word_str, 'user_id' => $user->id);
             $word = Word::create($args);
         }
     }
 }
 /**
  * Show the form for editing the specified resource.
  *
  * @param  int  $id
  * @return \Illuminate\Http\Response
  */
 public function edit($id)
 {
     $language_id = Word::where('id', '=', $id)->value('language_id');
     $data['word'] = Word::where(['id' => $id, 'language_id' => $language_id])->with(['translations', 'language'])->first();
     $data['languages'] = Language::lists('name', 'id');
     return view('admin.word.edit', $data);
 }
예제 #5
0
 public function activate($user, $sure = false)
 {
     $missing_clues = array();
     $missing_clues_for_one_letter_words = array();
     $missing_letters = array();
     $words = array();
     $pt = $this->puzzle_template;
     $pt->blackSquares = $pt->blackSquares();
     $squares = $this->puzzle_squares(true);
     $clues = $this->clues;
     $ordinal = 1;
     for ($row = 1; $row <= $pt->height; $row++) {
         for ($col = 1; $col <= $pt->width; $col++) {
             if (!in_array($row . '-' . $col, $pt->blackSquares) && $squares[$row . '-' . $col]['square_type'] != 'black' && (!@$squares[$row . '-' . $col]['letter'] || $squares[$row . '-' . $col]['letter'] == "")) {
                 $missing_letters[] = $row . '-' . $col;
             }
             $square_should_have_across_clue = false;
             $square_should_have_down_clue = false;
             if ($col != $pt->width && $squares[$row . '-' . $col]['square_type'] != 'black' && ($col == 1 || $squares[$row . '-' . ($col - 1)]['square_type'] == 'black')) {
                 $square_should_have_across_clue = true;
             }
             if ($row != $pt->height && $squares[$row . '-' . $col]['square_type'] != 'black' && ($row == 1 || $squares[$row - 1 . '-' . $col]['square_type'] == 'black')) {
                 $square_should_have_down_clue = true;
             }
             if ($square_should_have_down_clue) {
                 $found_clue = false;
                 foreach ($clues as $clue) {
                     if ($clue->ordinal == $ordinal && $clue->direction == 'down') {
                         $found_clue = $clue;
                     }
                 }
                 if (!$found_clue) {
                     if ($row == $pt->height || $squares[$row + 1 . '-' . $col]['square_type'] == 'black') {
                         $missing_clues_for_one_letter_words[] = $ordinal . ' down';
                     } else {
                         $missing_clues[] = $ordinal . ' down';
                     }
                 }
                 //find word
                 $word = "";
                 for ($word_row = $row; $word_row <= $pt->height && $squares[$word_row . '-' . $col]['square_type'] != 'black'; $word_row++) {
                     $word .= $squares[$word_row . '-' . $col]['letter'];
                 }
                 $word_db = Word::where('word', $word)->first();
                 if (!$word_db) {
                     $word_db = new Word();
                     $word_db->word = $word;
                     $word_db->length = strlen($word);
                     $word_db->user_id = $user->id;
                     $word_db->timestamp_utc = time();
                     $word_db->save();
                     for ($i = 0; $i < strlen($word); $i++) {
                         $letter = new Letter();
                         $letter->letter = substr($word, $i, 1);
                         $letter->word_id = $word_db->id;
                         $letter->ordinal = $i + 1;
                         $letter->save();
                     }
                 }
                 if ($found_clue) {
                     $clue_available = ClueAvailable::where('word_id', $word_db->id)->where('clue', $found_clue->clue)->first();
                     if (!$clue_available) {
                         $clue_available = new ClueAvailable();
                         $clue_available->word_id = $word_db->id;
                         $clue_available->clue = $found_clue->clue;
                         $clue_available->timestamp_utc = time();
                         $clue_available->save();
                     }
                 }
             }
             if ($square_should_have_across_clue) {
                 $found_clue = false;
                 foreach ($clues as $clue) {
                     if ($clue->ordinal == $ordinal && $clue->direction == 'across') {
                         $found_clue = $clue;
                     }
                 }
                 if (!$found_clue) {
                     if ($col == $pt->width || $squares[$row . '-' . ($col + 1)]['square_type'] == 'black') {
                         $missing_clues_for_one_letter_words[] = $ordinal . ' across';
                     } else {
                         $missing_clues[] = $ordinal . ' across';
                     }
                 }
             }
             if ($square_should_have_across_clue || $square_should_have_down_clue) {
                 $ordinal++;
             }
         }
     }
     if (count($missing_clues) > 0 || count($missing_letters) > 0 || count($missing_clues_for_one_letter_words) > 0 && !$sure) {
         return array('errors' => compact('missing_clues', 'missing_letters', 'missing_clues_for_one_letter_words'));
     } else {
         $this->active = 1;
         $this->timestamp_utc = time();
         $this->save();
         return array('success' => 1);
     }
 }