update v1.0.7.1
This commit is contained in:
@@ -125,7 +125,7 @@ class TemplateController extends Controller
|
||||
*/
|
||||
public function listdirectories()
|
||||
{
|
||||
$path = '../resources/views/emails/';
|
||||
$path = \Config::get('view.paths')[0].'/emails/';
|
||||
$directories = scandir($path);
|
||||
$directory = str_replace('/', '-', $path);
|
||||
|
||||
|
22
public/lb-faveo/css/notification-style.css
vendored
Normal file
22
public/lb-faveo/css/notification-style.css
vendored
Normal file
@@ -0,0 +1,22 @@
|
||||
.textcontent{
|
||||
display: inline-block;
|
||||
padding-left: 5px;
|
||||
font-weight: 600;
|
||||
font-size: 14px;
|
||||
font-family: 'Source Sans Pro','Helvetica Neue',Helvetica,Arial,sans-serif;
|
||||
}
|
||||
.task{
|
||||
opacity: 0.4;
|
||||
}
|
||||
|
||||
.task h6{
|
||||
text-decoration: line-through;
|
||||
}
|
||||
|
||||
.marginzero{
|
||||
margin: 0px;
|
||||
}
|
||||
|
||||
.font700{
|
||||
font-weight: 700;
|
||||
}
|
BIN
public/lb-faveo/media/images/check_radio_sheet.png
Normal file
BIN
public/lb-faveo/media/images/check_radio_sheet.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 4.2 KiB |
@@ -57,6 +57,8 @@ return [
|
||||
'terms' => 'terms',
|
||||
'register' => 'Register',
|
||||
'i_already_have_a_membership' => 'I already have a membership',
|
||||
'see-profile1' => 'Click here to see ',
|
||||
'see-profile2' => 's profile',
|
||||
/*
|
||||
|--------------------------------------
|
||||
| Reset Password Page
|
||||
|
@@ -6,39 +6,37 @@ class="active"
|
||||
@stop
|
||||
@section('HeadInclude')
|
||||
<style>
|
||||
h1 {
|
||||
color: #f2f2f2;
|
||||
font-family: Arial;
|
||||
font-size: 14px;
|
||||
margin: 0 0 20px;
|
||||
padding: 0;
|
||||
text-align: center;
|
||||
}
|
||||
input[type="checkbox"]:not(old) {
|
||||
width : 28px;
|
||||
margin : 0;
|
||||
padding : 0;
|
||||
opacity : 0;
|
||||
}
|
||||
|
||||
input[type="checkbox"]:not(old) + label {
|
||||
color: #f2f2f2;
|
||||
font-family: Arial,sans-serif;
|
||||
font-size: 14px;
|
||||
}
|
||||
input[type="checkbox"]:not(old) + label span {
|
||||
background: rgba(0, 0, 0, 0) url("lb-faveo/media/images/check_radio_sheet.png") no-repeat scroll left top;
|
||||
cursor: pointer;
|
||||
display: inline-block;
|
||||
height: 19px;
|
||||
margin-left : -28px;
|
||||
|
||||
vertical-align: middle;
|
||||
width: 19px;
|
||||
}
|
||||
input[type="checkbox"]:checked + label span {
|
||||
background: rgba(0, 0, 0, 0) url("lb-faveo/media/images/check_radio_sheet.png") no-repeat scroll -19px top;
|
||||
}
|
||||
h1 {
|
||||
color: #f2f2f2;
|
||||
font-family: Arial;
|
||||
font-size: 14px;
|
||||
margin: 0 0 20px;
|
||||
padding: 0;
|
||||
text-align: center;
|
||||
}
|
||||
input[type="checkbox"]:not(old) {
|
||||
width : 28px;
|
||||
margin : 0;
|
||||
padding : 0;
|
||||
opacity : 0;
|
||||
}
|
||||
input[type="checkbox"]:not(old) + label {
|
||||
color: #f2f2f2;
|
||||
font-family: Arial,sans-serif;
|
||||
font-size: 14px;
|
||||
}
|
||||
input[type="checkbox"]:not(old) + label span {
|
||||
background: rgba(0, 0, 0, 0) url("lb-faveo/media/images/check_radio_sheet.png") no-repeat scroll left top;
|
||||
cursor: pointer;
|
||||
display: inline-block;
|
||||
height: 19px;
|
||||
margin-left : -28px;
|
||||
vertical-align: middle;
|
||||
width: 19px;
|
||||
}
|
||||
input[type="checkbox"]:checked + label span {
|
||||
background: rgba(0, 0, 0, 0) url("lb-faveo/media/images/check_radio_sheet.png") no-repeat scroll -19px top;
|
||||
}
|
||||
</style>
|
||||
@stop
|
||||
@section('user-bar')
|
||||
@@ -52,38 +50,34 @@ class="active"
|
||||
<!-- /breadcrumbs -->
|
||||
<!-- content -->
|
||||
@section('content')
|
||||
<section class="content">
|
||||
@if(Session::has('success'))
|
||||
<div class="alert alert-success alert-dismissable">
|
||||
<i class="fa fa-ban"></i>
|
||||
<b>Alert!</b> Success.
|
||||
<button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button>
|
||||
{{Session::get('success')}}
|
||||
</div>
|
||||
@endif
|
||||
<!-- fail message -->
|
||||
@if(Session::has('fails'))
|
||||
<div class="alert alert-danger alert-dismissable">
|
||||
<i class="fa fa-ban"></i>
|
||||
<b>Alert!</b> Failed.
|
||||
<button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button>
|
||||
{{Session::get('fails')}}
|
||||
</div>
|
||||
@endif
|
||||
<div class="alert alert-success alert-dismissable">
|
||||
<i class="fa fa-ban"></i>
|
||||
<b>Alert!</b> Success.
|
||||
<button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button>
|
||||
{{Session::get('success')}}
|
||||
</div>
|
||||
@endif
|
||||
<!-- fail message -->
|
||||
@if(Session::has('fails'))
|
||||
<div class="alert alert-danger alert-dismissable">
|
||||
<i class="fa fa-ban"></i>
|
||||
<b>Alert!</b> Failed.
|
||||
<button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button>
|
||||
{{Session::get('fails')}}
|
||||
</div>
|
||||
@endif
|
||||
<div id="alert21" class="alert alert-success alert-dismissable" style="display:none;">
|
||||
<button id="dismiss11" type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button>
|
||||
<button id="dismiss11" type="button" class="close" data-dismiss="alert" aria-hidden="true"><EFBFBD></button>
|
||||
<h4><i class="icon fa fa-check"></i>Alert!</h4>
|
||||
<div id="message-success2"></div>
|
||||
</div>
|
||||
<div class="row" >
|
||||
<div class="col-lg-10 col-lg-offset-1 col-md-10 col-md-offset-1">
|
||||
|
||||
<div class="box">
|
||||
<div class="box-header">
|
||||
<h3 class="box-title">Notification Page</h3>
|
||||
</div>
|
||||
<!-- /.box-header -->
|
||||
<div class="row">
|
||||
<div class="box">
|
||||
<div class="box-header">
|
||||
<h3 class="box-title">Notification Page</h3>
|
||||
</div>
|
||||
<!-- /.box-header -->
|
||||
<div class="row">
|
||||
<!-- Left col -->
|
||||
<section class="col-lg-12">
|
||||
<!-- Custom tabs (Charts with tabs)-->
|
||||
@@ -96,9 +90,7 @@ class="active"
|
||||
<!--
|
||||
<div class="box-header">
|
||||
<i class="ion ion-clipboard"></i>
|
||||
|
||||
<h3 class="box-title">Task</h3>
|
||||
|
||||
<div class="box-tools pull-right">
|
||||
<ul class="pagination pagination-sm inline">
|
||||
<li><a href="#">«</a>
|
||||
@@ -114,23 +106,23 @@ class="active"
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
-->
|
||||
-->
|
||||
<!-- /.box-header -->
|
||||
<div class="box-body">
|
||||
<ul class="todo-list">
|
||||
@if(count($notifications))
|
||||
@foreach($notifications as $notification)
|
||||
@if($notification->type == 'registration')
|
||||
@if(count($notifications))
|
||||
@foreach($notifications as $notification)
|
||||
@if($notification->type == 'registration')
|
||||
<li>
|
||||
<!-- drag handle -->
|
||||
|
||||
|
||||
<!-- checkbox -->
|
||||
<input type="checkbox" value="" name="cc" class="noti_User clickfun" id="{{$notification -> notification_id}}">
|
||||
<label for='cl' data-toggle="tooltip" data-placement="top" title="Mark Read"><span></span>
|
||||
<!-- todo text -->
|
||||
<h6 class="textcontent marginzero"><a href="{!! route('user.show', $notification->notification_id) !!}" id="{{$notification -> notification_id}}" class='noti_User'>{!! $notification->message !!}</a><small class="label label-danger"><i class="fa fa-clock-o"></i> {{ $notification -> created_at }}</small></h6>
|
||||
</label> <!-- Emphasis label -->
|
||||
|
||||
<!-- todo text -->
|
||||
<h6 class="textcontent marginzero"><a href="{!! route('user.show', $notification->notification_id) !!}" id="{{$notification -> notification_id}}" class='noti_User'>{!! $notification->message !!}</a></h6>
|
||||
<small class="label label-danger"><i class="fa fa-clock-o"></i> {{ $notification -> created_at }}</small></label> <!-- Emphasis label -->
|
||||
|
||||
<!-- General tools such as edit or delete-->
|
||||
<div class="tools">
|
||||
<a href="{!! route('user.show', $notification->notification_id) !!}" data-toggle="tooltip" data-placement="top" title="View" id="{{$notification -> notification_id}}" class='noti_User'><i class="fa fa-eye"></i></a>
|
||||
@@ -139,77 +131,73 @@ class="active"
|
||||
</li>
|
||||
@else
|
||||
<li>
|
||||
|
||||
|
||||
<input type="checkbox" value="" name="cc" data-toggle="tooltip" data-placement="top" title="Mark Read" class="noti_User clickfun" id="{{$notification -> notification_id}}">
|
||||
<label for='cl'><span></span>
|
||||
<h6 class="textcontent marginzero"><a href="{!! route('ticket.thread', $notification->notification_id) !!}" id='{{ $notification->notification_id }}' class='noti_User'>{!! $notification->message !!}</a><small class="label label-info"><i class="fa fa-clock-o"></i> {{ $notification -> created_at }}</small></h6>
|
||||
|
||||
<h6 class="textcontent marginzero"><a href="{!! route('ticket.thread', $notification->model_id) !!}" id='{{ $notification->notification_id }}' class='noti_User'>{!! $notification->message !!}</a></h6>
|
||||
<small class="label label-info"><i class="fa fa-clock-o"></i> {{ $notification -> created_at }}</small>
|
||||
</label><div class="tools">
|
||||
<a href="{!! route('ticket.thread', $notification->notification_id) !!}" id='{{ $notification->notification_id }}' data-toggle="tooltip" data-placement="top" title="View" class='noti_User'><i class="fa fa-eye"></i></a>
|
||||
<a href="#" id='{{ $notification->notification_id }}' data-toggle="tooltip" data-placement="top" title="Delete" class='notification-delete clickfun'><i class="fa fa-trash-o"></i></a>
|
||||
<a href="{!! route('ticket.thread', $notification->model_id) !!}" id='{{ $notification->notification_id }}' data-toggle="tooltip" data-placement="top" title="View" class='noti_User'><i class="fa fa-eye"></i></a>
|
||||
<a href="#" id='{{ $notification->notification_id }}' data-toggle="tooltip" data-placement="top" title="Delete" class='notification-delete clickfun'><i class="fa fa-trash-o"></i></a>
|
||||
</div>
|
||||
</li>
|
||||
@endif
|
||||
@endforeach
|
||||
|
||||
@else
|
||||
@endif
|
||||
@endforeach
|
||||
|
||||
@else
|
||||
<li>
|
||||
|
||||
<h6 class="textcontent marginzero">No Notifications Available!<small class="label label-warning" ><i class="fa fa-bell-slash-o"></i></small></h6>
|
||||
|
||||
|
||||
|
||||
<h6 class="textcontent marginzero">No Notifications Available!</h6>
|
||||
<small class="label label-warning" ><i class="fa fa-bell-slash-o"></i></small>
|
||||
|
||||
</li>
|
||||
@endif
|
||||
|
||||
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
<!-- /.box -->
|
||||
|
||||
|
||||
</section>
|
||||
</div>
|
||||
|
||||
<!-- /.box-body -->
|
||||
</div>
|
||||
<!-- /.box -->
|
||||
</div>
|
||||
<!-- /.row -->
|
||||
</div>
|
||||
</section>
|
||||
<script>
|
||||
$(document).ready(function() {
|
||||
$(".clickfun").click(function() {
|
||||
$(this).closest("li").toggleClass("task");
|
||||
});
|
||||
});
|
||||
</script>
|
||||
<script>
|
||||
$(document).ready(function () {
|
||||
|
||||
$('.notification-delete').click(function () {
|
||||
var id = this.id;
|
||||
var dataString = 'id=' + id;
|
||||
$.ajax
|
||||
({
|
||||
type: "POST",
|
||||
url: "{{url('notification-delete')}}" + "/" + id,
|
||||
data: dataString,
|
||||
cache: false,
|
||||
success: function (response)
|
||||
{
|
||||
if (response == 1)
|
||||
{
|
||||
|
||||
var message = "Success! You have deleted this notification successfully!";
|
||||
$("#alert21").show();
|
||||
$('#message-success2').html(message);
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
});
|
||||
</script>
|
||||
<!-- /.box-body -->
|
||||
</div>
|
||||
<!-- /.box -->
|
||||
|
||||
<script>
|
||||
$(document).ready(function() {
|
||||
$(".clickfun").click(function() {
|
||||
$(this).closest("li").toggleClass("task");
|
||||
});
|
||||
});
|
||||
</script>
|
||||
<script>
|
||||
$(document).ready(function() {
|
||||
|
||||
$('.notification-delete').click(function() {
|
||||
var id = this.id;
|
||||
var dataString = 'id=' + id;
|
||||
$.ajax
|
||||
({
|
||||
type: "POST",
|
||||
url: "{{url('notification-delete')}}" + "/" + id,
|
||||
data: dataString,
|
||||
cache: false,
|
||||
success: function(response)
|
||||
{
|
||||
if (response == 1)
|
||||
{
|
||||
|
||||
var message = "Success! You have deleted this notification successfully!";
|
||||
$("#alert21").show();
|
||||
$('#message-success2').html(message);
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
});
|
||||
</script>
|
||||
@stop
|
@@ -110,7 +110,7 @@ $dept = App\Model\helpdesk\Agent\Department::where('name','=',$id)->first();
|
||||
if(str.search("#000") == -1) {
|
||||
$("td", nRow).css({"background-color":"#F3F3F3", "font-weight":"600", "border-bottom":"solid 0.5px #ddd", "border-right":"solid 0.5px #F3F3F3"});
|
||||
$("td", nRow).mouseenter(function(){
|
||||
$("td", nRow).css({"background-color":"#DEDFE0", "font-weight":"600", "border":"none"});
|
||||
$("td", nRow).css({"background-color":"#DEDFE0", "font-weight":"600", "border-bottom":"solid 0.5px #ddd", "border-right":"solid 0.5px #DEDFE0"});
|
||||
});
|
||||
$("td", nRow).mouseleave(function(){
|
||||
$("td", nRow).css({"background-color":"#F3F3F3", "font-weight":"600", "border-bottom":"solid 0.5px #ddd","border-right":"solid 0.5px #F3F3F3"});
|
||||
@@ -118,7 +118,7 @@ $dept = App\Model\helpdesk\Agent\Department::where('name','=',$id)->first();
|
||||
} else {
|
||||
$("td", nRow).css({"background-color":"white", "border-bottom":"solid 0.5px #ddd", "border-right":"solid 0.5px white"});
|
||||
$("td", nRow).mouseenter(function(){
|
||||
$("td", nRow).css({"background-color":"#DEDFE0", "border":"none"});
|
||||
$("td", nRow).css({"background-color":"#DEDFE0", "border-bottom":"solid 0.5px #ddd", "border-right":"solid 0.5px #DEDFE0"});
|
||||
});
|
||||
$("td", nRow).mouseleave(function(){
|
||||
$("td", nRow).css({"background-color":"white", "border-bottom":"solid 0.5px #ddd", "border-right":"solid 0.5px white"});
|
||||
|
@@ -111,7 +111,7 @@ if (Auth::user()->role == 'agent') {
|
||||
if(str.search("#000") == -1) {
|
||||
$("td", nRow).css({"background-color":"#F3F3F3", "font-weight":"600", "border-bottom":"solid 0.5px #ddd", "border-right":"solid 0.5px #F3F3F3"});
|
||||
$("td", nRow).mouseenter(function(){
|
||||
$("td", nRow).css({"background-color":"#DEDFE0", "font-weight":"600", "border":"none"});
|
||||
$("td", nRow).css({"background-color":"#DEDFE0", "font-weight":"600", "border-bottom":"solid 0.5px #ddd", "border-right":"solid 0.5px #DEDFE0"});
|
||||
});
|
||||
$("td", nRow).mouseleave(function(){
|
||||
$("td", nRow).css({"background-color":"#F3F3F3", "font-weight":"600", "border-bottom":"solid 0.5px #ddd","border-right":"solid 0.5px #F3F3F3"});
|
||||
@@ -119,7 +119,7 @@ if (Auth::user()->role == 'agent') {
|
||||
} else {
|
||||
$("td", nRow).css({"background-color":"white", "border-bottom":"solid 0.5px #ddd", "border-right":"solid 0.5px white"});
|
||||
$("td", nRow).mouseenter(function(){
|
||||
$("td", nRow).css({"background-color":"#DEDFE0", "border":"none"});
|
||||
$("td", nRow).css({"background-color":"#DEDFE0", "border-bottom":"solid 0.5px #ddd", "border-right":"solid 0.5px #DEDFE0"});
|
||||
});
|
||||
$("td", nRow).mouseleave(function(){
|
||||
$("td", nRow).css({"background-color":"white", "border-bottom":"solid 0.5px #ddd", "border-right":"solid 0.5px white"});
|
||||
|
@@ -109,7 +109,7 @@ $dept = App\Model\helpdesk\Agent\Department::where('name','=',$id)->first();
|
||||
if(str.search("#000") == -1) {
|
||||
$("td", nRow).css({"background-color":"#F3F3F3", "font-weight":"600", "border-bottom":"solid 0.5px #ddd", "border-right":"solid 0.5px #F3F3F3"});
|
||||
$("td", nRow).mouseenter(function(){
|
||||
$("td", nRow).css({"background-color":"#DEDFE0", "font-weight":"600", "border":"none"});
|
||||
$("td", nRow).css({"background-color":"#DEDFE0", "font-weight":"600", "border-bottom":"solid 0.5px #ddd", "border-right":"solid 0.5px #DEDFE0"});
|
||||
});
|
||||
$("td", nRow).mouseleave(function(){
|
||||
$("td", nRow).css({"background-color":"#F3F3F3", "font-weight":"600", "border-bottom":"solid 0.5px #ddd","border-right":"solid 0.5px #F3F3F3"});
|
||||
@@ -117,7 +117,7 @@ $dept = App\Model\helpdesk\Agent\Department::where('name','=',$id)->first();
|
||||
} else {
|
||||
$("td", nRow).css({"background-color":"white", "border-bottom":"solid 0.5px #ddd", "border-right":"solid 0.5px white"});
|
||||
$("td", nRow).mouseenter(function(){
|
||||
$("td", nRow).css({"background-color":"#DEDFE0", "border":"none"});
|
||||
$("td", nRow).css({"background-color":"#DEDFE0", "border-bottom":"solid 0.5px #ddd", "border-right":"solid 0.5px #DEDFE0"});
|
||||
});
|
||||
$("td", nRow).mouseleave(function(){
|
||||
$("td", nRow).css({"background-color":"white", "border-bottom":"solid 0.5px #ddd", "border-right":"solid 0.5px white"});
|
||||
|
@@ -112,7 +112,7 @@ class="active"
|
||||
if(str.search("#000") == -1) {
|
||||
$("td", nRow).css({"background-color":"#F3F3F3", "font-weight":"600", "border-bottom":"solid 0.5px #ddd", "border-right":"solid 0.5px #F3F3F3"});
|
||||
$("td", nRow).mouseenter(function(){
|
||||
$("td", nRow).css({"background-color":"#DEDFE0", "font-weight":"600", "border":"none"});
|
||||
$("td", nRow).css({"background-color":"#DEDFE0", "font-weight":"600", "border-bottom":"solid 0.5px #ddd", "border-right":"solid 0.5px #DEDFE0"});
|
||||
});
|
||||
$("td", nRow).mouseleave(function(){
|
||||
$("td", nRow).css({"background-color":"#F3F3F3", "font-weight":"600", "border-bottom":"solid 0.5px #ddd","border-right":"solid 0.5px #F3F3F3"});
|
||||
@@ -120,7 +120,7 @@ class="active"
|
||||
} else {
|
||||
$("td", nRow).css({"background-color":"white", "border-bottom":"solid 0.5px #ddd", "border-right":"solid 0.5px white"});
|
||||
$("td", nRow).mouseenter(function(){
|
||||
$("td", nRow).css({"background-color":"#DEDFE0", "border":"none"});
|
||||
$("td", nRow).css({"background-color":"#DEDFE0", "border-bottom":"solid 0.5px #ddd", "border-right":"solid 0.5px #DEDFE0"});
|
||||
});
|
||||
$("td", nRow).mouseleave(function(){
|
||||
$("td", nRow).css({"background-color":"white", "border-bottom":"solid 0.5px #ddd", "border-right":"solid 0.5px white"});
|
||||
|
@@ -104,7 +104,7 @@ class="active"
|
||||
if(str.search("#000") == -1) {
|
||||
$("td", nRow).css({"background-color":"#F3F3F3", "font-weight":"600", "border-bottom":"solid 0.5px #ddd", "border-right":"solid 0.5px #F3F3F3"});
|
||||
$("td", nRow).mouseenter(function(){
|
||||
$("td", nRow).css({"background-color":"#DEDFE0", "font-weight":"600", "border":"none"});
|
||||
$("td", nRow).css({"background-color":"#DEDFE0", "font-weight":"600", "border-bottom":"solid 0.5px #ddd", "border-right":"solid 0.5px #DEDFE0"});
|
||||
});
|
||||
$("td", nRow).mouseleave(function(){
|
||||
$("td", nRow).css({"background-color":"#F3F3F3", "font-weight":"600", "border-bottom":"solid 0.5px #ddd","border-right":"solid 0.5px #F3F3F3"});
|
||||
@@ -112,7 +112,7 @@ class="active"
|
||||
} else {
|
||||
$("td", nRow).css({"background-color":"white", "border-bottom":"solid 0.5px #ddd", "border-right":"solid 0.5px white"});
|
||||
$("td", nRow).mouseenter(function(){
|
||||
$("td", nRow).css({"background-color":"#DEDFE0", "border":"none"});
|
||||
$("td", nRow).css({"background-color":"#DEDFE0", "border-bottom":"solid 0.5px #ddd", "border-right":"solid 0.5px #DEDFE0"});
|
||||
});
|
||||
$("td", nRow).mouseleave(function(){
|
||||
$("td", nRow).css({"background-color":"white", "border-bottom":"solid 0.5px #ddd", "border-right":"solid 0.5px white"});
|
||||
|
@@ -104,7 +104,7 @@ class="active"
|
||||
if(str.search("#000") == -1) {
|
||||
$("td", nRow).css({"background-color":"#F3F3F3", "font-weight":"600", "border-bottom":"solid 0.5px #ddd", "border-right":"solid 0.5px #F3F3F3"});
|
||||
$("td", nRow).mouseenter(function(){
|
||||
$("td", nRow).css({"background-color":"#DEDFE0", "font-weight":"600", "border":"none"});
|
||||
$("td", nRow).css({"background-color":"#DEDFE0", "font-weight":"600", "border-bottom":"solid 0.5px #ddd", "border-right":"solid 0.5px #DEDFE0"});
|
||||
});
|
||||
$("td", nRow).mouseleave(function(){
|
||||
$("td", nRow).css({"background-color":"#F3F3F3", "font-weight":"600", "border-bottom":"solid 0.5px #ddd","border-right":"solid 0.5px #F3F3F3"});
|
||||
@@ -112,7 +112,7 @@ class="active"
|
||||
} else {
|
||||
$("td", nRow).css({"background-color":"white", "border-bottom":"solid 0.5px #ddd", "border-right":"solid 0.5px white"});
|
||||
$("td", nRow).mouseenter(function(){
|
||||
$("td", nRow).css({"background-color":"#DEDFE0", "border":"none"});
|
||||
$("td", nRow).css({"background-color":"#DEDFE0", "border-bottom":"solid 0.5px #ddd", "border-right":"solid 0.5px #DEDFE0"});
|
||||
});
|
||||
$("td", nRow).mouseleave(function(){
|
||||
$("td", nRow).css({"background-color":"white", "border-bottom":"solid 0.5px #ddd", "border-right":"solid 0.5px white"});
|
||||
|
@@ -100,10 +100,10 @@ class="active"
|
||||
->setClass('table table-hover table-bordered table-striped')
|
||||
->setCallbacks("fnCreatedRow", 'function( nRow, aData, iDataIndex ) {
|
||||
var str = aData[3];
|
||||
if(str.search("#000") == -1) {
|
||||
if(str.search("#000") == -1) {
|
||||
$("td", nRow).css({"background-color":"#F3F3F3", "font-weight":"600", "border-bottom":"solid 0.5px #ddd", "border-right":"solid 0.5px #F3F3F3"});
|
||||
$("td", nRow).mouseenter(function(){
|
||||
$("td", nRow).css({"background-color":"#DEDFE0", "font-weight":"600", "border":"none"});
|
||||
$("td", nRow).css({"background-color":"#DEDFE0", "font-weight":"600", "border-bottom":"solid 0.5px #ddd", "border-right":"solid 0.5px #DEDFE0"});
|
||||
});
|
||||
$("td", nRow).mouseleave(function(){
|
||||
$("td", nRow).css({"background-color":"#F3F3F3", "font-weight":"600", "border-bottom":"solid 0.5px #ddd","border-right":"solid 0.5px #F3F3F3"});
|
||||
@@ -111,7 +111,7 @@ class="active"
|
||||
} else {
|
||||
$("td", nRow).css({"background-color":"white", "border-bottom":"solid 0.5px #ddd", "border-right":"solid 0.5px white"});
|
||||
$("td", nRow).mouseenter(function(){
|
||||
$("td", nRow).css({"background-color":"#DEDFE0", "border":"none"});
|
||||
$("td", nRow).css({"background-color":"#DEDFE0", "border-bottom":"solid 0.5px #ddd", "border-right":"solid 0.5px #DEDFE0"});
|
||||
});
|
||||
$("td", nRow).mouseleave(function(){
|
||||
$("td", nRow).css({"background-color":"white", "border-bottom":"solid 0.5px #ddd", "border-right":"solid 0.5px white"});
|
||||
|
@@ -104,7 +104,7 @@ class="active"
|
||||
if(str.search("#000") == -1) {
|
||||
$("td", nRow).css({"background-color":"#F3F3F3", "font-weight":"600", "border-bottom":"solid 0.5px #ddd", "border-right":"solid 0.5px #F3F3F3"});
|
||||
$("td", nRow).mouseenter(function(){
|
||||
$("td", nRow).css({"background-color":"#DEDFE0", "font-weight":"600", "border":"none"});
|
||||
$("td", nRow).css({"background-color":"#DEDFE0", "font-weight":"600", "border-bottom":"solid 0.5px #ddd", "border-right":"solid 0.5px #DEDFE0"});
|
||||
});
|
||||
$("td", nRow).mouseleave(function(){
|
||||
$("td", nRow).css({"background-color":"#F3F3F3", "font-weight":"600", "border-bottom":"solid 0.5px #ddd","border-right":"solid 0.5px #F3F3F3"});
|
||||
@@ -112,7 +112,7 @@ class="active"
|
||||
} else {
|
||||
$("td", nRow).css({"background-color":"white", "border-bottom":"solid 0.5px #ddd", "border-right":"solid 0.5px white"});
|
||||
$("td", nRow).mouseenter(function(){
|
||||
$("td", nRow).css({"background-color":"#DEDFE0", "border":"none"});
|
||||
$("td", nRow).css({"background-color":"#DEDFE0", "border-bottom":"solid 0.5px #ddd", "border-right":"solid 0.5px #DEDFE0"});
|
||||
});
|
||||
$("td", nRow).mouseleave(function(){
|
||||
$("td", nRow).css({"background-color":"white", "border-bottom":"solid 0.5px #ddd", "border-right":"solid 0.5px white"});
|
||||
|
@@ -109,7 +109,7 @@ class="active"
|
||||
if(str.search("#000") == -1) {
|
||||
$("td", nRow).css({"background-color":"#F3F3F3", "font-weight":"600", "border-bottom":"solid 0.5px #ddd", "border-right":"solid 0.5px #F3F3F3"});
|
||||
$("td", nRow).mouseenter(function(){
|
||||
$("td", nRow).css({"background-color":"#DEDFE0", "font-weight":"600", "border":"none"});
|
||||
$("td", nRow).css({"background-color":"#DEDFE0", "font-weight":"600", "border-bottom":"solid 0.5px #ddd", "border-right":"solid 0.5px #DEDFE0"});
|
||||
});
|
||||
$("td", nRow).mouseleave(function(){
|
||||
$("td", nRow).css({"background-color":"#F3F3F3", "font-weight":"600", "border-bottom":"solid 0.5px #ddd","border-right":"solid 0.5px #F3F3F3"});
|
||||
@@ -117,7 +117,7 @@ class="active"
|
||||
} else {
|
||||
$("td", nRow).css({"background-color":"white", "border-bottom":"solid 0.5px #ddd", "border-right":"solid 0.5px white"});
|
||||
$("td", nRow).mouseenter(function(){
|
||||
$("td", nRow).css({"background-color":"#DEDFE0", "border":"none"});
|
||||
$("td", nRow).css({"background-color":"#DEDFE0", "border-bottom":"solid 0.5px #ddd", "border-right":"solid 0.5px #DEDFE0"});
|
||||
});
|
||||
$("td", nRow).mouseleave(function(){
|
||||
$("td", nRow).css({"background-color":"white", "border-bottom":"solid 0.5px #ddd", "border-right":"solid 0.5px white"});
|
||||
|
@@ -125,7 +125,7 @@ if ($i == 0) {
|
||||
if(str.search("#000") == -1) {
|
||||
$("td", nRow).css({"background-color":"#F3F3F3", "font-weight":"600", "border-bottom":"solid 0.5px #ddd", "border-right":"solid 0.5px #F3F3F3"});
|
||||
$("td", nRow).mouseenter(function(){
|
||||
$("td", nRow).css({"background-color":"#DEDFE0", "font-weight":"600", "border":"none"});
|
||||
$("td", nRow).css({"background-color":"#DEDFE0", "font-weight":"600", "border-bottom":"solid 0.5px #ddd", "border-right":"solid 0.5px #DEDFE0"});
|
||||
});
|
||||
$("td", nRow).mouseleave(function(){
|
||||
$("td", nRow).css({"background-color":"#F3F3F3", "font-weight":"600", "border-bottom":"solid 0.5px #ddd","border-right":"solid 0.5px #F3F3F3"});
|
||||
@@ -133,7 +133,7 @@ if ($i == 0) {
|
||||
} else {
|
||||
$("td", nRow).css({"background-color":"white", "border-bottom":"solid 0.5px #ddd", "border-right":"solid 0.5px white"});
|
||||
$("td", nRow).mouseenter(function(){
|
||||
$("td", nRow).css({"background-color":"#DEDFE0", "border":"none"});
|
||||
$("td", nRow).css({"background-color":"#DEDFE0", "border-bottom":"solid 0.5px #ddd", "border-right":"solid 0.5px #DEDFE0"});
|
||||
});
|
||||
$("td", nRow).mouseleave(function(){
|
||||
$("td", nRow).css({"background-color":"white", "border-bottom":"solid 0.5px #ddd", "border-right":"solid 0.5px white"});
|
||||
|
@@ -107,7 +107,7 @@ class="active"
|
||||
if(str.search("#000") == -1) {
|
||||
$("td", nRow).css({"background-color":"#F3F3F3", "font-weight":"600", "border-bottom":"solid 0.5px #ddd", "border-right":"solid 0.5px #F3F3F3"});
|
||||
$("td", nRow).mouseenter(function(){
|
||||
$("td", nRow).css({"background-color":"#DEDFE0", "font-weight":"600", "border":"none"});
|
||||
$("td", nRow).css({"background-color":"#DEDFE0", "font-weight":"600", "border-bottom":"solid 0.5px #ddd", "border-right":"solid 0.5px #DEDFE0"});
|
||||
});
|
||||
$("td", nRow).mouseleave(function(){
|
||||
$("td", nRow).css({"background-color":"#F3F3F3", "font-weight":"600", "border-bottom":"solid 0.5px #ddd","border-right":"solid 0.5px #F3F3F3"});
|
||||
@@ -115,7 +115,7 @@ class="active"
|
||||
} else {
|
||||
$("td", nRow).css({"background-color":"white", "border-bottom":"solid 0.5px #ddd", "border-right":"solid 0.5px white"});
|
||||
$("td", nRow).mouseenter(function(){
|
||||
$("td", nRow).css({"background-color":"#DEDFE0", "border":"none"});
|
||||
$("td", nRow).css({"background-color":"#DEDFE0", "border-bottom":"solid 0.5px #ddd", "border-right":"solid 0.5px #DEDFE0"});
|
||||
});
|
||||
$("td", nRow).mouseleave(function(){
|
||||
$("td", nRow).css({"background-color":"white", "border-bottom":"solid 0.5px #ddd", "border-right":"solid 0.5px white"});
|
||||
|
@@ -109,7 +109,7 @@ class="active"
|
||||
if(str.search("#000") == -1) {
|
||||
$("td", nRow).css({"background-color":"#F3F3F3", "font-weight":"600", "border-bottom":"solid 0.5px #ddd", "border-right":"solid 0.5px #F3F3F3"});
|
||||
$("td", nRow).mouseenter(function(){
|
||||
$("td", nRow).css({"background-color":"#DEDFE0", "font-weight":"600", "border":"none"});
|
||||
$("td", nRow).css({"background-color":"#DEDFE0", "font-weight":"600", "border-bottom":"solid 0.5px #ddd", "border-right":"solid 0.5px #DEDFE0"});
|
||||
});
|
||||
$("td", nRow).mouseleave(function(){
|
||||
$("td", nRow).css({"background-color":"#F3F3F3", "font-weight":"600", "border-bottom":"solid 0.5px #ddd","border-right":"solid 0.5px #F3F3F3"});
|
||||
@@ -117,7 +117,7 @@ class="active"
|
||||
} else {
|
||||
$("td", nRow).css({"background-color":"white", "border-bottom":"solid 0.5px #ddd", "border-right":"solid 0.5px white"});
|
||||
$("td", nRow).mouseenter(function(){
|
||||
$("td", nRow).css({"background-color":"#DEDFE0", "border":"none"});
|
||||
$("td", nRow).css({"background-color":"#DEDFE0", "border-bottom":"solid 0.5px #ddd", "border-right":"solid 0.5px #DEDFE0"});
|
||||
});
|
||||
$("td", nRow).mouseleave(function(){
|
||||
$("td", nRow).css({"background-color":"white", "border-bottom":"solid 0.5px #ddd", "border-right":"solid 0.5px white"});
|
||||
|
@@ -30,6 +30,7 @@
|
||||
<link type="text/css" href="{{asset("lb-faveo/plugins/datatables/dataTables.bootstrap.css")}}" rel="stylesheet">
|
||||
<link href="{{asset("lb-faveo/plugins/bootstrap-wysihtml5/bootstrap3-wysihtml5.min.css")}}" rel="stylesheet" type="text/css" />
|
||||
<link rel="stylesheet" type="text/css" href="{{asset("lb-faveo/css/faveo-css.css")}}">
|
||||
<link rel="stylesheet" type="text/css" href="{{asset("lb-faveo/css/notification-style.css")}}">
|
||||
|
||||
<link href="{{asset("lb-faveo/css/jquery.rating.css")}}" rel="stylesheet" type="text/css" />
|
||||
|
||||
@@ -205,7 +206,7 @@ $tickets = App\Model\helpdesk\Ticket\Tickets::where('status','1')->where('dept_i
|
||||
$deleted = App\Model\helpdesk\Ticket\Tickets::where('status', '5')->where('dept_id','=',Auth::user())->get();
|
||||
}
|
||||
if (Auth::user()->role == 'agent') {
|
||||
$dept = Department::where('id', '=', Auth::user()->primary_dpt)->first();
|
||||
$dept = App\Model\helpdesk\Agent\Department::where('id', '=', Auth::user()->primary_dpt)->first();
|
||||
$overdues = App\Model\helpdesk\Ticket\Tickets::where('status', '=', 1)->where('isanswered', '=', 0)->where('dept_id', '=', $dept->id)->orderBy('id', 'DESC')->get();
|
||||
} else {
|
||||
$overdues = App\Model\helpdesk\Ticket\Tickets::where('status', '=', 1)->where('isanswered', '=', 0)->orderBy('id', 'DESC')->get();
|
||||
@@ -400,7 +401,34 @@ $group = App\Model\helpdesk\Agent\Groups::where('id', '=', $agent_group)->where(
|
||||
|
||||
<script src="{{asset("lb-faveo/plugins/select2/select2.full.min.js")}}" ></script>
|
||||
<script src="{{asset("lb-faveo/plugins/moment/moment.js")}}" ></script>
|
||||
<script>
|
||||
function myFunction() {
|
||||
|
||||
document.getElementById("count").innerHTML = "0";
|
||||
|
||||
}
|
||||
</script>
|
||||
<script>
|
||||
$(document).ready(function () {
|
||||
|
||||
$('.noti_User').click(function () {
|
||||
var id = this.id;
|
||||
var dataString = 'id=' + id;
|
||||
$.ajax
|
||||
({
|
||||
type: "POST",
|
||||
url: "{{url('mark-read')}}" + "/" + id,
|
||||
data: dataString,
|
||||
cache: false,
|
||||
success: function (html)
|
||||
{
|
||||
//$(".city").html(html);
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
});
|
||||
</script>
|
||||
<script>
|
||||
$(function() {
|
||||
// Enable iCheck plugin for checkboxes
|
||||
|
64
vendor/php-imap/php-imap/src/PhpImap/Mailbox.php
vendored
64
vendor/php-imap/php-imap/src/PhpImap/Mailbox.php
vendored
@@ -1,13 +1,10 @@
|
||||
<?php namespace PhpImap;
|
||||
|
||||
use stdClass;
|
||||
|
||||
/**
|
||||
* @see https://github.com/barbushin/php-imap
|
||||
* @author Barbushin Sergey http://linkedin.com/in/barbushin
|
||||
*/
|
||||
class Mailbox {
|
||||
|
||||
protected $imapPath;
|
||||
protected $imapLogin;
|
||||
protected $imapPassword;
|
||||
@@ -16,7 +13,6 @@ class Mailbox {
|
||||
protected $imapParams = array();
|
||||
protected $serverEncoding;
|
||||
protected $attachmentsDir;
|
||||
|
||||
public function __construct($imapPath, $login, $password, $attachmentsDir = null, $serverEncoding = 'UTF-8') {
|
||||
$this->imapPath = $imapPath;
|
||||
$this->imapLogin = $login;
|
||||
@@ -29,7 +25,6 @@ class Mailbox {
|
||||
$this->attachmentsDir = rtrim(realpath($attachmentsDir), '\\/');
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Set custom connection arguments of imap_open method. See http://php.net/imap_open
|
||||
* @param int $options
|
||||
@@ -41,7 +36,6 @@ class Mailbox {
|
||||
$this->imapRetriesNum = $retriesNum;
|
||||
$this->imapParams = $params;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get IMAP mailbox connection stream
|
||||
* @param bool $forceConnection Initialize connection if it's not initialized
|
||||
@@ -60,7 +54,6 @@ class Mailbox {
|
||||
}
|
||||
return $imapStream;
|
||||
}
|
||||
|
||||
protected function initImapStream() {
|
||||
$imapStream = @imap_open($this->imapPath, $this->imapLogin, $this->imapPassword, $this->imapOptions, $this->imapRetriesNum, $this->imapParams);
|
||||
if(!$imapStream) {
|
||||
@@ -68,14 +61,12 @@ class Mailbox {
|
||||
}
|
||||
return $imapStream;
|
||||
}
|
||||
|
||||
protected function disconnect() {
|
||||
$imapStream = $this->getImapStream(false);
|
||||
if($imapStream && is_resource($imapStream)) {
|
||||
imap_close($imapStream, CL_EXPUNGE);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Get information about the current mailbox.
|
||||
*
|
||||
@@ -91,17 +82,14 @@ class Mailbox {
|
||||
public function checkMailbox() {
|
||||
return imap_check($this->getImapStream());
|
||||
}
|
||||
|
||||
/**
|
||||
* Creates a new mailbox specified by mailbox.
|
||||
*
|
||||
* @return bool
|
||||
*/
|
||||
|
||||
public function createMailbox() {
|
||||
return imap_createmailbox($this->getImapStream(), imap_utf7_encode($this->imapPath));
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets status information about the given mailbox.
|
||||
*
|
||||
@@ -110,12 +98,9 @@ class Mailbox {
|
||||
*
|
||||
* @return stdClass if the box doesn't exist
|
||||
*/
|
||||
|
||||
public function statusMailbox() {
|
||||
return imap_status($this->getImapStream(), $this->imapPath, SA_ALL);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Gets listing the folders
|
||||
*
|
||||
@@ -124,7 +109,6 @@ class Mailbox {
|
||||
*
|
||||
* @return array listing the folders
|
||||
*/
|
||||
|
||||
public function getListingFolders() {
|
||||
$folders = imap_list($this->getImapStream(), $this->imapPath, "*");
|
||||
foreach ($folders as $key => $folder)
|
||||
@@ -134,8 +118,6 @@ class Mailbox {
|
||||
}
|
||||
return $folders;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* This function performs a search on the mailbox currently opened in the given IMAP stream.
|
||||
* For example, to match all unanswered mails sent by Mom, you'd use: "UNANSWERED FROM mom".
|
||||
@@ -174,7 +156,6 @@ class Mailbox {
|
||||
$mailsIds = imap_search($this->getImapStream(), $criteria, SE_UID, $this->serverEncoding);
|
||||
return $mailsIds ? $mailsIds : array();
|
||||
}
|
||||
|
||||
/**
|
||||
* Save mail body.
|
||||
* @return bool
|
||||
@@ -182,7 +163,6 @@ class Mailbox {
|
||||
public function saveMail($mailId, $filename = 'email.eml') {
|
||||
return imap_savebody($this->getImapStream(), $filename, $mailId, "", FT_UID);
|
||||
}
|
||||
|
||||
/**
|
||||
* Marks mails listed in mailId for deletion.
|
||||
* @return bool
|
||||
@@ -190,11 +170,9 @@ class Mailbox {
|
||||
public function deleteMail($mailId) {
|
||||
return imap_delete($this->getImapStream(), $mailId, FT_UID);
|
||||
}
|
||||
|
||||
public function moveMail($mailId, $mailBox) {
|
||||
return imap_mail_move($this->getImapStream(), $mailId, $mailBox, CP_UID) && $this->expungeDeletedMails();
|
||||
}
|
||||
|
||||
/**
|
||||
* Deletes all the mails marked for deletion by imap_delete(), imap_mail_move(), or imap_setflag_full().
|
||||
* @return bool
|
||||
@@ -202,7 +180,6 @@ class Mailbox {
|
||||
public function expungeDeletedMails() {
|
||||
return imap_expunge($this->getImapStream());
|
||||
}
|
||||
|
||||
/**
|
||||
* Add the flag \Seen to a mail.
|
||||
* @return bool
|
||||
@@ -210,7 +187,6 @@ class Mailbox {
|
||||
public function markMailAsRead($mailId) {
|
||||
return $this->setFlag(array($mailId), '\\Seen');
|
||||
}
|
||||
|
||||
/**
|
||||
* Remove the flag \Seen from a mail.
|
||||
* @return bool
|
||||
@@ -218,7 +194,6 @@ class Mailbox {
|
||||
public function markMailAsUnread($mailId) {
|
||||
return $this->clearFlag(array($mailId), '\\Seen');
|
||||
}
|
||||
|
||||
/**
|
||||
* Add the flag \Flagged to a mail.
|
||||
* @return bool
|
||||
@@ -226,7 +201,6 @@ class Mailbox {
|
||||
public function markMailAsImportant($mailId) {
|
||||
return $this->setFlag(array($mailId), '\\Flagged');
|
||||
}
|
||||
|
||||
/**
|
||||
* Add the flag \Seen to a mails.
|
||||
* @return bool
|
||||
@@ -234,7 +208,6 @@ class Mailbox {
|
||||
public function markMailsAsRead(array $mailId) {
|
||||
return $this->setFlag($mailId, '\\Seen');
|
||||
}
|
||||
|
||||
/**
|
||||
* Remove the flag \Seen from some mails.
|
||||
* @return bool
|
||||
@@ -242,7 +215,6 @@ class Mailbox {
|
||||
public function markMailsAsUnread(array $mailId) {
|
||||
return $this->clearFlag($mailId, '\\Seen');
|
||||
}
|
||||
|
||||
/**
|
||||
* Add the flag \Flagged to some mails.
|
||||
* @return bool
|
||||
@@ -250,7 +222,6 @@ class Mailbox {
|
||||
public function markMailsAsImportant(array $mailId) {
|
||||
return $this->setFlag($mailId, '\\Flagged');
|
||||
}
|
||||
|
||||
/**
|
||||
* Causes a store to add the specified flag to the flags set for the mails in the specified sequence.
|
||||
*
|
||||
@@ -261,7 +232,6 @@ class Mailbox {
|
||||
public function setFlag(array $mailsIds, $flag) {
|
||||
return imap_setflag_full($this->getImapStream(), implode(',', $mailsIds), $flag, ST_UID);
|
||||
}
|
||||
|
||||
/**
|
||||
* Cause a store to delete the specified flag to the flags set for the mails in the specified sequence.
|
||||
*
|
||||
@@ -272,7 +242,6 @@ class Mailbox {
|
||||
public function clearFlag(array $mailsIds, $flag) {
|
||||
return imap_clearflag_full($this->getImapStream(), implode(',', $mailsIds), $flag, ST_UID);
|
||||
}
|
||||
|
||||
/**
|
||||
* Fetch mail headers for listed mails ids
|
||||
*
|
||||
@@ -316,7 +285,6 @@ class Mailbox {
|
||||
}
|
||||
return $mails;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get information about the current mailbox.
|
||||
*
|
||||
@@ -332,11 +300,9 @@ class Mailbox {
|
||||
*
|
||||
* @return object Object with info | FALSE on failure
|
||||
*/
|
||||
|
||||
public function getMailboxInfo() {
|
||||
return imap_mailboxmsginfo($this->getImapStream());
|
||||
}
|
||||
|
||||
public function get_overview($mailId) {
|
||||
$overview = imap_fetch_overview($this->getImapStream(), $mailId, FT_UID);
|
||||
return $overview;
|
||||
@@ -346,8 +312,6 @@ class Mailbox {
|
||||
$body = imap_body($this->getImapStream(), $mailId, 1.1);
|
||||
return $body;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Gets mails ids sorted by some criteria
|
||||
*
|
||||
@@ -367,7 +331,6 @@ class Mailbox {
|
||||
public function sortMails($criteria = SORTARRIVAL, $reverse = true) {
|
||||
return imap_sort($this->getImapStream(), $criteria, $reverse, SE_UID);
|
||||
}
|
||||
|
||||
/**
|
||||
* Get mails count in mail box
|
||||
* @return int
|
||||
@@ -375,7 +338,6 @@ class Mailbox {
|
||||
public function countMails() {
|
||||
return imap_num_msg($this->getImapStream());
|
||||
}
|
||||
|
||||
/**
|
||||
* Retrieve the quota settings per user
|
||||
* @return array - FALSE in the case of call failure
|
||||
@@ -383,7 +345,6 @@ class Mailbox {
|
||||
protected function getQuota() {
|
||||
return imap_get_quotaroot($this->getImapStream(), 'INBOX');
|
||||
}
|
||||
|
||||
/**
|
||||
* Return quota limit in KB
|
||||
* @return int - FALSE in the case of call failure
|
||||
@@ -395,7 +356,6 @@ class Mailbox {
|
||||
}
|
||||
return $quota;
|
||||
}
|
||||
|
||||
/**
|
||||
* Return quota usage in KB
|
||||
* @return int - FALSE in the case of call failure
|
||||
@@ -407,7 +367,6 @@ class Mailbox {
|
||||
}
|
||||
return $quota;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get mail data
|
||||
*
|
||||
@@ -417,14 +376,12 @@ class Mailbox {
|
||||
*/
|
||||
public function getMail($mailId, $markAsSeen = true) {
|
||||
$head = imap_rfc822_parse_headers(imap_fetchheader($this->getImapStream(), $mailId, FT_UID));
|
||||
|
||||
$mail = new IncomingMail();
|
||||
$mail->id = $mailId;
|
||||
$mail->date = date('Y-m-d H:i:s', isset($head->date) ? strtotime(preg_replace('/\(.*?\)/', '', $head->date)) : time());
|
||||
$mail->subject = isset($head->subject) ? $this->decodeMimeStr($head->subject, $this->serverEncoding) : null;
|
||||
$mail->fromName = isset($head->from[0]->personal) ? $this->decodeMimeStr($head->from[0]->personal, $this->serverEncoding) : null;
|
||||
$mail->fromAddress = strtolower($head->from[0]->mailbox . '@' . $head->from[0]->host);
|
||||
|
||||
if(isset($head->to)) {
|
||||
$toStrings = array();
|
||||
// dd($mail);
|
||||
@@ -438,21 +395,17 @@ class Mailbox {
|
||||
}
|
||||
$mail->toString = implode(', ', $toStrings);
|
||||
}
|
||||
|
||||
if(isset($head->cc)) {
|
||||
foreach($head->cc as $cc) {
|
||||
$mail->cc[strtolower($cc->mailbox . '@' . $cc->host)] = isset($cc->personal) ? $this->decodeMimeStr($cc->personal, $this->serverEncoding) : null;
|
||||
}
|
||||
}
|
||||
|
||||
if(isset($head->reply_to)) {
|
||||
foreach($head->reply_to as $replyTo) {
|
||||
$mail->replyTo[strtolower($replyTo->mailbox . '@' . $replyTo->host)] = isset($replyTo->personal) ? $this->decodeMimeStr($replyTo->personal, $this->serverEncoding) : null;
|
||||
}
|
||||
}
|
||||
|
||||
$mailStructure = imap_fetchstructure($this->getImapStream(), $mailId, FT_UID);
|
||||
|
||||
if(empty($mailStructure->parts)) {
|
||||
$this->initMailPart($mail, $mailStructure, 0, $markAsSeen);
|
||||
}
|
||||
@@ -461,17 +414,14 @@ class Mailbox {
|
||||
$this->initMailPart($mail, $partStructure, $partNum + 1, $markAsSeen);
|
||||
}
|
||||
}
|
||||
|
||||
return $mail;
|
||||
}
|
||||
|
||||
protected function initMailPart(IncomingMail $mail, $partStructure, $partNum, $markAsSeen = true) {
|
||||
$options = FT_UID;
|
||||
if(!$markAsSeen) {
|
||||
$options |= FT_PEEK;
|
||||
}
|
||||
$data = $partNum ? imap_fetchbody($this->getImapStream(), $mail->id, $partNum, $options) : imap_body($this->getImapStream(), $mail->id, $options);
|
||||
|
||||
if($partStructure->encoding == 1) {
|
||||
$data = imap_utf8($data);
|
||||
}
|
||||
@@ -484,7 +434,6 @@ class Mailbox {
|
||||
elseif($partStructure->encoding == 4) {
|
||||
$data = quoted_printable_decode($data);
|
||||
}
|
||||
|
||||
$params = array();
|
||||
if(!empty($partStructure->parameters)) {
|
||||
foreach($partStructure->parameters as $param) {
|
||||
@@ -502,12 +451,10 @@ class Mailbox {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// attachments
|
||||
$attachmentId = $partStructure->ifid
|
||||
? trim($partStructure->id, " <>")
|
||||
: (isset($params['filename']) || isset($params['name']) ? mt_rand() . mt_rand() : null);
|
||||
|
||||
if($attachmentId) {
|
||||
if(empty($params['filename']) && empty($params['name'])) {
|
||||
$fileName = $attachmentId . '.' . strtolower($partStructure->subtype);
|
||||
@@ -523,7 +470,7 @@ class Mailbox {
|
||||
if($this->attachmentsDir) {
|
||||
$replace = array(
|
||||
'/\s/' => '_',
|
||||
'/[^0-9a-zа-<2D>?іїє_\.]/iu' => '',
|
||||
'/[^0-9a-z?-????_\.]/iu' => '',
|
||||
'/_+/' => '_',
|
||||
'/(^_)|(_$)/' => '',
|
||||
);
|
||||
@@ -560,7 +507,6 @@ class Mailbox {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
protected function decodeMimeStr($string, $charset = 'utf-8') {
|
||||
$newString = '';
|
||||
$elements = imap_mime_header_decode($string);
|
||||
@@ -572,13 +518,11 @@ class Mailbox {
|
||||
}
|
||||
return $newString;
|
||||
}
|
||||
|
||||
function isUrlEncoded($string) {
|
||||
$hasInvalidChars = preg_match( '#[^%a-zA-Z0-9\-_\.\+]#', $string );
|
||||
$hasEscapedChars = preg_match( '#%[a-zA-Z0-9]{2}#', $string );
|
||||
return !$hasInvalidChars && $hasEscapedChars;
|
||||
}
|
||||
|
||||
protected function decodeRFC2231($string, $charset = 'utf-8') {
|
||||
if(preg_match("/^(.*?)'.*?'(.*?)$/", $string, $matches)) {
|
||||
$encoding = $matches[1];
|
||||
@@ -589,7 +533,6 @@ class Mailbox {
|
||||
}
|
||||
return $string;
|
||||
}
|
||||
|
||||
/**
|
||||
* Converts a string from one encoding to another.
|
||||
* @param string $string
|
||||
@@ -607,12 +550,9 @@ class Mailbox {
|
||||
}
|
||||
return $convertedString ?: $string;
|
||||
}
|
||||
|
||||
public function __destruct() {
|
||||
$this->disconnect();
|
||||
}
|
||||
}
|
||||
|
||||
class Exception extends \Exception {
|
||||
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user