示例#1
0
文件: Leads.php 项目: ArpanTanna/seo
 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;
 }