202 lines
		
	
	
		
			6.2 KiB
		
	
	
	
		
			PHP
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			202 lines
		
	
	
		
			6.2 KiB
		
	
	
	
		
			PHP
		
	
	
		
			Executable File
		
	
	
	
	
<?php defined('BASEPATH') OR exit('No direct script access allowed');
 | 
						|
/*
 | 
						|
 *  ==============================================================================
 | 
						|
 *  Author	: Mian Saleem
 | 
						|
 *  Email	: saleem@tecdiary.com
 | 
						|
 *  Web		: http://tecdiary.com
 | 
						|
 *  ==============================================================================
 | 
						|
 */
 | 
						|
 | 
						|
class Sma {
 | 
						|
 | 
						|
    public function __construct() {
 | 
						|
 | 
						|
    }
 | 
						|
 | 
						|
   // public function __get($var) {
 | 
						|
    //    return get_instance()->$var;
 | 
						|
   // }
 | 
						|
 | 
						|
    public function clear_tags($str) {
 | 
						|
        return htmlentities(
 | 
						|
            strip_tags($str,
 | 
						|
                '<span><div><a><br><p><b><i><u><img><blockquote><small><ul><ol><li><hr><big><pre><code><strong><em><table><tr><td><th><tbody><thead><tfoot><h3><h4><h5><h6>'
 | 
						|
            ),
 | 
						|
            ENT_QUOTES | ENT_XHTML | ENT_HTML5,
 | 
						|
            'UTF-8'
 | 
						|
        );
 | 
						|
    }
 | 
						|
 | 
						|
    public function decode_html($str) {
 | 
						|
        return html_entity_decode($str, ENT_QUOTES | ENT_XHTML | ENT_HTML5, 'UTF-8');
 | 
						|
    }
 | 
						|
 | 
						|
    public function unset_data($ud) {
 | 
						|
        if($this->session->userdata($ud)) {
 | 
						|
            $this->session->unset_userdata($ud);
 | 
						|
            return true;
 | 
						|
        }
 | 
						|
        return FALSE;
 | 
						|
    }
 | 
						|
 | 
						|
    public function hrsd($sdate) {
 | 
						|
        if ($sdate) {
 | 
						|
            return date($this->Settings->dateformat, strtotime($sdate));
 | 
						|
        }
 | 
						|
        return FASLE;
 | 
						|
    }
 | 
						|
 | 
						|
    public function hrld($ldate) {
 | 
						|
        if ($ldate) {
 | 
						|
            return date('d-m-Y'.' '.'H:i:s', strtotime($ldate));
 | 
						|
        }
 | 
						|
        return FALSE;
 | 
						|
    }
 | 
						|
 | 
						|
    public function log($type, $msg, $text = NULL) {
 | 
						|
        $this->load->library('logs');
 | 
						|
        $this->logs->set_date_format($this->Settings->dateformat.' '.$this->Settings->timeformat);
 | 
						|
        if($this->logs->write($type, $msg, $text)) {
 | 
						|
            return TRUE;
 | 
						|
        }
 | 
						|
        return FALSE;
 | 
						|
    }
 | 
						|
 | 
						|
    public function send_email($to, $subject, $message, $from = NULL, $from_name = NULL, $attachment = NULL, $cc = NULL, $bcc = NULL) {
 | 
						|
        $this->load->library('email');
 | 
						|
        $config['mailtype'] = "html";
 | 
						|
 | 
						|
        // $config['protocol'] = ''; // mail, sendmail or smtp
 | 
						|
        // $config['newline'] = "\r\n";
 | 
						|
        // $config['smtp_host'] = '';
 | 
						|
        // $config['smtp_user'] = '';
 | 
						|
        // $config['smtp_pass'] = '';
 | 
						|
        // $config['smtp_port'] = '';
 | 
						|
        // $config['mailpath'] = '';
 | 
						|
 | 
						|
        $this->email->initialize($config);
 | 
						|
 | 
						|
        if ($from && $from_name) {
 | 
						|
            $this->email->from($from, $from_name);
 | 
						|
        } elseif($from) {
 | 
						|
            $this->email->from($from, $this->Settings->site_name);
 | 
						|
        }else {
 | 
						|
            $this->email->from($this->Settings->default_email, $this->Settings->site_name);
 | 
						|
        }
 | 
						|
 | 
						|
        $this->email->to($to);
 | 
						|
        if ($cc) {
 | 
						|
            $this->email->cc($cc);
 | 
						|
        }
 | 
						|
        if ($bcc) {
 | 
						|
            $this->email->bcc($bcc);
 | 
						|
        }
 | 
						|
        $this->email->subject($subject);
 | 
						|
        $this->email->message($message);
 | 
						|
        if ($attachment) {
 | 
						|
            if(is_array($attachment)) {
 | 
						|
                $this->email->attach($attachment['file'], '', $attachment['name'], $attachment['mine']);
 | 
						|
            } else {
 | 
						|
                $this->email->attach($attachment);
 | 
						|
            }
 | 
						|
        }
 | 
						|
 | 
						|
        if ($this->email->send()) {
 | 
						|
            //echo $this->email->print_debugger(); die();
 | 
						|
            return TRUE;
 | 
						|
        } else {
 | 
						|
            //echo $this->email->print_debugger(); die();
 | 
						|
            return FALSE;
 | 
						|
        }
 | 
						|
    }
 | 
						|
 | 
						|
    public function print_arrays() {
 | 
						|
        $args = func_get_args();
 | 
						|
        echo "<pre>";
 | 
						|
        foreach($args as $arg){
 | 
						|
            print_r($arg);
 | 
						|
        }
 | 
						|
        echo "</pre>";
 | 
						|
        die();
 | 
						|
    }
 | 
						|
 | 
						|
    public function logged_in() {
 | 
						|
        return (bool) $this->session->userdata('identity');
 | 
						|
    }
 | 
						|
 | 
						|
    public function in_group($check_group, $id = false) {
 | 
						|
        $id || $id = $this->session->userdata('user_id');
 | 
						|
        $group = $this->settings_model->getUserGroup($id);
 | 
						|
        if($group && $group->name === $check_group) {
 | 
						|
            return TRUE;
 | 
						|
        }
 | 
						|
        return FALSE;
 | 
						|
    }
 | 
						|
 | 
						|
    private function _rglobRead($source, &$array = array())
 | 
						|
    {
 | 
						|
        if (!$source || trim($source) == "") {
 | 
						|
            $source = ".";
 | 
						|
        }
 | 
						|
        foreach ((array)glob($source . "/*/") as $key => $value) {
 | 
						|
            $this->_rglobRead(str_replace("//", "/", $value), $array);
 | 
						|
        }
 | 
						|
        $hidden_files = glob($source . ".*") AND $htaccess = preg_grep('/\.htaccess$/', $hidden_files);
 | 
						|
        $files = array_merge(glob($source . "*.*"), $htaccess);
 | 
						|
        foreach ($files as $key => $value) {
 | 
						|
            $array[] = str_replace("//", "/", $value);
 | 
						|
        }
 | 
						|
    }
 | 
						|
 | 
						|
    private function _zip($array, $part, $destination, $output_name = 'sma')
 | 
						|
    {
 | 
						|
        $zip = new ZipArchive;
 | 
						|
        @mkdir($destination, 0777, true);
 | 
						|
 | 
						|
        if ($zip->open(str_replace("//", "/", "{$destination}/{$output_name}" . ($part ? '_p' . $part : '') . ".zip"), ZipArchive::CREATE)) {
 | 
						|
            foreach ((array)$array as $key => $value) {
 | 
						|
                $zip->addFile($value, str_replace(array("../", "./"), NULL, $value));
 | 
						|
            }
 | 
						|
            $zip->close();
 | 
						|
        }
 | 
						|
    }
 | 
						|
 | 
						|
    public function zip($source = NULL, $destination = "./", $output_name = 'sma', $limit = 5000)
 | 
						|
    {
 | 
						|
        if (!$destination || trim($destination) == "") {
 | 
						|
            $destination = "./";
 | 
						|
        }
 | 
						|
 | 
						|
        $this->_rglobRead($source, $input);
 | 
						|
        $maxinput = count($input);
 | 
						|
        $splitinto = (($maxinput / $limit) > round($maxinput / $limit, 0)) ? round($maxinput / $limit, 0) + 1 : round($maxinput / $limit, 0);
 | 
						|
 | 
						|
        for ($i = 0; $i < $splitinto; $i++) {
 | 
						|
            $this->_zip(array_slice($input, ($i * $limit), $limit, true), $i, $destination, $output_name);
 | 
						|
        }
 | 
						|
 | 
						|
        unset($input);
 | 
						|
        return;
 | 
						|
    }
 | 
						|
 | 
						|
    public function unzip($source, $destination = './')
 | 
						|
    {
 | 
						|
 | 
						|
        // @chmod($destination, 0777);
 | 
						|
        $zip = new ZipArchive;
 | 
						|
        if ($zip->open(str_replace("//", "/", $source)) === true) {
 | 
						|
            $zip->extractTo($destination);
 | 
						|
            $zip->close();
 | 
						|
        }
 | 
						|
        // @chmod($destination,0755);
 | 
						|
 | 
						|
        return TRUE;
 | 
						|
    }
 | 
						|
 | 
						|
    public function dd()
 | 
						|
    {
 | 
						|
        die("<script type='text/javascript'>setTimeout(function(){ window.top.location.href = '" . (isset($_SERVER["HTTP_REFERER"]) ? $_SERVER["HTTP_REFERER"] : site_url('pos')) . "'; }, 10);</script>");
 | 
						|
    }
 | 
						|
	
 | 
						|
}
 |