HEX
Server: Apache/2.4.41 (Ubuntu)
System: Linux ip-172-31-42-149 5.15.0-1084-aws #91~20.04.1-Ubuntu SMP Fri May 2 07:00:04 UTC 2025 aarch64
User: ubuntu (1000)
PHP: 7.4.33
Disabled: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Upload Files
File: /var/www/vhost/disk-apps/agile-selling-wpb/app/Http/Controllers/ScrapResultController.php
<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use DB;
use Illuminate\Support\Facades\Auth;

class ScrapResultController extends Controller
{
   public function __construct(Request $request)
   {
       $this->middleware('auth');
    //    $this->middleware(function ($request, $next) {
    //        $this->user = Auth::user();
    //        if (Auth::user()->rol->id == 1 || Auth::user()->rol->id == 6) {
    //            $this->changeDbDefault($request);
    //        }
    //        return $next($request);
    //    });
   }
    public function scrapForWord(Request $request){
        $word = $request->word;
        $trunc = $request->trunc;

        if(!$word){
            return array('r' => false, 'm' => 'No se indico ninguna palabra');
        }

        // Native execution python script.
        exec('cd /var/www/vhosts/venv && python36/bin/scrapy runspider myspider.py -a word=' . $word . ' -a truncate=' . $trunc . ' -a user=' . env('DB_USERNAME_SCRAPER') . ' -a passw=' .env('DB_PASSWORD_SCRAPER') . ' -a host=' . env('DB_HOST_SCRAPER') . ' -a db=' . env('DB_DATABASE_SCRAPER'), $ret, $res);

        return array('r' => true, 'm' => 'success:' . env('DB_DATABASE_SCRAPER'));
    }

    public function getResult($word){
        $table = env('TABLE_SCRAPER');
        $r = DB::connection('scraper')->table($table)->where('word',$word)->get();

        $r = $this->utf8_recursively($r);

        return $r;
    }

    public static function utf8_recursively($dat)
   {
      if (is_string($dat)) {
         return utf8_encode($dat);
      } elseif (is_array($dat)) {
         $ret = [];
         foreach ($dat as $i => $d) $ret[ $i ] = self::utf8_recursively($d);

         return $ret;
      } elseif (is_object($dat)) {
         foreach ($dat as $i => $d) $dat->$i = self::utf8_recursively($d);

         return $dat;
      } else {
         return $dat;
      }
   }
}