public function webinfo() { set_time_limit(0); $this->load->library('My_Webmaster'); $return_data = array('status' => 0); $validation_obj = 'website_lead_info'; $leadprocess = $this->secure_data($this->input->post('leadprocess')); if ($leadprocess == 1) { $validation_obj = 'website_lead_process'; } if ($this->form_validation->run($validation_obj) == TRUE) { $mid = $this->secure_data($this->input->post('uid')); $user_data = getDbData('users', array('md5(id)' => $mid)); if ($user_data) { $url = strtolower(rtrim($this->secure_data($this->input->post('domain')), '/')); $langArr = $this->config->item('langArr'); $lang = $this->secure_data($this->input->post('lang')); if (!array_key_exists($lang, $langArr)) { $lang = 'en'; } $domain = addhttp($url); $ip = gethostbyname($url); $name = $this->secure_data($this->input->post('name')); $email = $this->secure_data($this->input->post('email')); $webmaster = new My_Webmaster(); $webmaster->leadActive($name, $email); $inserted_data = $webmaster->insert($domain, $ip, $lang, $user_data['id']); //$return_data['url'] = base_url().'web/index/'.md5($return_data['wid']); // Insert in lead table if ($leadprocess != 1) { $speed = ''; $pagespeed_data = json_decode($inserted_data['inserted_data']['ca_pagespeed']['data'], 1); if (array_key_exists('mobile', $pagespeed_data)) { $speed .= $pagespeed_data['mobile']['ruleGroups']['SPEED']['score']; $speed .= '|' . $pagespeed_data['mobile']['ruleGroups']['USABILITY']['score']; } if (array_key_exists('desktop', $pagespeed_data)) { $speed .= $speed !== '' ? '|' : ''; $speed .= $pagespeed_data['desktop']['ruleGroups']['SPEED']['score']; } $db_lead = array('agent_id' => $user_data['id'], 'web_id' => $inserted_data['wid'], 'name' => $name, 'email' => $email, 'domain' => $inserted_data['inserted_data']['ca_website']['domain'], 'language' => $lang, 'seo_score' => round($inserted_data['inserted_data']['ca_website']['score']), 'speed' => $speed, 'date' => date('Y-m-d H:i:s', time())); $this->common_model->insert($db_lead, "leads"); } $this->website = $inserted_data['inserted_data']['ca_website']; $this->domain = $this->website['domain']; $this->wid = $inserted_data['wid']; $this->thumbnail = WebsiteThumbnail::getUrl(array('{{Url}}' => $this->domain, '{{Size}}' => 'l')); $this->cloud = $inserted_data['inserted_data']['ca_cloud']; $this->content = $inserted_data['inserted_data']['ca_content']; $this->document = $inserted_data['inserted_data']['ca_document']; $this->isseter = $inserted_data['inserted_data']['ca_issetobject']; $this->links = $inserted_data['inserted_data']['ca_links']; $this->meta = $inserted_data['inserted_data']['ca_metatags']; $this->w3c = $inserted_data['inserted_data']['ca_w3c']; $this->misc = $inserted_data['inserted_data']['ca_misc']; $this->pageSpeed = $inserted_data['inserted_data']['ca_pagespeed']; $this->grader = $inserted_data['inserted_data']['sg_info']; $this->content['headings'] = @(array) json_decode($this->content['headings'], true); $this->links['links'] = @(array) json_decode($this->links['links'], true); $this->cloud['words'] = Utils::shuffle_assoc(@(array) json_decode($this->cloud['words'], true)); $this->cloud['matrix'] = @(array) json_decode($this->cloud['matrix'], true); $this->meta['ogproperties'] = @(array) json_decode($this->meta['ogproperties'], true); $this->content['deprecated'] = @(array) json_decode($this->content['deprecated'], true); if ($this->misc) { $this->misc['sitemap'] = @(array) json_decode($this->misc['sitemap'], true); $this->misc['analytics'] = @(array) json_decode($this->misc['analytics'], true); } if ($this->pageSpeed) { $pagespeed = $this->pageSpeed['data']; $this->pageSpeed = @json_decode($pagespeed, true); } $this->strtime = strtotime($this->website['modified']); $this->generated['A'] = date("A", $this->strtime); $this->generated['Y'] = date("Y", $this->strtime); $this->generated['M'] = date("M", $this->strtime); $this->generated['d'] = date("d", $this->strtime); $this->generated['H'] = date("H", $this->strtime); $this->generated['i'] = date("i", $this->strtime); $this->diff = time() - $this->strtime; $pdf_path = FCPATH . '/assets/uploads/pdf/'; $pdf_name = $this->cronoutputpdf($pdf_path, 'web/pdf', array('F')); $this->common_model->update_table(array('saved' => 1, 'pdf' => $pdf_name), array('id' => $this->wid), 'ca_website'); // Send email with attachment $attachment = $pdf_path . $pdf_name; $this->email_send('lead-user', array('to' => $email, 'subject' => 'Audit for ' . $this->domain, 'name' => $name, 'domain' => $this->domain, 'attachments' => array($attachment))); // TODO: Show summary - Done $html = $this->load->view('leads/summary', array('website' => $this->website, "pageSpeed" => $this->pageSpeed, "grader" => $this->grader, "wid" => $this->wid), TRUE); $return_data['html'] = $html; $return_data['thumbnail'] = $this->thumbnail; $return_data['id'] = $this->wid; $return_data['status'] = 1; $return_data['message'] = "we will send the results to you on email"; } else { $return_data['message'] = 'This agent is not exists.'; } } else { $return_data['message'] = validation_errors(); } echo json_encode($return_data); exit; }