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>");
|
|
}
|
|
|
|
}
|