public function Get_record_file_handle() { //<--this function helps to find and return clculating records data $csvStored_data = ""; $start_date = $this->get_date_period_start(); $end_date = $this->get_date_period_ends(); $month_start = $start_date[1] - 1; //<--special arrangement for yahoo finance data (0 -> january) $month_ends = $end_date[1] - 1; //<--special arrangement for yahoo finance data (0 -> january) $file = 'http://ichart.yahoo.com/table.csv?s=' . $this->company_symbol . '&a=' . $month_start . '&b=' . $start_date[2] . '&c=' . $start_date[0] . '&d=' . $month_ends . '&e=' . $end_date[2] . '&f=' . $end_date[0] . '&g=' . $this->interval . '&ignore=.csv'; $stored_data = CompanyData::get_last_updated_record($this->company_symbol); //<-- this function finds the data from database if ($stored_data) { if (date("Y-m-d", strtotime($stored_data->updated)) < date("Y-m-d", time()) || $stored_data->accuracy < $this->precision) { $csvStored_data = csv_to_array($file, ','); //<----exploring CSV file if (count($csvStored_data) > 4) { //<--checks for the genuinity $company_id = Company::find_company_id_company_symbol($this->company_symbol); $prediction = CompanyData::where('comp_id_fk', '=', $company_id)->delete(); $company = CompanyData::create(array('comp_id_fk' => $company_id, 'csvdata' => serialize($csvStored_data), 'updated' => date("Y-m-d H:i:s", time()), 'accuracy' => $this->precision)); } } else { $csvStored_data = unserialize($stored_data->csvdata); } $this->company_description = $stored_data->description; $this->company_address = $stored_data->address; } else { $company = new Company(); $company->company_name = trim($this->company_name); $this->company_description = get_Company_data($this->company_symbol, 'desci'); get_Company_logo($this->company_symbol); //<--fuction used to copy image $company->description = $this->company_description; $company->company_symbol = trim($this->company_symbol); $csvStored_data = csv_to_array($file, ','); //<----exploring CSV file if (count($csvStored_data) > 4) { //<--checks for the genuinity $company = Company::create(array('company_name' => trim($this->company_name), 'company_description' => get_Company_data($this->company_symbol, 'desci'), 'description' => $this->company_description, 'company_symbol' => trim($this->company_symbol))); if ($company) { if ($csvStored_data) { get_Company_logo($this->company_symbol); //<--fuction used to copy image } $CompanyData = CompanyData::create(array('comp_id_fk' => trim($company->id), 'csvdata' => serialize($csvStored_data), 'updated' => date("Y-m-d H:i:s", time()), 'accuracy' => $this->precision)); $predict_data = Prediction::create(array('comp_id_fk' => trim($company->id))); } } } return !empty($csvStored_data) ? $csvStored_data : false; }