403Webshell
Server IP : 104.21.17.213  /  Your IP : 216.73.217.141
Web Server : Apache
System : Linux hosting01.arsenalhost.com 4.18.0-425.13.1.lve.el8.x86_64 #1 SMP Mon Feb 27 15:23:24 EST 2023 x86_64
User : corbizre ( 1013)
PHP Version : 7.4.33
Disable Function : exec,passthru,shell_exec,system
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : ON  |  Pkexec : ON
Directory :  /home/corbizre/gotofindhomes.com3/components/Solr/Controllers/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /home/corbizre/gotofindhomes.com3/components/Solr/Controllers/IndexController.php
<?php

/**
 * Documentation
 * @author leonid
 * @category
 * @package
 * @subpackage
 * @copyright Copyright (c) 2005-2013 ITCrimea Ukraine Inc. (http://www.itcrimea.com)
 * @license
 */
class Solr_IndexController extends System_Controller_Base 
{

    /**
     * import houses data from mysql db to solr
     */
    public function indexAction() {
        
        if (!defined('REAL_ESTATE_CRON'))
            throw new Exception('Unable to run script directly from browser');
        
        // 2 days
        set_time_limit(2 * 60 * 60 * 24);
        
        $fp = fopen(Zend_Registry::get('AppFolder').'/logs/import-solr.log', 'w');
        
        fwrite($fp, 'Start Solr import ' . date('Y-m-d H:i:s') . "\r\n");

        $cfgSolr = System_Components::getComponentConfig('Solr');
        
        $objSolrData = new Solr_Data();
        
        $tblHouses = new RealEstate_House_Table();
        
        $select = $tblHouses->select();
        $select->where('ID > ?', $cfgSolr->import->start_id);
        $select->where('DateUpdated > ?', $cfgSolr->import->min_date);
        $select->order('ID ASC');
        
        $limit_start = 0;
        $limit_len = 50;

        $select->limit($limit_len, $limit_start);
        
        $listHouses = $tblHouses->fetchAll($select);

        $total_number = 0;
        $errors_number = 0;
        
        while ($listHouses->count() > 0) {

            foreach ($listHouses as $currHouse) {

                fwrite($fp, $currHouse->ID);
                
                try {
                    
                    $total_number++;
                    $objSolrData->import($currHouse);
                    
                    fwrite($fp, " 1\r\n");
                    
                } catch (Exception $e) {

                    $errors_number++;
                    fwrite($fp, " 0\r\n");
                    
                }
                                
            }

            $limit_start = $limit_start + $limit_len;

            $select->limit($limit_len, $limit_start);

            $listHouses = $tblHouses->fetchAll($select);

        }
        
        fwrite($fp, 'End Solr import ' . date('Y-m-d H:i:s') . "\r\n");
        
        fclose($fp);
        
        $this->view->total_number = $total_number;
        $this->view->errors_number = $errors_number;
        
    }
    
    public function runTasksAction() {

        if (!defined('REAL_ESTATE_CRON'))
            throw new Exception('Unable to run script directly from browser');
        
        set_time_limit(60 * 60 * 24); // 1 day
        
        $this->_helper->layout->disableLayout();
        $this->_helper->viewRenderer->setNoRender();
        
        $tblTasks = new Solr_Task_Table();
        $tblHouses = new RealEstate_House_Table();
        $objSolrData = new Solr_Data();
        
        $limit_start = 0;
        $limit_len = 50;
        $timestamp = time();
        $tblTasks->setInprogress($timestamp);
        
        while (true) {
            
            $listTasks = $tblTasks->getForProcess($timestamp, $limit_start, $limit_len);
            if (!$listTasks->count())
                break;
        
            foreach ($listTasks as $currTask) {
                try {
                    if ($currTask->ActionType == Solr_Task::ACTION_IMPORT_HOUSE) {
                        $objHouse = $tblHouses->find($currTask->AssignedObjectID)->current();
                        if (is_object($objHouse))
                            $objSolrData->import($objHouse);
                    } elseif ($currTask->ActionType == Solr_Task::ACTION_DELETE_HOUSE) {
                        $objSolrData->delete($currTask->AssignedObjectID);
                    } else {
                        throw new Zend_Exception('Unknown action type');
                    }
                    $currTask->Status = Solr_Task::STATUS_PROCESSED;
                } catch (Exception $e) {
                    $log = new Zend_Log(
                        new Zend_Log_Writer_Stream(
                            Zend_Registry::get('AppFolder') . '/logs/error-solr.log'
                        )
                    );
                    $log->emerg('Exception: ' . $e->getMessage() . "\n" . $e->getTraceAsString());
                    $currTask->Status = Solr_Task::STATUS_FAILED;
                }
                $currTask->ProcessedDate = date('Y-m-d H:i:s');
                $currTask->Attempts += 1;
                $currTask->ProcessMark = null;
                $currTask->save();
            }
            
            $limit_start += $limit_len;
        }
    }
    
    public function runDeltaImportAction() {
        $this->_helper->layout->disableLayout();
        $this->_helper->viewRenderer->setNoRender();
        $clsImportHandler = new Solr_Data_Import_Handler();
        $res = $clsImportHandler->sendHttpRequest();
        $log = new Zend_Log(
            new Zend_Log_Writer_Stream(
                Zend_Registry::get('AppFolder') . '/logs/error-solr.log'
            )
        );
        if (!is_array($res)) {
            $log->emerg('Solr import failed.' . (!empty($res) ? ' Response: ' . $res : ''));
        }
    }

}

Youez - 2016 - github.com/yon3zu
LinuXploit