update v1.0.7.1

This commit is contained in:
Sujit Prasad
2016-04-20 15:26:00 +05:30
parent f5c52a90fd
commit a97e78069c
19 changed files with 196 additions and 216 deletions

View File

@@ -125,7 +125,7 @@ class TemplateController extends Controller
*/ */
public function listdirectories() public function listdirectories()
{ {
$path = '../resources/views/emails/'; $path = \Config::get('view.paths')[0].'/emails/';
$directories = scandir($path); $directories = scandir($path);
$directory = str_replace('/', '-', $path); $directory = str_replace('/', '-', $path);

View 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;
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.2 KiB

View File

@@ -57,6 +57,8 @@ return [
'terms' => 'terms', 'terms' => 'terms',
'register' => 'Register', 'register' => 'Register',
'i_already_have_a_membership' => 'I already have a membership', 'i_already_have_a_membership' => 'I already have a membership',
'see-profile1' => 'Click here to see ',
'see-profile2' => 's profile',
/* /*
|-------------------------------------- |--------------------------------------
| Reset Password Page | Reset Password Page

View File

@@ -6,39 +6,37 @@ class="active"
@stop @stop
@section('HeadInclude') @section('HeadInclude')
<style> <style>
h1 { h1 {
color: #f2f2f2; color: #f2f2f2;
font-family: Arial; font-family: Arial;
font-size: 14px; font-size: 14px;
margin: 0 0 20px; margin: 0 0 20px;
padding: 0; padding: 0;
text-align: center; text-align: center;
} }
input[type="checkbox"]:not(old) { input[type="checkbox"]:not(old) {
width : 28px; width : 28px;
margin : 0; margin : 0;
padding : 0; padding : 0;
opacity : 0; opacity : 0;
} }
input[type="checkbox"]:not(old) + label {
input[type="checkbox"]:not(old) + label { color: #f2f2f2;
color: #f2f2f2; font-family: Arial,sans-serif;
font-family: Arial,sans-serif; font-size: 14px;
font-size: 14px; }
} input[type="checkbox"]:not(old) + label span {
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;
background: rgba(0, 0, 0, 0) url("lb-faveo/media/images/check_radio_sheet.png") no-repeat scroll left top; cursor: pointer;
cursor: pointer; display: inline-block;
display: inline-block; height: 19px;
height: 19px; margin-left : -28px;
margin-left : -28px; vertical-align: middle;
width: 19px;
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;
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> </style>
@stop @stop
@section('user-bar') @section('user-bar')
@@ -52,38 +50,34 @@ class="active"
<!-- /breadcrumbs --> <!-- /breadcrumbs -->
<!-- content --> <!-- content -->
@section('content') @section('content')
<section class="content">
@if(Session::has('success')) @if(Session::has('success'))
<div class="alert alert-success alert-dismissable"> <div class="alert alert-success alert-dismissable">
<i class="fa fa-ban"></i> <i class="fa fa-ban"></i>
<b>Alert!</b> Success. <b>Alert!</b> Success.
<button type="button" class="close" data-dismiss="alert" aria-hidden="true">&times;</button> <button type="button" class="close" data-dismiss="alert" aria-hidden="true">&times;</button>
{{Session::get('success')}} {{Session::get('success')}}
</div> </div>
@endif @endif
<!-- fail message --> <!-- fail message -->
@if(Session::has('fails')) @if(Session::has('fails'))
<div class="alert alert-danger alert-dismissable"> <div class="alert alert-danger alert-dismissable">
<i class="fa fa-ban"></i> <i class="fa fa-ban"></i>
<b>Alert!</b> Failed. <b>Alert!</b> Failed.
<button type="button" class="close" data-dismiss="alert" aria-hidden="true">&times;</button> <button type="button" class="close" data-dismiss="alert" aria-hidden="true">&times;</button>
{{Session::get('fails')}} {{Session::get('fails')}}
</div> </div>
@endif @endif
<div id="alert21" class="alert alert-success alert-dismissable" style="display:none;"> <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> <h4><i class="icon fa fa-check"></i>Alert!</h4>
<div id="message-success2"></div> <div id="message-success2"></div>
</div> </div>
<div class="row" > <div class="box">
<div class="col-lg-10 col-lg-offset-1 col-md-10 col-md-offset-1"> <div class="box-header">
<h3 class="box-title">Notification Page</h3>
<div class="box"> </div>
<div class="box-header"> <!-- /.box-header -->
<h3 class="box-title">Notification Page</h3> <div class="row">
</div>
<!-- /.box-header -->
<div class="row">
<!-- Left col --> <!-- Left col -->
<section class="col-lg-12"> <section class="col-lg-12">
<!-- Custom tabs (Charts with tabs)--> <!-- Custom tabs (Charts with tabs)-->
@@ -96,9 +90,7 @@ class="active"
<!-- <!--
<div class="box-header"> <div class="box-header">
<i class="ion ion-clipboard"></i> <i class="ion ion-clipboard"></i>
<h3 class="box-title">Task</h3> <h3 class="box-title">Task</h3>
<div class="box-tools pull-right"> <div class="box-tools pull-right">
<ul class="pagination pagination-sm inline"> <ul class="pagination pagination-sm inline">
<li><a href="#">&laquo;</a> <li><a href="#">&laquo;</a>
@@ -114,22 +106,22 @@ class="active"
</ul> </ul>
</div> </div>
</div> </div>
--> -->
<!-- /.box-header --> <!-- /.box-header -->
<div class="box-body"> <div class="box-body">
<ul class="todo-list"> <ul class="todo-list">
@if(count($notifications)) @if(count($notifications))
@foreach($notifications as $notification) @foreach($notifications as $notification)
@if($notification->type == 'registration') @if($notification->type == 'registration')
<li> <li>
<!-- drag handle --> <!-- drag handle -->
<!-- checkbox --> <!-- checkbox -->
<input type="checkbox" value="" name="cc" class="noti_User clickfun" id="{{$notification -> notification_id}}"> <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> <label for='cl' data-toggle="tooltip" data-placement="top" title="Mark Read"><span></span>
<!-- todo text --> <!-- 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> <h6 class="textcontent marginzero"><a href="{!! route('user.show', $notification->notification_id) !!}" id="{{$notification -> notification_id}}" class='noti_User'>{!! $notification->message !!}</a></h6>
</label> <!-- Emphasis label --> <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--> <!-- General tools such as edit or delete-->
<div class="tools"> <div class="tools">
@@ -142,21 +134,21 @@ class="active"
<input type="checkbox" value="" name="cc" data-toggle="tooltip" data-placement="top" title="Mark Read" class="noti_User clickfun" id="{{$notification -> notification_id}}"> <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> <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"> </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="{!! 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> <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> </div>
</li> </li>
@endif @endif
@endforeach @endforeach
@else @else
<li> <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> </li>
@endif @endif
@@ -169,47 +161,43 @@ class="active"
</section> </section>
</div>
<!-- /.box-body -->
</div>
<!-- /.box -->
</div> </div>
<!-- /.row -->
</div> <!-- /.box-body -->
</section> </div>
<script> <!-- /.box -->
$(document).ready(function() {
$(".clickfun").click(function() { <script>
$(this).closest("li").toggleClass("task"); $(document).ready(function() {
}); $(".clickfun").click(function() {
$(this).closest("li").toggleClass("task");
}); });
</script> });
<script> </script>
$(document).ready(function () { <script>
$(document).ready(function() {
$('.notification-delete').click(function () { $('.notification-delete').click(function() {
var id = this.id; var id = this.id;
var dataString = 'id=' + id; var dataString = 'id=' + id;
$.ajax $.ajax
({ ({
type: "POST", type: "POST",
url: "{{url('notification-delete')}}" + "/" + id, url: "{{url('notification-delete')}}" + "/" + id,
data: dataString, data: dataString,
cache: false, cache: false,
success: function (response) success: function(response)
{ {
if (response == 1) if (response == 1)
{ {
var message = "Success! You have deleted this notification successfully!"; var message = "Success! You have deleted this notification successfully!";
$("#alert21").show(); $("#alert21").show();
$('#message-success2').html(message); $('#message-success2').html(message);
} }
} }
});
}); });
});
}); });
</script> </script>
@stop @stop

View File

@@ -110,7 +110,7 @@ $dept = App\Model\helpdesk\Agent\Department::where('name','=',$id)->first();
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).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).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).mouseleave(function(){
$("td", nRow).css({"background-color":"#F3F3F3", "font-weight":"600", "border-bottom":"solid 0.5px #ddd","border-right":"solid 0.5px #F3F3F3"}); $("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 { } else {
$("td", nRow).css({"background-color":"white", "border-bottom":"solid 0.5px #ddd", "border-right":"solid 0.5px white"}); $("td", nRow).css({"background-color":"white", "border-bottom":"solid 0.5px #ddd", "border-right":"solid 0.5px white"});
$("td", nRow).mouseenter(function(){ $("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).mouseleave(function(){
$("td", nRow).css({"background-color":"white", "border-bottom":"solid 0.5px #ddd", "border-right":"solid 0.5px white"}); $("td", nRow).css({"background-color":"white", "border-bottom":"solid 0.5px #ddd", "border-right":"solid 0.5px white"});

View File

@@ -111,7 +111,7 @@ if (Auth::user()->role == 'agent') {
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).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).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).mouseleave(function(){
$("td", nRow).css({"background-color":"#F3F3F3", "font-weight":"600", "border-bottom":"solid 0.5px #ddd","border-right":"solid 0.5px #F3F3F3"}); $("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 { } else {
$("td", nRow).css({"background-color":"white", "border-bottom":"solid 0.5px #ddd", "border-right":"solid 0.5px white"}); $("td", nRow).css({"background-color":"white", "border-bottom":"solid 0.5px #ddd", "border-right":"solid 0.5px white"});
$("td", nRow).mouseenter(function(){ $("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).mouseleave(function(){
$("td", nRow).css({"background-color":"white", "border-bottom":"solid 0.5px #ddd", "border-right":"solid 0.5px white"}); $("td", nRow).css({"background-color":"white", "border-bottom":"solid 0.5px #ddd", "border-right":"solid 0.5px white"});

View File

@@ -109,7 +109,7 @@ $dept = App\Model\helpdesk\Agent\Department::where('name','=',$id)->first();
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).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).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).mouseleave(function(){
$("td", nRow).css({"background-color":"#F3F3F3", "font-weight":"600", "border-bottom":"solid 0.5px #ddd","border-right":"solid 0.5px #F3F3F3"}); $("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 { } else {
$("td", nRow).css({"background-color":"white", "border-bottom":"solid 0.5px #ddd", "border-right":"solid 0.5px white"}); $("td", nRow).css({"background-color":"white", "border-bottom":"solid 0.5px #ddd", "border-right":"solid 0.5px white"});
$("td", nRow).mouseenter(function(){ $("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).mouseleave(function(){
$("td", nRow).css({"background-color":"white", "border-bottom":"solid 0.5px #ddd", "border-right":"solid 0.5px white"}); $("td", nRow).css({"background-color":"white", "border-bottom":"solid 0.5px #ddd", "border-right":"solid 0.5px white"});

View File

@@ -112,7 +112,7 @@ class="active"
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).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).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).mouseleave(function(){
$("td", nRow).css({"background-color":"#F3F3F3", "font-weight":"600", "border-bottom":"solid 0.5px #ddd","border-right":"solid 0.5px #F3F3F3"}); $("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 { } else {
$("td", nRow).css({"background-color":"white", "border-bottom":"solid 0.5px #ddd", "border-right":"solid 0.5px white"}); $("td", nRow).css({"background-color":"white", "border-bottom":"solid 0.5px #ddd", "border-right":"solid 0.5px white"});
$("td", nRow).mouseenter(function(){ $("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).mouseleave(function(){
$("td", nRow).css({"background-color":"white", "border-bottom":"solid 0.5px #ddd", "border-right":"solid 0.5px white"}); $("td", nRow).css({"background-color":"white", "border-bottom":"solid 0.5px #ddd", "border-right":"solid 0.5px white"});

View File

@@ -104,7 +104,7 @@ class="active"
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).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).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).mouseleave(function(){
$("td", nRow).css({"background-color":"#F3F3F3", "font-weight":"600", "border-bottom":"solid 0.5px #ddd","border-right":"solid 0.5px #F3F3F3"}); $("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 { } else {
$("td", nRow).css({"background-color":"white", "border-bottom":"solid 0.5px #ddd", "border-right":"solid 0.5px white"}); $("td", nRow).css({"background-color":"white", "border-bottom":"solid 0.5px #ddd", "border-right":"solid 0.5px white"});
$("td", nRow).mouseenter(function(){ $("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).mouseleave(function(){
$("td", nRow).css({"background-color":"white", "border-bottom":"solid 0.5px #ddd", "border-right":"solid 0.5px white"}); $("td", nRow).css({"background-color":"white", "border-bottom":"solid 0.5px #ddd", "border-right":"solid 0.5px white"});

View File

@@ -104,7 +104,7 @@ class="active"
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).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).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).mouseleave(function(){
$("td", nRow).css({"background-color":"#F3F3F3", "font-weight":"600", "border-bottom":"solid 0.5px #ddd","border-right":"solid 0.5px #F3F3F3"}); $("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 { } else {
$("td", nRow).css({"background-color":"white", "border-bottom":"solid 0.5px #ddd", "border-right":"solid 0.5px white"}); $("td", nRow).css({"background-color":"white", "border-bottom":"solid 0.5px #ddd", "border-right":"solid 0.5px white"});
$("td", nRow).mouseenter(function(){ $("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).mouseleave(function(){
$("td", nRow).css({"background-color":"white", "border-bottom":"solid 0.5px #ddd", "border-right":"solid 0.5px white"}); $("td", nRow).css({"background-color":"white", "border-bottom":"solid 0.5px #ddd", "border-right":"solid 0.5px white"});

View File

@@ -100,10 +100,10 @@ class="active"
->setClass('table table-hover table-bordered table-striped') ->setClass('table table-hover table-bordered table-striped')
->setCallbacks("fnCreatedRow", 'function( nRow, aData, iDataIndex ) { ->setCallbacks("fnCreatedRow", 'function( nRow, aData, iDataIndex ) {
var str = aData[3]; 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).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).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).mouseleave(function(){
$("td", nRow).css({"background-color":"#F3F3F3", "font-weight":"600", "border-bottom":"solid 0.5px #ddd","border-right":"solid 0.5px #F3F3F3"}); $("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 { } else {
$("td", nRow).css({"background-color":"white", "border-bottom":"solid 0.5px #ddd", "border-right":"solid 0.5px white"}); $("td", nRow).css({"background-color":"white", "border-bottom":"solid 0.5px #ddd", "border-right":"solid 0.5px white"});
$("td", nRow).mouseenter(function(){ $("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).mouseleave(function(){
$("td", nRow).css({"background-color":"white", "border-bottom":"solid 0.5px #ddd", "border-right":"solid 0.5px white"}); $("td", nRow).css({"background-color":"white", "border-bottom":"solid 0.5px #ddd", "border-right":"solid 0.5px white"});

View File

@@ -104,7 +104,7 @@ class="active"
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).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).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).mouseleave(function(){
$("td", nRow).css({"background-color":"#F3F3F3", "font-weight":"600", "border-bottom":"solid 0.5px #ddd","border-right":"solid 0.5px #F3F3F3"}); $("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 { } else {
$("td", nRow).css({"background-color":"white", "border-bottom":"solid 0.5px #ddd", "border-right":"solid 0.5px white"}); $("td", nRow).css({"background-color":"white", "border-bottom":"solid 0.5px #ddd", "border-right":"solid 0.5px white"});
$("td", nRow).mouseenter(function(){ $("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).mouseleave(function(){
$("td", nRow).css({"background-color":"white", "border-bottom":"solid 0.5px #ddd", "border-right":"solid 0.5px white"}); $("td", nRow).css({"background-color":"white", "border-bottom":"solid 0.5px #ddd", "border-right":"solid 0.5px white"});

View File

@@ -109,7 +109,7 @@ class="active"
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).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).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).mouseleave(function(){
$("td", nRow).css({"background-color":"#F3F3F3", "font-weight":"600", "border-bottom":"solid 0.5px #ddd","border-right":"solid 0.5px #F3F3F3"}); $("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 { } else {
$("td", nRow).css({"background-color":"white", "border-bottom":"solid 0.5px #ddd", "border-right":"solid 0.5px white"}); $("td", nRow).css({"background-color":"white", "border-bottom":"solid 0.5px #ddd", "border-right":"solid 0.5px white"});
$("td", nRow).mouseenter(function(){ $("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).mouseleave(function(){
$("td", nRow).css({"background-color":"white", "border-bottom":"solid 0.5px #ddd", "border-right":"solid 0.5px white"}); $("td", nRow).css({"background-color":"white", "border-bottom":"solid 0.5px #ddd", "border-right":"solid 0.5px white"});

View File

@@ -125,7 +125,7 @@ if ($i == 0) {
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).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).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).mouseleave(function(){
$("td", nRow).css({"background-color":"#F3F3F3", "font-weight":"600", "border-bottom":"solid 0.5px #ddd","border-right":"solid 0.5px #F3F3F3"}); $("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 { } else {
$("td", nRow).css({"background-color":"white", "border-bottom":"solid 0.5px #ddd", "border-right":"solid 0.5px white"}); $("td", nRow).css({"background-color":"white", "border-bottom":"solid 0.5px #ddd", "border-right":"solid 0.5px white"});
$("td", nRow).mouseenter(function(){ $("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).mouseleave(function(){
$("td", nRow).css({"background-color":"white", "border-bottom":"solid 0.5px #ddd", "border-right":"solid 0.5px white"}); $("td", nRow).css({"background-color":"white", "border-bottom":"solid 0.5px #ddd", "border-right":"solid 0.5px white"});

View File

@@ -107,7 +107,7 @@ class="active"
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).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).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).mouseleave(function(){
$("td", nRow).css({"background-color":"#F3F3F3", "font-weight":"600", "border-bottom":"solid 0.5px #ddd","border-right":"solid 0.5px #F3F3F3"}); $("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 { } else {
$("td", nRow).css({"background-color":"white", "border-bottom":"solid 0.5px #ddd", "border-right":"solid 0.5px white"}); $("td", nRow).css({"background-color":"white", "border-bottom":"solid 0.5px #ddd", "border-right":"solid 0.5px white"});
$("td", nRow).mouseenter(function(){ $("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).mouseleave(function(){
$("td", nRow).css({"background-color":"white", "border-bottom":"solid 0.5px #ddd", "border-right":"solid 0.5px white"}); $("td", nRow).css({"background-color":"white", "border-bottom":"solid 0.5px #ddd", "border-right":"solid 0.5px white"});

View File

@@ -109,7 +109,7 @@ class="active"
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).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).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).mouseleave(function(){
$("td", nRow).css({"background-color":"#F3F3F3", "font-weight":"600", "border-bottom":"solid 0.5px #ddd","border-right":"solid 0.5px #F3F3F3"}); $("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 { } else {
$("td", nRow).css({"background-color":"white", "border-bottom":"solid 0.5px #ddd", "border-right":"solid 0.5px white"}); $("td", nRow).css({"background-color":"white", "border-bottom":"solid 0.5px #ddd", "border-right":"solid 0.5px white"});
$("td", nRow).mouseenter(function(){ $("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).mouseleave(function(){
$("td", nRow).css({"background-color":"white", "border-bottom":"solid 0.5px #ddd", "border-right":"solid 0.5px white"}); $("td", nRow).css({"background-color":"white", "border-bottom":"solid 0.5px #ddd", "border-right":"solid 0.5px white"});

View File

@@ -30,6 +30,7 @@
<link type="text/css" href="{{asset("lb-faveo/plugins/datatables/dataTables.bootstrap.css")}}" rel="stylesheet"> <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 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/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" /> <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(); $deleted = App\Model\helpdesk\Ticket\Tickets::where('status', '5')->where('dept_id','=',Auth::user())->get();
} }
if (Auth::user()->role == 'agent') { 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(); $overdues = App\Model\helpdesk\Ticket\Tickets::where('status', '=', 1)->where('isanswered', '=', 0)->where('dept_id', '=', $dept->id)->orderBy('id', 'DESC')->get();
} else { } else {
$overdues = App\Model\helpdesk\Ticket\Tickets::where('status', '=', 1)->where('isanswered', '=', 0)->orderBy('id', 'DESC')->get(); $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/select2/select2.full.min.js")}}" ></script>
<script src="{{asset("lb-faveo/plugins/moment/moment.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> <script>
$(function() { $(function() {
// Enable iCheck plugin for checkboxes // Enable iCheck plugin for checkboxes

View File

@@ -1,13 +1,10 @@
<?php namespace PhpImap; <?php namespace PhpImap;
use stdClass; use stdClass;
/** /**
* @see https://github.com/barbushin/php-imap * @see https://github.com/barbushin/php-imap
* @author Barbushin Sergey http://linkedin.com/in/barbushin * @author Barbushin Sergey http://linkedin.com/in/barbushin
*/ */
class Mailbox { class Mailbox {
protected $imapPath; protected $imapPath;
protected $imapLogin; protected $imapLogin;
protected $imapPassword; protected $imapPassword;
@@ -16,7 +13,6 @@ class Mailbox {
protected $imapParams = array(); protected $imapParams = array();
protected $serverEncoding; protected $serverEncoding;
protected $attachmentsDir; protected $attachmentsDir;
public function __construct($imapPath, $login, $password, $attachmentsDir = null, $serverEncoding = 'UTF-8') { public function __construct($imapPath, $login, $password, $attachmentsDir = null, $serverEncoding = 'UTF-8') {
$this->imapPath = $imapPath; $this->imapPath = $imapPath;
$this->imapLogin = $login; $this->imapLogin = $login;
@@ -29,7 +25,6 @@ class Mailbox {
$this->attachmentsDir = rtrim(realpath($attachmentsDir), '\\/'); $this->attachmentsDir = rtrim(realpath($attachmentsDir), '\\/');
} }
} }
/** /**
* Set custom connection arguments of imap_open method. See http://php.net/imap_open * Set custom connection arguments of imap_open method. See http://php.net/imap_open
* @param int $options * @param int $options
@@ -41,7 +36,6 @@ class Mailbox {
$this->imapRetriesNum = $retriesNum; $this->imapRetriesNum = $retriesNum;
$this->imapParams = $params; $this->imapParams = $params;
} }
/** /**
* Get IMAP mailbox connection stream * Get IMAP mailbox connection stream
* @param bool $forceConnection Initialize connection if it's not initialized * @param bool $forceConnection Initialize connection if it's not initialized
@@ -60,7 +54,6 @@ class Mailbox {
} }
return $imapStream; return $imapStream;
} }
protected function initImapStream() { protected function initImapStream() {
$imapStream = @imap_open($this->imapPath, $this->imapLogin, $this->imapPassword, $this->imapOptions, $this->imapRetriesNum, $this->imapParams); $imapStream = @imap_open($this->imapPath, $this->imapLogin, $this->imapPassword, $this->imapOptions, $this->imapRetriesNum, $this->imapParams);
if(!$imapStream) { if(!$imapStream) {
@@ -68,14 +61,12 @@ class Mailbox {
} }
return $imapStream; return $imapStream;
} }
protected function disconnect() { protected function disconnect() {
$imapStream = $this->getImapStream(false); $imapStream = $this->getImapStream(false);
if($imapStream && is_resource($imapStream)) { if($imapStream && is_resource($imapStream)) {
imap_close($imapStream, CL_EXPUNGE); imap_close($imapStream, CL_EXPUNGE);
} }
} }
/** /**
* Get information about the current mailbox. * Get information about the current mailbox.
* *
@@ -91,17 +82,14 @@ class Mailbox {
public function checkMailbox() { public function checkMailbox() {
return imap_check($this->getImapStream()); return imap_check($this->getImapStream());
} }
/** /**
* Creates a new mailbox specified by mailbox. * Creates a new mailbox specified by mailbox.
* *
* @return bool * @return bool
*/ */
public function createMailbox() { public function createMailbox() {
return imap_createmailbox($this->getImapStream(), imap_utf7_encode($this->imapPath)); return imap_createmailbox($this->getImapStream(), imap_utf7_encode($this->imapPath));
} }
/** /**
* Gets status information about the given mailbox. * Gets status information about the given mailbox.
* *
@@ -110,12 +98,9 @@ class Mailbox {
* *
* @return stdClass if the box doesn't exist * @return stdClass if the box doesn't exist
*/ */
public function statusMailbox() { public function statusMailbox() {
return imap_status($this->getImapStream(), $this->imapPath, SA_ALL); return imap_status($this->getImapStream(), $this->imapPath, SA_ALL);
} }
/** /**
* Gets listing the folders * Gets listing the folders
* *
@@ -124,7 +109,6 @@ class Mailbox {
* *
* @return array listing the folders * @return array listing the folders
*/ */
public function getListingFolders() { public function getListingFolders() {
$folders = imap_list($this->getImapStream(), $this->imapPath, "*"); $folders = imap_list($this->getImapStream(), $this->imapPath, "*");
foreach ($folders as $key => $folder) foreach ($folders as $key => $folder)
@@ -134,8 +118,6 @@ class Mailbox {
} }
return $folders; return $folders;
} }
/** /**
* This function performs a search on the mailbox currently opened in the given IMAP stream. * 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". * 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); $mailsIds = imap_search($this->getImapStream(), $criteria, SE_UID, $this->serverEncoding);
return $mailsIds ? $mailsIds : array(); return $mailsIds ? $mailsIds : array();
} }
/** /**
* Save mail body. * Save mail body.
* @return bool * @return bool
@@ -182,7 +163,6 @@ class Mailbox {
public function saveMail($mailId, $filename = 'email.eml') { public function saveMail($mailId, $filename = 'email.eml') {
return imap_savebody($this->getImapStream(), $filename, $mailId, "", FT_UID); return imap_savebody($this->getImapStream(), $filename, $mailId, "", FT_UID);
} }
/** /**
* Marks mails listed in mailId for deletion. * Marks mails listed in mailId for deletion.
* @return bool * @return bool
@@ -190,11 +170,9 @@ class Mailbox {
public function deleteMail($mailId) { public function deleteMail($mailId) {
return imap_delete($this->getImapStream(), $mailId, FT_UID); return imap_delete($this->getImapStream(), $mailId, FT_UID);
} }
public function moveMail($mailId, $mailBox) { public function moveMail($mailId, $mailBox) {
return imap_mail_move($this->getImapStream(), $mailId, $mailBox, CP_UID) && $this->expungeDeletedMails(); 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(). * Deletes all the mails marked for deletion by imap_delete(), imap_mail_move(), or imap_setflag_full().
* @return bool * @return bool
@@ -202,7 +180,6 @@ class Mailbox {
public function expungeDeletedMails() { public function expungeDeletedMails() {
return imap_expunge($this->getImapStream()); return imap_expunge($this->getImapStream());
} }
/** /**
* Add the flag \Seen to a mail. * Add the flag \Seen to a mail.
* @return bool * @return bool
@@ -210,7 +187,6 @@ class Mailbox {
public function markMailAsRead($mailId) { public function markMailAsRead($mailId) {
return $this->setFlag(array($mailId), '\\Seen'); return $this->setFlag(array($mailId), '\\Seen');
} }
/** /**
* Remove the flag \Seen from a mail. * Remove the flag \Seen from a mail.
* @return bool * @return bool
@@ -218,7 +194,6 @@ class Mailbox {
public function markMailAsUnread($mailId) { public function markMailAsUnread($mailId) {
return $this->clearFlag(array($mailId), '\\Seen'); return $this->clearFlag(array($mailId), '\\Seen');
} }
/** /**
* Add the flag \Flagged to a mail. * Add the flag \Flagged to a mail.
* @return bool * @return bool
@@ -226,7 +201,6 @@ class Mailbox {
public function markMailAsImportant($mailId) { public function markMailAsImportant($mailId) {
return $this->setFlag(array($mailId), '\\Flagged'); return $this->setFlag(array($mailId), '\\Flagged');
} }
/** /**
* Add the flag \Seen to a mails. * Add the flag \Seen to a mails.
* @return bool * @return bool
@@ -234,7 +208,6 @@ class Mailbox {
public function markMailsAsRead(array $mailId) { public function markMailsAsRead(array $mailId) {
return $this->setFlag($mailId, '\\Seen'); return $this->setFlag($mailId, '\\Seen');
} }
/** /**
* Remove the flag \Seen from some mails. * Remove the flag \Seen from some mails.
* @return bool * @return bool
@@ -242,7 +215,6 @@ class Mailbox {
public function markMailsAsUnread(array $mailId) { public function markMailsAsUnread(array $mailId) {
return $this->clearFlag($mailId, '\\Seen'); return $this->clearFlag($mailId, '\\Seen');
} }
/** /**
* Add the flag \Flagged to some mails. * Add the flag \Flagged to some mails.
* @return bool * @return bool
@@ -250,7 +222,6 @@ class Mailbox {
public function markMailsAsImportant(array $mailId) { public function markMailsAsImportant(array $mailId) {
return $this->setFlag($mailId, '\\Flagged'); return $this->setFlag($mailId, '\\Flagged');
} }
/** /**
* Causes a store to add the specified flag to the flags set for the mails in the specified sequence. * 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) { public function setFlag(array $mailsIds, $flag) {
return imap_setflag_full($this->getImapStream(), implode(',', $mailsIds), $flag, ST_UID); 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. * 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) { public function clearFlag(array $mailsIds, $flag) {
return imap_clearflag_full($this->getImapStream(), implode(',', $mailsIds), $flag, ST_UID); return imap_clearflag_full($this->getImapStream(), implode(',', $mailsIds), $flag, ST_UID);
} }
/** /**
* Fetch mail headers for listed mails ids * Fetch mail headers for listed mails ids
* *
@@ -316,7 +285,6 @@ class Mailbox {
} }
return $mails; return $mails;
} }
/** /**
* Get information about the current mailbox. * Get information about the current mailbox.
* *
@@ -332,11 +300,9 @@ class Mailbox {
* *
* @return object Object with info | FALSE on failure * @return object Object with info | FALSE on failure
*/ */
public function getMailboxInfo() { public function getMailboxInfo() {
return imap_mailboxmsginfo($this->getImapStream()); return imap_mailboxmsginfo($this->getImapStream());
} }
public function get_overview($mailId) { public function get_overview($mailId) {
$overview = imap_fetch_overview($this->getImapStream(), $mailId, FT_UID); $overview = imap_fetch_overview($this->getImapStream(), $mailId, FT_UID);
return $overview; return $overview;
@@ -346,8 +312,6 @@ class Mailbox {
$body = imap_body($this->getImapStream(), $mailId, 1.1); $body = imap_body($this->getImapStream(), $mailId, 1.1);
return $body; return $body;
} }
/** /**
* Gets mails ids sorted by some criteria * Gets mails ids sorted by some criteria
* *
@@ -367,7 +331,6 @@ class Mailbox {
public function sortMails($criteria = SORTARRIVAL, $reverse = true) { public function sortMails($criteria = SORTARRIVAL, $reverse = true) {
return imap_sort($this->getImapStream(), $criteria, $reverse, SE_UID); return imap_sort($this->getImapStream(), $criteria, $reverse, SE_UID);
} }
/** /**
* Get mails count in mail box * Get mails count in mail box
* @return int * @return int
@@ -375,7 +338,6 @@ class Mailbox {
public function countMails() { public function countMails() {
return imap_num_msg($this->getImapStream()); return imap_num_msg($this->getImapStream());
} }
/** /**
* Retrieve the quota settings per user * Retrieve the quota settings per user
* @return array - FALSE in the case of call failure * @return array - FALSE in the case of call failure
@@ -383,7 +345,6 @@ class Mailbox {
protected function getQuota() { protected function getQuota() {
return imap_get_quotaroot($this->getImapStream(), 'INBOX'); return imap_get_quotaroot($this->getImapStream(), 'INBOX');
} }
/** /**
* Return quota limit in KB * Return quota limit in KB
* @return int - FALSE in the case of call failure * @return int - FALSE in the case of call failure
@@ -395,7 +356,6 @@ class Mailbox {
} }
return $quota; return $quota;
} }
/** /**
* Return quota usage in KB * Return quota usage in KB
* @return int - FALSE in the case of call failure * @return int - FALSE in the case of call failure
@@ -407,7 +367,6 @@ class Mailbox {
} }
return $quota; return $quota;
} }
/** /**
* Get mail data * Get mail data
* *
@@ -417,14 +376,12 @@ class Mailbox {
*/ */
public function getMail($mailId, $markAsSeen = true) { public function getMail($mailId, $markAsSeen = true) {
$head = imap_rfc822_parse_headers(imap_fetchheader($this->getImapStream(), $mailId, FT_UID)); $head = imap_rfc822_parse_headers(imap_fetchheader($this->getImapStream(), $mailId, FT_UID));
$mail = new IncomingMail(); $mail = new IncomingMail();
$mail->id = $mailId; $mail->id = $mailId;
$mail->date = date('Y-m-d H:i:s', isset($head->date) ? strtotime(preg_replace('/\(.*?\)/', '', $head->date)) : time()); $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->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->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); $mail->fromAddress = strtolower($head->from[0]->mailbox . '@' . $head->from[0]->host);
if(isset($head->to)) { if(isset($head->to)) {
$toStrings = array(); $toStrings = array();
// dd($mail); // dd($mail);
@@ -438,21 +395,17 @@ class Mailbox {
} }
$mail->toString = implode(', ', $toStrings); $mail->toString = implode(', ', $toStrings);
} }
if(isset($head->cc)) { if(isset($head->cc)) {
foreach($head->cc as $cc) { foreach($head->cc as $cc) {
$mail->cc[strtolower($cc->mailbox . '@' . $cc->host)] = isset($cc->personal) ? $this->decodeMimeStr($cc->personal, $this->serverEncoding) : null; $mail->cc[strtolower($cc->mailbox . '@' . $cc->host)] = isset($cc->personal) ? $this->decodeMimeStr($cc->personal, $this->serverEncoding) : null;
} }
} }
if(isset($head->reply_to)) { if(isset($head->reply_to)) {
foreach($head->reply_to as $replyTo) { foreach($head->reply_to as $replyTo) {
$mail->replyTo[strtolower($replyTo->mailbox . '@' . $replyTo->host)] = isset($replyTo->personal) ? $this->decodeMimeStr($replyTo->personal, $this->serverEncoding) : null; $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); $mailStructure = imap_fetchstructure($this->getImapStream(), $mailId, FT_UID);
if(empty($mailStructure->parts)) { if(empty($mailStructure->parts)) {
$this->initMailPart($mail, $mailStructure, 0, $markAsSeen); $this->initMailPart($mail, $mailStructure, 0, $markAsSeen);
} }
@@ -461,17 +414,14 @@ class Mailbox {
$this->initMailPart($mail, $partStructure, $partNum + 1, $markAsSeen); $this->initMailPart($mail, $partStructure, $partNum + 1, $markAsSeen);
} }
} }
return $mail; return $mail;
} }
protected function initMailPart(IncomingMail $mail, $partStructure, $partNum, $markAsSeen = true) { protected function initMailPart(IncomingMail $mail, $partStructure, $partNum, $markAsSeen = true) {
$options = FT_UID; $options = FT_UID;
if(!$markAsSeen) { if(!$markAsSeen) {
$options |= FT_PEEK; $options |= FT_PEEK;
} }
$data = $partNum ? imap_fetchbody($this->getImapStream(), $mail->id, $partNum, $options) : imap_body($this->getImapStream(), $mail->id, $options); $data = $partNum ? imap_fetchbody($this->getImapStream(), $mail->id, $partNum, $options) : imap_body($this->getImapStream(), $mail->id, $options);
if($partStructure->encoding == 1) { if($partStructure->encoding == 1) {
$data = imap_utf8($data); $data = imap_utf8($data);
} }
@@ -484,7 +434,6 @@ class Mailbox {
elseif($partStructure->encoding == 4) { elseif($partStructure->encoding == 4) {
$data = quoted_printable_decode($data); $data = quoted_printable_decode($data);
} }
$params = array(); $params = array();
if(!empty($partStructure->parameters)) { if(!empty($partStructure->parameters)) {
foreach($partStructure->parameters as $param) { foreach($partStructure->parameters as $param) {
@@ -502,12 +451,10 @@ class Mailbox {
} }
} }
} }
// attachments // attachments
$attachmentId = $partStructure->ifid $attachmentId = $partStructure->ifid
? trim($partStructure->id, " <>") ? trim($partStructure->id, " <>")
: (isset($params['filename']) || isset($params['name']) ? mt_rand() . mt_rand() : null); : (isset($params['filename']) || isset($params['name']) ? mt_rand() . mt_rand() : null);
if($attachmentId) { if($attachmentId) {
if(empty($params['filename']) && empty($params['name'])) { if(empty($params['filename']) && empty($params['name'])) {
$fileName = $attachmentId . '.' . strtolower($partStructure->subtype); $fileName = $attachmentId . '.' . strtolower($partStructure->subtype);
@@ -523,7 +470,7 @@ class Mailbox {
if($this->attachmentsDir) { if($this->attachmentsDir) {
$replace = array( $replace = array(
'/\s/' => '_', '/\s/' => '_',
'/[^0-9a-zа-<2D>?іїє_\.]/iu' => '', '/[^0-9a-z?-????_\.]/iu' => '',
'/_+/' => '_', '/_+/' => '_',
'/(^_)|(_$)/' => '', '/(^_)|(_$)/' => '',
); );
@@ -560,7 +507,6 @@ class Mailbox {
} }
} }
} }
protected function decodeMimeStr($string, $charset = 'utf-8') { protected function decodeMimeStr($string, $charset = 'utf-8') {
$newString = ''; $newString = '';
$elements = imap_mime_header_decode($string); $elements = imap_mime_header_decode($string);
@@ -572,13 +518,11 @@ class Mailbox {
} }
return $newString; return $newString;
} }
function isUrlEncoded($string) { function isUrlEncoded($string) {
$hasInvalidChars = preg_match( '#[^%a-zA-Z0-9\-_\.\+]#', $string ); $hasInvalidChars = preg_match( '#[^%a-zA-Z0-9\-_\.\+]#', $string );
$hasEscapedChars = preg_match( '#%[a-zA-Z0-9]{2}#', $string ); $hasEscapedChars = preg_match( '#%[a-zA-Z0-9]{2}#', $string );
return !$hasInvalidChars && $hasEscapedChars; return !$hasInvalidChars && $hasEscapedChars;
} }
protected function decodeRFC2231($string, $charset = 'utf-8') { protected function decodeRFC2231($string, $charset = 'utf-8') {
if(preg_match("/^(.*?)'.*?'(.*?)$/", $string, $matches)) { if(preg_match("/^(.*?)'.*?'(.*?)$/", $string, $matches)) {
$encoding = $matches[1]; $encoding = $matches[1];
@@ -589,7 +533,6 @@ class Mailbox {
} }
return $string; return $string;
} }
/** /**
* Converts a string from one encoding to another. * Converts a string from one encoding to another.
* @param string $string * @param string $string
@@ -607,12 +550,9 @@ class Mailbox {
} }
return $convertedString ?: $string; return $convertedString ?: $string;
} }
public function __destruct() { public function __destruct() {
$this->disconnect(); $this->disconnect();
} }
} }
class Exception extends \Exception { class Exception extends \Exception {
} }