/home/mip/mip/public/vendor/laravel-filemanager/files/folder-1/821668/Modules.zip
PK�8]-�fF��EmployerServiceProvider.phpnu�Iw��<?php

namespace QxCMS\Modules;

use Illuminate\Routing\Router;
use Illuminate\Support\ServiceProvider;

class EmployerServiceProvider extends ServiceProvider
{

    protected $namespace = 'QxCMS\Modules';

    /**
     * Bootstrap the application services.
     *
     * @return void
     */
    public function boot(Router $router)
    {
        $modules = config('modules.modules');
        array_filter($modules, function($module) use ($router) {
            if($module=='Employer')
            {
                $this->registerModuleRoute($router, $module);
                $this->registerModuleView($module);
            }
        });
        /*\DB::listen(function($sql) {
            var_dump($sql);
        });*/
    }

    /**
     * Register the application services.
     *
     * @return void
     */
    public function register()
    {
        $this->setEmployerInterface();
        $this->mergeConfigFrom(
            __DIR__.'/tables.php', 'tables'
        );
    }

    public function registerModuleView($module)
    {
        return $this->loadViewsFrom(__DIR__."/$module/Views", $module);
    }

    public function registerModuleRoute($router, $module)
    {
        $router->group([
            'namespace' => $this->namespace.'\\'.$module.'\\'.'Controllers',
            'middleware' => 'web',
            'prefix' => strtolower($module)
        ], function ($router) use ($module) {
                require __DIR__."/$module/routes.php";
        });
    }
    
    public function setEmployerInterface()
    {
        /*$this->app->bind(
            \QxCMS\Modules\Client\Repositories\Settings\Roles\RoleRepositoryInterface::class,
            \QxCMS\Modules\Client\Repositories\Settings\Roles\RoleRepository::class
        );*/
    }
}
PK�8]q΀�@@helpers.phpnu�[���<?php
use Hashids\Hashids;
use Illuminate\Support\Str;
function str_random($data) {
    return Str::random($data);
}

function get_website_assets($file_path = "")
{
    $path = config('website.path');
    return url($path.'/'.$file_path);
}

function get_template($file_path = "")
{
    $path = config('template.path');
    $name = config('template.name');
    return url($path.'/'.$name.'/'.$file_path);
}

function hashid($id = 0)
{
    $hashids = new Hashids();
    $id = $hashids->encode($id);
    return $id;
}

function decode($hashid = "")
{
    if($hashid <> "")
    {
        $hashids = new Hashids();
        $ids = $hashids->decode($hashid);
        if(isset($ids[0])) return $ids[0];
    }
    return;   
}

function yearArray($start_year = 2010)
{
    $years = array();
    $end_year = (int) Carbon\Carbon::now()->format('Y');
    while($end_year >= $start_year)  {
        $years[$end_year] = $end_year;
        $end_year--;
    }
   
    return $years;
}

function getYear($personal_id)
{
    return substr($personal_id, 0,4);
}

function lists($datas = array())
{
    $rows = array();
    if(!empty($datas)) {
        foreach ($datas as $data_key => $data) {
           $rows[$data] = $data;
        }
    }
    return $rows;
}

function format_date($sqldate = '0000-00-00', $format = null, $datetype = 'single', $guard = 'client') {
    if(empty($format) || $format == null) $dateformats = auth($guard)->user()->client->date_picker_display;
    else $dateformats = array('php' => $format);
    if($datetype == 'single' || $datetype == null) {
        if($sqldate <> '0000-00-00' && !empty($sqldate)) return Carbon\Carbon::parse($sqldate)->format($dateformats['php']);
    } else if($datetype=='range'){
        $date = explode('-', preg_replace('/\s+/', '', $sqldate));
        if(isset($date[0]) && isset($date[1])) {
            $from = Carbon\Carbon::parse($date[0])->format($dateformats['php']);
            $to = Carbon\Carbon::parse($date[1])->format($dateformats['php']);

            if($from == $to) return $from;
            return $from. ' to '. $to;
        }
    }
    return '';
}

function get_applicant_attachment($personal_id = 0, $file = "", $guard = 'client')
{
    $client = auth($guard)->user()->client;
    if(!empty($file) && $personal_id != 0) {
        if($client->storage_type == "public") {
            return url(\Storage::disk($client->storage_type)->url($client->root_dir.'/attachments/'.getYear($personal_id).'/'.$personal_id.'/'.$file));
        }
        if($client->storage_type == "s3") {
            return \Storage::disk($client->storage_type)->url($client->root_dir.'/attachments/'.getYear($personal_id).'/'.$personal_id.'/'.$file);
        }
    }
}

function get_extension($file = "")
{
    if($file != "") {
        $chunks = explode('.', $file);
        return strtolower(end($chunks));
    }
    return '';
}

function getDateFormatConfig($method = 'get')
{
    /*
       Form Accessor and Mutator
       use for adding or updating dates
    */
    if(in_array(strtolower($method), array('form','set'))) {
        $dateformats = config('account.dateformat.'.config('account.dateformat.default'));
    }

    /*
       Laravel built-in Accessor
       use for displaying dates
    */
    if(in_array(strtolower($method), array('get'))){
       $dateformats = config('account.displaydateformat.'.config('account.displaydateformat.default'));
    }

    return $dateformats;

}

function get_link($file_path = '')
{
    if(auth()->check()) {
        $client = auth()->user()->client;
        if(!empty($file_path)) {
            $storage_type = $client->storage_type;

            $url = Storage::disk($storage_type)->url($client->root_dir.'/'.$file_path);
            if($storage_type == "public") {
                return url($url);
            }

            if($storage_type == "s3") {
                return $url;
            }
            
        }
    }
}

function get_photo_link($filename = '', $thumbs = false)
{
   if(!empty($filename)){
        $url = '/photos/'.env('CLIENT_ROOT_DIR').'/shares/'.(($thumbs) ? 'thumbs/':'').$filename;
        if(file_exists($url)){
            return $url;
        }
        
       return $url = '/photos/'.env('CLIENT_ROOT_DIR').'/shares/'.$filename;
    }

    return '';
}


function remove_script_tags($text) 
{ 
    $text = preg_replace("/(\<script)(.*?)(script>)/si", "", "$text"); 
    return $text; 
}  PK�8]u{��
tables.phpnu�Iw��<?php

    return [
        'nationalities' => [
            "Afghan",
            "Albanian",
            "Algerian",
            "Andorran",
            "Angolan",
            "Argentine",
            "Armenian",
            "Australian",
            "Austrian",
            "Azerbaijani",
            "Bahamian",
            "Bahraini",
            "Bangladeshi",
            "Barbadian",
            "Belarusian",
            "Belgian",
            "Belizean",
            "Beninese",
            "Bhutanese",
            "Bolivian",
            "Bosnian",
            "Batswana",
            "Brazilian",
            "Bruneian",
            "Bulgarian",
            "Burkinabe",
            "Burmese",
            "Burundian",
            "Cambodian",
            "Cameroonian",
            "Canadian",
            "Cape Verdean",
            "Chadian",
            "Chilean",
            "Chinese",
            "Colombian",
            "Comoran",
            "Congolese",
            "Costa Rican",
            "Croatian",
            "Cuban",
            "Cypriot",
            "Czech",
            "Dane",
            "Djiboutian",
            "Dominican",
            "Dominican",
            "East Timorese",
            "Ecuadorian",
            "Egyptian",
            "Salvadorean",
            "English",
            "Eritrean",
            "Estonian",
            "Ethiopian",
            "Fijian",
            "Finn",
            "French",
            "Gabonese",
            "Gambian",
            "Georgian",
            "German",
            "Ghanaian",
            "Greek",
            "Grenadian",
            "Guatemalan",
            "Guinean",
            "Guyanese",
            "Haitian",
            "Honduran",
            "Hungarian",
            "Icelander",
            "Indian",
            "Indonesian",
            "Iranian",
            "Iraqi",
            "Irish",
            "Israeli",
            "Italian",
            "Ivorian",
            "Jamaican",
            "Japanese",
            "Jordanian",
            "Kazakh",
            "Kenyan",
            "Korean",
            "Kuwaiti",
            "Laotian",
            "Latvian",
            "Lebanese",
            "Liberian",
            "Libyan",
            "Liechtensteiner",
            "Lithuanian",
            "Luxembourger",
            "Macedonian",
            "Malagasy",
            "Malawian",
            "Malaysian",
            "Maldivian",
            "Malian",
            "Maltese",
            "Mauritanian",
            "Mauritian",
            "Mexican",
            "Moldovan",
            "Monacan",
            "Mongolian",
            "Montenegrin",
            "Moroccan",
            "Mozambican",
            "Namibian",
            "Nepalese",
            "Dutch",
            "New Zealander",
            "Nicaraguan",
            "Nigerien",
            "Nigerian",
            "Norwegian",
            "Omani",
            "Pakistani",
            "Panamanian",
            "Papua New Guinean",
            "Paraguayan",
            "Peruvian",
            "Filipino",
            "Pole",
            "Portuguese",
            "Qatari",
            "Romanian",
            "Russian",
            "Rwandan",
            "Saudi",
            "Scot",
            "Senegalese",
            "Serb",
            "Seychellois",
            "Sierra Leonian",
            "Singaporean",
            "Slovak",
            "Slovene",
            "Solomon Islander",
            "Somali",
            "South African",
            "Spaniard",
            "Sri Lankan",
            "Sudanese",
            "Surinamese",
            "Swazi",
            "Swede",
            "Swiss",
            "Syrian",
            "Taiwanese",
            "Tajik or Tadjik",
            "Tanzanian",
            "Thai",
            "Togolese",
            "Trinidadian",
            "Tunisian",
            "Turk",
            "Tuvaluan",
            "Ugandan",
            "Ukrainian",
            "Emirati",
            "British",
            "American",
            "Uruguayan",
            "Uzbek",
            "Vanuatuan",
            "Venezuelan",
            "Vietnamese",
            "Welsh",
            "Western Samoan",
            "Yemeni",
            "Yugoslav",
            "Zairean",
            "Zambian",
            "Zimbabwean"
        ],

        'religions' => [
            'Buddhism',
            'Christianity - Catholic',
            'Christianity - Others',
            'Hinduism',
            'Islam',
            'Judaism',
        ],

        'civil_statuses' => [
            'Single' => 'Single',
            'Married' => 'Married',
            'Widower' => 'Widower',
            'Separated' => 'Separated'
        ],

        'units' => [
                'weights' => [
                    'kg' => 'kg',
                    'lbs' => 'lbs',
                ],

                'heights' => [
                    'in' => 'in',
                    'cm' => 'cm',
                    'ft' => 'ft'
                ]
        ]
    ];
?>PK�8]�/#���Likod/Models/Clients/User.phpnu�Iw��<?php

namespace QxCMS\Modules\Likod\Models\Clients;

use Illuminate\Foundation\Auth\User as Authenticatable;
use Carbon\Carbon;
use Illuminate\Notifications\Notifiable;

class User extends Authenticatable
{
    use Notifiable;

    protected $connection = 'qxcms';
    protected $table = "client_users";
    protected $guarded = ['password_confirmation'];
    protected $appends = ['hashid'];
    public $module_id = 3;

    /*
     * Model Accessors
     */

    public function getHashidAttribute()
    {
        return hashid($this->id);
    }

    public function setValidityDateAttribute($value) 
    {
        if($value <> '') {
            $dateformats = getDateFormatConfig('set');
            return $this->attributes['validity_date'] = Carbon::createFromFormat($dateformats['php'], $value)->format('Y-m-d');
        }
        return $this->attributes['validity_date'] = '0000-00-00';
    }

    public function getValidityDateAttribute($value) 
    {
        if($value <> '0000-00-00') {
            $dateformats = getDateFormatConfig('get');
            return Carbon::createFromFormat('Y-m-d', $value)->format($dateformats['php']);
        }
        return;
    }

    public function formValidityDateAttribute($value)
    {
        if($value <> '0000-00-00') {
            $dateformats = getDateFormatConfig('form');
            return Carbon::createFromFormat('Y-m-d', $value)->format($dateformats['php']);
        }
        return;
    }


    /*
     * Model Mutators
     */
    public function client()
    {
        return $this->belongsTo('QxCMS\Modules\Likod\Models\Clients\Client', 'client_id');
    } 
   
    public function role()
    {
        return $this->belongsTo('QxCMS\Modules\Client\Models\Settings\Roles\Role', 'role_id');
    }

    public function permissions()
    {
        return $this->hasMany('QxCMS\Modules\Client\Models\Settings\Roles\Permission', 'role_id', 'role_id');
    }

    public function post()
    {
        return $this->hasMany('QxCMS\Modules\Client\Models\Posts\Posts', 'author_id');
    } 

    public function userLogs()
    {
        return $this->hasMany('QxCMS\Modules\Client\Models\Settings\UserLogs\UserLogs', 'user_id');
    } 

    public function scopeFilterUsersByRole($query, $roleIds = array())
    {
        if(!empty($roleIds))
        {
            if(is_array($roleIds)) return $query->whereNotIn('role_id', $roleIds);
            return $query->where('role_id', $roleIds);
        }

        return $query;
    }

    public function scopeIsNotSubUser($query)
    {
        return $query->where('is_sub_user', 'No');
    }

    public function scopeIsSubUser($query)
    {
        return $query->where('is_sub_user', 'Yes');
    }

    public function page()
    {
        return $this->hasMany('QxCMS\Modules\Client\Models\Pages\Pages', 'author_id');
    }

    public function scopeSearchByName($query, $criteria = null)
    {
        if(!empty($criteria))
        {
            return $query->where('name', 'LIKE', '%'.$criteria.'%');
        }
    }

    public function scopeFieldOfficer($query)
    {
        return $query->where('access_type', config('role.field_officer'));
    }

    public function scopeEditor($query)
    {
        return $query->where('access_type', config('role.editor'));
    }

    public function scopeSearchUserType($query, $user_type = '')
    {
        if(!empty($user_type))
        {
            if(strtolower($user_type) == 'field_officer') return $query->fieldOfficer();
            if(strtolower($user_type) == 'editor') return $query->editor();
        }
        return $query;
    }

    public function scopeClientUser($query, $client_id = '')
    {
        if(auth()->check()){
            $client_id = auth()->user()->client->id;
        }
        return $query->where('client_id', $client_id);
    }
}PK�8]56�g��Likod/Models/Clients/Client.phpnu�Iw��<?php

namespace QxCMS\Modules\Likod\Models\Clients;

use Illuminate\Database\Eloquent\Model;

class Client extends Model
{
    protected $connection = 'qxcms';
    protected $table = "clients";
    public $module_id = 5;
    protected $fillable = [
        'client_name',
        'client_address',
        'telephone_no',
        'email',
        'client_address',
        'database_name',
        'database_host',
        'database_username',
        'database_password',
        'api_key',
        'api_secret',
        'status',
        'number_of_users',
        'disk_size',
        'date_picker_format',
        'display_date_format',
        'name_format',
        'monthly_mail_quota',
        'root_dir',
        'mail_driver',
        'mail_sender_address',
        'mail_sender_name',
        'mail_host',
        'mail_username',
        'mail_password',
        'mail_port',
        'storage_type',
        's3_key',
        's3_secret',
        's3_region',
        's3_bucket_name',
        'cpanel_email',
        'cpanel_host',
        'cpanel_ip',
        'cpanel_port',
        'cpanel_account',
        'cpanel_password',
        'cpanel_domain',
        'cpanel_user_default_password',
        'cpanel_qouta',
        'cpanel_forwarder'
    ];
    protected $appends = ['hashid', 'date_picker', 'date_picker_display'];

    /*
     * Model Accessors
     */

    public function getHashidAttribute()
    {
        return hashid($this->id);
    }

    public function getDatePickerAttribute()
    {
        return config('account.dateformat.'.$this->date_picker_format);
    }

    public function getDatePickerDisplayAttribute()
    {
        return config('account.displaydateformat.'.$this->display_date_format);
    }

    /*
     * Model Mutators
     */


    /*
     * Model Relationship
    */

    public function users()
    {
       return $this->hasMany('QxCMS\Modules\Likod\Models\Clients\User', 'client_id');
    }
}PK�8]�)��*Likod/Models/Settings/Roles/Permission.phpnu�Iw��<?php

namespace QxCMS\Modules\Likod\Models\Settings\Roles;

use Illuminate\Database\Eloquent\Model;

class Permission extends Model
{
    protected $connection = 'qxcms';
    protected $table = 'role_permissions';
    /**
     * The attributes that are mass assignable.
     *
     * @var array
     */
    protected $fillable = [
        'role_id',
        'menu_id',
        'can_access',
        'can_create',
        'can_update',
        'can_delete',
        'can_export',
        'can_import',
        'can_export'
    ]; 
}PK�8]����$Likod/Models/Settings/Roles/Role.phpnu�Iw��<?php

namespace QxCMS\Modules\Likod\Models\Settings\Roles;

use Illuminate\Database\Eloquent\Model;

class Role extends Model
{
    protected $connection = 'qxcms';
    protected $table = 'roles';
    public $module_id = 2;
    /**
     * The attributes that are mass assignable.
     *
     * @var array
     */
    protected $fillable = [
        'name', 'display_name', 'description',
    ];
    protected $appends = ['hashid'];
   
   /*
    * Model Accessors
    */
    public function getHashidAttribute()
    {
        return hashid($this->id);
    }

    public function permissions()
    {
        return $this->hasMany('QxCMS\Modules\Likod\Models\Settings\Roles\Permission');
    }

    public function users()
    {
        return $this->hasMany('QxCMS\Modules\Likod\User');
    }

    /*
     * Model Custom Functions
     */
    public function role_access($role_id = 1) 
    {
        if ($role_id == 1) {
            return $this->all();
        } else {
            return $this->where('id', '<>', 1)->get();
        }
    }
}PK�8]�:�((!Likod/Models/Developer/Module.phpnu�Iw��<?php

namespace QxCMS\Modules\Likod\Models\Developer;

use Illuminate\Database\Eloquent\Model;
use DB;
use File;
class Module extends Model
{
    protected $connection = 'qxcms';
    protected $table = "modules";
    protected $fillable = [
        'title',
        'link_type',
        'page_id',
        'menu_group_id',
        'module_name',
        'module_description',
        'is_parent',
        'has_parent',
        'parent_id',
        'url',
        'uri',
        'icon',
        'target',
        'show_menu',
        'has_read',
        'has_create',
        'has_update',
        'has_delete',
        'has_export',
        'has_import',
        'has_print'
    ];
    protected $appends = ['hashid'];

    /*
     * Model Accessors
     */

    public function getHashidAttribute()
    {
        return hashid($this->id);
    }


    /*
     * Model Mutators
     */
    public function setParentIdAttribute($value)
    {
        if(empty($value)) $this->attributes['parent_id'] = 0;
        else $this->attributes['parent_id'] = $value;
    }
}PK�8]ج�Ͻ�'Likod/Models/Developer/ClientModule.phpnu�Iw��<?php

namespace QxCMS\Modules\Likod\Models\Developer;

use Illuminate\Database\Eloquent\Model;

class ClientModule extends Model
{
    protected $connection = 'qxcms';
    protected $table = "client_modules";
    protected $fillable = [
        'title',
        'link_type',
        'page_id',
        'menu_group_id',
        'module_name',
        'module_description',
        'is_parent',
        'has_parent',
        'parent_id',
        'url',
        'uri',
        'icon',
        'target',
        'show_menu',
        'has_read',
        'has_create',
        'has_update',
        'has_delete',
        'has_export',
        'has_import',
        'has_print'
    ];

    protected $appends = ['hashid'];


    /*
     * Model Accessors
     */

    public function getHashidAttribute()
    {
        return hashid($this->id);
    }


    /*
     * Model Mutators
     */

    public function setParentIdAttribute($value)
    {
        if(empty($value)) $this->attributes['parent_id'] = 0;
        else $this->attributes['parent_id'] = $value;
    }

    public function moduleLogs()
    {
        return $this->hasMany('QxCMS\Modules\Client\Models\Settings\UserLogs\UserLogs', 'module_id');
    } 
}
PK�8]�h�<��!Likod/Middleware/Authenticate.phpnu�Iw��<?php

namespace QxCMS\Modules\Likod\Middleware;

use Closure;
use Illuminate\Support\Facades\Auth;

class Authenticate
{
    /**
     * Handle an incoming request.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Closure  $next
     * @param  string|null  $guard
     * @return mixed
     */
    public function handle($request, Closure $next, $guard = 'likod')
    {
        if (Auth::guard($guard)->guest()) {
            if ($request->ajax() || $request->wantsJson()) {
                return response('Unauthorized.', 401);
            } else {
                return redirect()->guest('likod/auth/login');
            }
        }
        config(['auth.defaults.guard' => $guard]);
        return $next($request);
    }
}
PK�8]�AcҦ�,Likod/Middleware/RedirectIfAuthenticated.phpnu�Iw��<?php

namespace QxCMS\Modules\Likod\Middleware;

use Closure;
use Illuminate\Support\Facades\Auth;

class RedirectIfAuthenticated
{
    /**
     * Handle an incoming request.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Closure  $next
     * @param  string|null  $guard
     * @return mixed
     */
    public function handle($request, Closure $next, $guard = 'likod')
    {
        if (Auth::guard($guard)->check()) {
            $request->setUserResolver(function () use ($guard) {
                return Auth::guard($guard)->user();
            });
            return redirect('likod/dashboard');
        }
        return $next($request);
    }
}PK�8]`�9��Likod/Views/message.blade.phpnu�Iw��<div id="message-wrapper">
    @if(session('logout'))
        <div class="alert alert-success alert-dismissable fade in" style="padding-top: 4px;padding-bottom: 4px; padding-right: 29px; padding-left: 10px;">
            <button type="button" class="close" data-dismiss="alert" aria-hidden="true">&times;</button>
            <i class="fa fa-check"></i>&nbsp;
            {{ session('logout') }}
        </div>
    @endif    
</div>PK�8]��;^
^
)Likod/Views/dashboard/dashboard.blade.phpnu�Iw��@extends('Likod::layouts')
@section('page-body')
	<!-- Content Header (Page header) -->
    <section class="content-header">
        <h1>
            Dashboard
            <small>Control panel</small>
        </h1>
        <ol class="breadcrumb">
            <li><a href="#"><i class="fa fa-dashboard"></i> Home</a></li>
            <li class="active">Dashboard</li>
        </ol>
    </section>
    <!-- Main content -->
    <section class="content">
    	<div class="row">
            <div class="col-lg-3 col-xs-6">
                <!-- small box -->
                <div class="small-box bg-aqua">
                    <div class="inner">
                        <h3>
                            1
                        </h3>
                        <p>
                            Total Users
                        </p>
                    </div>
                    <div class="icon">
                        <i class="ion ion-android-social-user"></i>
                    </div>
                    <a href="#" class="small-box-footer">
                        More info <i class="fa fa-arrow-circle-right"></i>
                    </a>
                </div>
            </div><!-- ./col -->
            <div class="col-lg-3 col-xs-6">
                <!-- small box -->
                <div class="small-box bg-green">
                    <div class="inner">
                        <h3>
                            1
                        </h3>
                        <p>
                            Total Agency
                        </p>
                    </div>
                    <div class="icon">
                        <i class="ion ion-android-contacts"></i>
                    </div>
                    <a href="#" class="small-box-footer">
                        More info <i class="fa fa-arrow-circle-right"></i>
                    </a>
                </div>
            </div><!-- ./col -->
            <div class="col-lg-3 col-xs-6">
                <!-- small box -->
                <div class="small-box bg-yellow">
                    <div class="inner">
                        <h3>
                            1
                        </h3>
                        <p>
                            Active Agency
                        </p>
                    </div>
                    <div class="icon">
                        <i class="ion ion-android-friends"></i>
                    </div>
                    <a href="#" class="small-box-footer">
                        More info <i class="fa fa-arrow-circle-right"></i>
                    </a>
                </div>
            </div><!-- ./col -->
            <div class="col-lg-3 col-xs-6">
                <!-- small box -->
                <div class="small-box bg-red">
                    <div class="inner">
                        <h3>
                            1
                        </h3>
                        <p>
                            Non-Active Agency
                        </p>
                    </div>
                    <div class="icon">
                        <i class="ion ion-android-contact"></i>
                    </div>
                    <a href="#" class="small-box-footer">
                        More info <i class="fa fa-arrow-circle-right"></i>
                    </a>
                </div>
            </div><!-- ./col -->
        </div>
    </section>
@stopPK�8]Mh���$Likod/Views/clients/create.blade.phpnu�Iw��@extends('Likod::layouts',['title'=>'Add Client'])
@section('page-body')
     <!-- Content Header (Page header) -->
     <section class="content-header">
     <h1>
          <i class="fa fa-plus-circle" aria-hidden="true"></i> Add Client
     </h1>
     <ol class="breadcrumb">
          <li><a href="#"><i class="fa fa-cog"></i>Settings</a></li>
          <li><a href="{{ url(config('modules.likod').'/clients') }}"><i class="fa fa-user-circle-o"></i>Client Directory</a></li>
          <li class="active">Add</li>            
     </ol>
     </section>
     <!-- Main content -->
     <section class="content">
          @include('Likod::message')
          @include('Likod::all-fields-are-required')
          {!! Form::open(['url'=>url(config('modules.likod').'/clients'),'method'=>'POST','class'=>'form-horizontal','role'=>'form','id'=>'client-form']) !!}
          <div class="box box-primary">
               <div class="box-body">
                    @include('Likod::clients.includes.form', array('client_config' => true))
               </div>
               <div class="box-footer text-center">
                    <button class="btn btn-primary btn-flat"><i class="fa fa-save"></i>&nbsp;&nbsp;Save&nbsp;&nbsp;</button>
               </div>
          </div>
          {!! Form::close() !!}
     </section>
@stop
@section('page-css')
     @include('Likod::clients.includes.css')
@stop
@section('page-js')
     @include('Likod::clients.includes.js')
     @include('Likod::notify')
@stopPK�8]ݯ7�H�H+Likod/Views/clients/includes/form.blade.phpnu�Iw��@if (count($errors) > 0)
<div class="form-group"> 
    <div class="col-md-12">
        <div class="callout callout-danger">
            <h4>The following error occured.</h4>
            <ul>
                @foreach ($errors->all() as $error)
                    <li>{{ $error }}</li>
                @endforeach
            </ul>
        </div>
    </div>
</div>
@endif 

@if(!isset($client))
<h3 class="page-header"><i class="fa fa-lock"></i>&nbsp;Login Details</h3>
<div class="form-group {{ $errors->has('name') ? ' has-error' : '' }}">
    <label class="control-label col-md-3">Name of User: <i class="required">*</i></label>
    <div class="col-md-9">
        {!! Form::text('name', null , ['class'=>'form-control', 'placeholder'=>'', 'autocomplete'=>'off']) !!}
    </div>
</div>
<div class="form-group {{ $errors->has('email') ? ' has-error' : '' }}">
    <label class="control-label col-md-3">Email: <i class="required">*</i></label>
    <div class="col-md-9">
        <span class="text-warning">*Note: Email must be active.</span>
        {!! Form::text('email', null , ['class'=>'form-control', 'placeholder'=>'', 'autocomplete'=>'off']) !!}
    </div>
</div>
<div class="form-group {{ $errors->has('password') ? ' has-error' : '' }}">
    <label class="control-label col-md-3">Password: <i class="required">*</i></label>
    <div class="col-md-9">
        {!! Form::text('password', null , ['class'=>'form-control', 'placeholder'=>'', 'autocomplete'=>'off']) !!}
    </div>
</div>
<div class="form-group {{ $errors->has('password_confirmation') ? ' has-error' : '' }}">
    <label class="control-label col-md-3">Re-type Password: <i class="required">*</i></label>
    <div class="col-md-9">
        {!! Form::text('password_confirmation', null , ['class'=>'form-control', 'placeholder'=>'', 'autocomplete'=>'off']) !!}
    </div>
</div>
@endif

<h3 class="page-header"><i class="fa fa-building"></i>&nbsp;Client Information</h3>
<div class="form-group {{ $errors->has('client_name') ? ' has-error' : '' }}">
    <label class="control-label col-md-3">Client Name: <i class="required">*</i></label>
    <div class="col-md-9">
        {!! Form::text('client_name', null , ['class'=>'form-control', 'placeholder'=>'', 'autocomplete'=>'off']) !!}
    </div>
</div>
<div class="form-group {{ $errors->has('client_address') ? ' has-error' : '' }}">
    <label class="control-label col-md-3">Client Address: <i class="required">*</i></label>
    <div class="col-md-9">
        {!! Form::text('client_address', null , ['class'=>'form-control', 'placeholder'=>'', 'autocomplete'=>'off']) !!}
    </div>
</div>
<div class="form-group {{ $errors->has('telephone_no') ? ' has-error' : '' }}">
    <label class="control-label col-md-3">Telephone No: <i class="required">*</i></label>
    <div class="col-md-9">
        {!! Form::text('telephone_no', null , ['class'=>'form-control', 'placeholder'=>'', 'autocomplete'=>'off']) !!}
    </div>
</div>
<div class="form-group {{ $errors->has('email') ? ' has-error' : '' }}">
    <label class="control-label col-md-3">Email: <i class="required">*</i></label>
    <div class="col-md-9">
        {!! Form::text('email', null , ['class'=>'form-control', 'placeholder'=>'', 'autocomplete'=>'off']) !!}
    </div>
</div>
@if(isset($client))
<div class="form-group">
    <label class="control-label col-md-3">Kiosk URL:</label>
    <div class="col-md-9">
        {!! Form::text('kiok_url', url(config('modules.kiosk')).'/'.$client->root_dir.'/' , ['class'=>'form-control', 'disabled' => 'disabled']) !!}
    </div>
</div>
@endif

@if($client_config)
<h3 class="page-header"><i class="fa fa-database"></i>&nbsp;Database Information</h3>
<div class="form-group {{ $errors->has('database_name') ? ' has-error' : '' }}">
    <label class="control-label col-md-3">Database Name: <i class="required">*</i></label>
    <div class="col-md-9">
        <span class="text-warning">*Note: Database name must be atleast 5 letters.</span>
       
        {!! Form::text('database_name', null , ['class'=>'form-control', 'placeholder'=>'', 'autocomplete'=>'off', ((isset($client->database_name)) ? 'readonly':'')]) !!}
       
    </div>
</div>
<div class="form-group {{ $errors->has('database_host') ? ' has-error' : '' }}">
    <label class="control-label col-md-3">Database Host: <i class="required">*</i></label>
    <div class="col-md-9">
        <span class="text-warning"></span>
        {!! Form::text('database_host', (isset($client->database_host)) ? null:'127.0.0.1' , ['class'=>'form-control', 'placeholder'=>'', 'autocomplete'=>'off']) !!}
    </div>
</div>
<div class="form-group {{ $errors->has('database_username') ? ' has-error' : '' }}">
    <label class="control-label col-md-3">Database Username: <i class="required">*</i></label>
    <div class="col-md-9">
        <span class="text-warning"></span>
        {!! Form::text('database_username', (isset($client->database_username)) ? null:'root' , ['class'=>'form-control', 'placeholder'=>'', 'autocomplete'=>'off']) !!}
    </div>
</div>
<div class="form-group {{ $errors->has('database_password') ? ' has-error' : '' }}">
    <label class="control-label col-md-3">Database Password:</label>
    <div class="col-md-9">
        <span class="text-warning"></span>
        {!! Form::text('database_password', null , ['class'=>'form-control', 'placeholder'=>'', 'autocomplete'=>'off']) !!}
    </div>
</div>
@endif

<h3 class="page-header"><i class="fa fa-gears"></i>&nbsp;API Configuration</h3>
<div class="form-group {{ $errors->has('api_key') ? ' has-error' : '' }}">
    <label class="control-label col-md-3">API Key:</label>
    <div class="col-md-9">
        <span class="text-warning"></span>
        {!! Form::text('api_key', (isset($client->api_key)) ? $client->api_key:str_random(40) , ['class'=>'form-control', 'placeholder'=>'', 'autocomplete'=>'off', 'readonly'=>'true']) !!}
    </div>
</div>
<div class="form-group {{ $errors->has('api_secret') ? ' has-error' : '' }}">
    <label class="control-label col-md-3">API Secret:</label>
    <div class="col-md-9">
        {!! Form::text('api_secret', (isset($client->api_secret)) ? $client->api_secret:str_random(40) , ['class'=>'form-control', 'placeholder'=>'', 'autocomplete'=>'off', 'readonly'=>'true']) !!}
    </div>
</div>

<h3 class="page-header"><i class="fa fa-gear"></i>&nbsp;Account Configuration</h3>
@if($client_config)
<div class="form-group {{ $errors->has('status') ? ' has-error' : '' }}">
    <label class="control-label col-md-3">Account Status: <i class="required">*</i></label>
    <div class="col-md-9">
        {!! Form::select('status', [1=>'Active', 0 => 'Inactive'], null, ['class'=>'form-control']) !!}
    </div>
</div>
<div class="form-group {{ $errors->has('number_of_users') ? ' has-error' : '' }}">
    <label class="control-label col-md-3">Number of users: <i class="required">*</i></label>
    <div class="col-md-9">
        <span class="text-warning">Note: If number of users is unlimited, set to 0.</span>
        {!! Form::text('number_of_users', (isset($client->number_of_users)) ? null:0 , ['class'=>'form-control', 'placeholder'=>'', 'autocomplete'=>'off']) !!}
    </div>
</div>
<div class="form-group {{ $errors->has('disk_size') ? ' has-error' : '' }}">
    <label class="control-label col-md-3">Disk Size <i>(GB)</i>: <i class="required">*</i></label>
    <div class="col-md-9">
        <span class="text-warning">Note: If disk size is unlimited, set to 0.</span>
        {!! Form::text('disk_size', (isset($client->disk_size)) ? null:0 , ['class'=>'form-control', 'placeholder'=>'', 'autocomplete'=>'off']) !!}
    </div>
</div>
@endif
<div class="form-group {{ $errors->has('date_picker_format') ? ' has-error' : '' }}">
    <label class="control-label col-md-3">Date Picker Format: <i class="required">*</i></label>
    <div class="col-md-9">
        {!! Form::select('date_picker_format', $datepickerformats, null, ['class'=>'form-control']) !!}
    </div>
</div>
@if($client_config)
<div class="form-group {{ $errors->has('display_date_format') ? ' has-error' : '' }}">
    <label class="control-label col-md-3">Display Date Format: <i class="required">*</i></label>
    <div class="col-md-9">
        {!! Form::select('display_date_format', $displaydateformats, null, ['class'=>'form-control']) !!}
    </div>
</div>
<div class="form-group {{ $errors->has('name_format') ? ' has-error' : '' }}">
    <label class="control-label col-md-3">Name Format: <i class="required">*</i></label>
    <div class="col-md-9">
        {!! Form::select('name_format', $nameformats, null, ['class'=>'form-control']) !!}
    </div>
</div>
<div class="form-group {{ $errors->has('monthly_mail_quota') ? ' has-error' : '' }}">
    <label class="control-label col-md-3">Monthy Mail Quota: <i class="required">*</i></label>
    <div class="col-md-9">
        <span class="text-warning">Note: If Monthly mail quota is unlimited set to 0.</span>
        {!! Form::text('monthly_mail_quota', (isset($client->monthly_mail_quota)) ? null:0 , ['class'=>'form-control', 'placeholder'=>'', 'autocomplete'=>'off']) !!}
    </div>
</div>
@if(isset($client) && $client != null)
<div class="form-group {{ $errors->has('root_dir') ? ' has-error' : '' }}">
    <label class="control-label col-md-3">Attachment Root Folder:</label>
    <div class="col-md-9">
        {!! Form::text('root_dir', null , ['class'=>'form-control', 'placeholder'=>'', 'disabled'=>'disabled']) !!}
    </div>
</div>
@endif
@endif

<h3 class="page-header"><i class="fa fa-envelope"></i>&nbsp;Mail Configuration</h3>
<div class="row">
    <div class="col-sm-9 col-sm-offset-3">
        <!-- <div class="alert alert-warning"> -->
            <p class="text-warning"><b><i class="fa fa-lightbulb-o"></i> Note: </b>Mail Configuration is set by default. You can also set this configuration using the client Mail account.</p>
        <!-- </div> -->
    </div>
</div>
<div class="form-group {{ $errors->has('mail_driver') ? ' has-error' : '' }}">
    <label class="control-label col-md-3">Mail Driver: <i class="required">*</i></label>
    <div class="col-md-9">
        {!! Form::select('mail_driver', $mail_driver , null, ['class'=>'form-control']) !!}
    </div>
</div>
<div class="form-group {{ $errors->has('mail_sender_address') ? ' has-error' : '' }}">
    <label class="control-label col-md-3">Mail Sender Address: <i class="required">*</i></label>
    <div class="col-md-9">
        {!! Form::text('mail_sender_address', (isset($client->mail_sender_address)) ? null:config('mail.from.address'), ['class'=>'form-control', 'autocomplete'=>'off']) !!}
    </div>
</div>
<div class="form-group {{ $errors->has('mail_sender_name') ? ' has-error' : '' }}">
    <label class="control-label col-md-3">Mail Sender Name: <i class="required">*</i></label>
    <div class="col-md-9">
        {!! Form::text('mail_sender_name', (isset($client->mail_sender_name)) ? null:config('mail.from.name'), ['class'=>'form-control', 'autocomplete'=>'off']) !!}
    </div>
</div>
<div class="form-group {{ $errors->has('mail_host') ? ' has-error' : '' }}">
    <label class="control-label col-md-3">Mail Host: <i class="required">*</i></label>
    <div class="col-md-9">
        {!! Form::text('mail_host', (isset($client->mail_host)) ? null:config('mail.host'), ['class'=>'form-control', 'autocomplete'=>'off']) !!}
    </div>
</div>
<div class="form-group {{ $errors->has('mail_username') ? ' has-error' : '' }}">
    <label class="control-label col-md-3">Mail Username: <i class="required">*</i></label>
    <div class="col-md-9">
        {!! Form::text('mail_username',  (isset($client->mail_username)) ? null:config('mail.username'), ['class'=>'form-control', 'autocomplete'=>'off']) !!}
    </div>
</div>
<div class="form-group {{ $errors->has('mail_password') ? ' has-error' : '' }}">
    <label class="control-label col-md-3">Mail Password: <i class="required">*</i></label>
    <div class="col-md-9">
        {!! Form::text('mail_password', (isset($client->mail_password)) ? null:config('mail.password'), ['class'=>'form-control', 'autocomplete'=>'off']) !!}
    </div>
</div>
<div class="form-group {{ $errors->has('mail_port') ? ' has-error' : '' }}">
    <label class="control-label col-md-3">Mail Port: <i class="required">*</i></label>
    <div class="col-md-9">
        {!! Form::text('mail_port', (isset($client->mail_port)) ? null:config('mail.port'), ['class'=>'form-control', 'autocomplete'=>'off']) !!}
    </div>
</div>

@if($client_config)
<h3 class="page-header"><i class="fa fa-usb"></i>&nbsp;Storage Configuration</h3>
<div class="row">
    <div class="col-sm-9 col-sm-offset-3">
        <p class="text-warning"><b><i class="fa fa-lightbulb-o"></i> Note: </b>For Amazon S3 Storage Type, configuration is set by default. You can also set this configuration using the client amazon S3 account.</p>
    </div>
</div>
<div class="form-group {{ $errors->has('storage_type') ? ' has-error' : '' }}">
    <label class="control-label col-md-3">Storage Type: <i class="required">*</i></label>
    <div class="col-md-9">
        {!! Form::select('storage_type', $storage_type , null, ['placeholder'=>' - Select - ','class'=>'form-control', 'id' => 'storage_type']) !!}
    </div>
</div>
<div class="for_s3 form-group {{ $errors->has('s3_key') ? ' has-error' : '' }}">
    <label class="control-label col-md-3">S3 Key: <i class="required">*</i></label>
    <div class="col-md-9">
        {!! Form::text('s3_key', (isset($client->s3_key)) ? null:config('filesystems.disks.s3.key'), ['class'=>'form-control', 'autocomplete'=>'off']) !!}
    </div>
</div>
<div class="for_s3 form-group {{ $errors->has('s3_secret') ? ' has-error' : '' }}">
    <label class="control-label col-md-3">S3 Secret: <i class="required">*</i></label>
    <div class="col-md-9">
        {!! Form::text('s3_secret', (isset($client->s3_secret)) ? null:config('filesystems.disks.s3.secret'), ['class'=>'form-control', 'autocomplete'=>'off']) !!}
    </div>
</div>
<div class="for_s3 form-group {{ $errors->has('s3_region') ? ' has-error' : '' }}">
    <label class="control-label col-md-3">S3 Region: <i class="required">*</i></label>
    <div class="col-md-9">
        {!! Form::text('s3_region', (isset($client->s3_region)) ? null:config('filesystems.disks.s3.region'), ['class'=>'form-control', 'autocomplete'=>'off']) !!}
    </div>
</div>
<div class="for_s3 form-group {{ $errors->has('s3_bucket_name') ? ' has-error' : '' }}">
    <label class="control-label col-md-3">S3 Bucket Name: <i class="required">*</i></label>
    <div class="col-md-9">
        {!! Form::text('s3_bucket_name', (isset($client->s3_bucket_name)) ? null:config('filesystems.disks.s3.bucket'), ['class'=>'form-control', 'autocomplete'=>'off']) !!}
    </div>
</div>

<h3 class="page-header for_cpanel"><input type="checkbox" name="create_email" class="icheck" value="1"> Create an E-mail on Cpanel account</h3>
<div class="for_cpanel row">
    <div class="col-sm-9 col-sm-offset-3">
        <p class="text-warning"><b><i class="fa fa-lightbulb-o"></i> Note: </b>Cpanel Configuration is set by default. You can also set this configuration using the client Cpanel account.</p>
    </div>
</div>
<div class="for_cpanel form-group {{ $errors->has('cpanel_host') ? ' has-error' : '' }}">
    <label class="control-label col-md-3">CPanel Host: <i class="required">*</i></label>
    <div class="col-md-9">
        {!! Form::text('cpanel_host', (isset($client->cpanel_host)) ? null:config('cpanel.host') , ['class'=>'form-control', 'autocomplete'=>'off']) !!}
    </div>
</div>
<div class="for_cpanel form-group {{ $errors->has('cpanel_ip') ? ' has-error' : '' }}">
    <label class="control-label col-md-3">CPanel IP: <i class="required">*</i></label>
    <div class="col-md-9">
        {!! Form::text('cpanel_ip', (isset($client->cpanel_ip)) ? null:config('cpanel.ip'), ['class'=>'form-control', 'autocomplete'=>'off']) !!}
    </div>
</div>
<div class="for_cpanel form-group {{ $errors->has('cpanel_port') ? ' has-error' : '' }}">
    <label class="control-label col-md-3">CPanel Port: <i class="required">*</i></label>
    <div class="col-md-9">
        {!! Form::text('cpanel_port', (isset($client->cpanel_port)) ? null:config('cpanel.port'), ['class'=>'form-control', 'autocomplete'=>'off']) !!}
    </div>
</div>
<div class="for_cpanel form-group {{ $errors->has('cpanel_account') ? ' has-error' : '' }}">
    <label class="control-label col-md-3">CPanel Account: <i class="required">*</i></label>
    <div class="col-md-9">
        {!! Form::text('cpanel_account', (isset($client->cpanel_account)) ? null:config('cpanel.account'), ['class'=>'form-control', 'autocomplete'=>'off']) !!}
    </div>
</div>
<div class="for_cpanel form-group {{ $errors->has('cpanel_password') ? ' has-error' : '' }}">
    <label class="control-label col-md-3">CPanel Password: <i class="required">*</i></label>
    <div class="col-md-9">
        {!! Form::text('cpanel_password', (isset($client->cpanel_password)) ? null:config('cpanel.password'), ['class'=>'form-control', 'autocomplete'=>'off']) !!}
    </div>
</div>
<div class="for_cpanel form-group {{ $errors->has('cpanel_domain') ? ' has-error' : '' }}">
    <label class="control-label col-md-3">CPanel Domain: <i class="required">*</i></label>
    <div class="col-md-9">
        {!! Form::text('cpanel_domain', (isset($client->cpanel_domain)) ? null:config('cpanel.domain'), ['class'=>'form-control', 'autocomplete'=>'off']) !!}
    </div>
</div>
<div class="for_cpanel form-group {{ $errors->has('cpanel_user_default_password') ? ' has-error' : '' }}">
    <label class="control-label col-md-3">CPanel User Default Password: <i class="required">*</i></label>
    <div class="col-md-9">
        {!! Form::text('cpanel_user_default_password', (isset($client->cpanel_user_default_password)) ? null:config('cpanel.user_default_password'), ['class'=>'form-control', 'autocomplete'=>'off']) !!}
    </div>
</div>
<div class="for_cpanel form-group {{ $errors->has('cpanel_qouta') ? ' has-error' : '' }}">
    <label class="control-label col-md-3">CPanel Qouta: </label>
    <div class="col-md-9">
        {!! Form::text('cpanel_qouta', (isset($client->cpanel_qouta)) ? null:config('cpanel.qouta'), ['class'=>'form-control', 'autocomplete'=>'off']) !!}
    </div>
</div>
<div class="for_cpanel form-group {{ $errors->has('cpanel_forwader') ? ' has-error' : '' }}">
    <label class="control-label col-md-3">CPanel Forwarder: </label>
    <div class="col-md-9">
        {!! Form::text('cpanel_forwarder', (isset($client->cpanel_forwarder)) ? null:config('cpanel.forwarder'), ['class'=>'form-control', 'autocomplete'=>'off']) !!}
    </div>
</div>
@endifPK�8]�sP�00)Likod/Views/clients/includes/js.blade.phpnu�Iw��<script type="text/javascript" src="{{ asset('vendor/jsvalidation/js/jsvalidation.js')}}"></script>
{!! JsValidator::formRequest('QxCMS\Modules\Likod\Requests\Clients\ClientRequest', '#client-form'); !!}
<script type="text/javascript">
$(function() {
	$('.for_cpanel').css({'display':'none'});
    changeStorageType($('#storage_type').val());
    $('input.icheck').iCheck({
        checkboxClass: 'icheckbox_square-blue',
        radioClass: 'iradio_square-blue',
        increaseArea: '20%' // optional
    }).on('ifChanged', function(e) {
       var isCheck = e.currentTarget.checked;
       hideCpanel(isCheck);
    }).end();
    $('#storage_type').change(function(){
        changeStorageType($(this).val());
    });
})
function changeStorageType(val)
{
    if(val=='s3') {
        $('.for_s3').css({'display':'block'});
    } else {
        $('.for_s3').css({'display':'none'});
    }
}
function hideCpanel(isCheck)
{
    if(isCheck) {
        $('.for_cpanel').css({'display':'block'});
    } else {
        $('.for_cpanel').css({'display':'none'});
    }
}
</script>PK�8]Ƙ�VV*Likod/Views/clients/includes/css.blade.phpnu�Iw��<link rel="stylesheet" href="{{ get_template('js/plugins/iCheck/square/blue.css') }}">PK�8].]
�77#Likod/Views/clients/index.blade.phpnu�Iw��@extends('Likod::layouts')
@section('page-body')
    <!-- Content Header (Page header) -->
    <section class="content-header">
        <h1>
            <i class="fa fa-user-circle-o"></i> Clients Directory
        </h1>
        <ol class="breadcrumb">
            <li><a href="#"><i class="fa fa-cog"></i> Settings</a></li>
            <li class="active">Clients Directory</li>
        </ol>
    </section>
    <!-- Main content -->
    <section class="content">
        @include('Likod::message')
        <div class="callout callout-info" style="margin: 0 0 5px 0;">
        List of Clients
        </div>
        <div class="box box-primary">
            <div class="box-header with-border">
                <span class="pull-right">
                    <a href="{{ url(config('modules.likod').'/clients/create') }}" data-toggle="tooltip" data-placement="top" title="" data-original-title="Add Client"><button class="btn btn-primary btn-flat"><i class="fa fa-plus-circle"></i> Add Client</button></a>
                </span>
            </div>
            <div class="box-body">
                <table class="table table-condensed table-bordered table-striped table-hover" id="clients-table"width="100%">
                <thead>
                <tr>
                    <th>#</th>
                    <th>Client Name</th>
                    <th>Users</th>
                    <th>Email</th>
                    <th>Disk Space</th>
                    <th>Status</th>
                    <th>Action</th>
                </tr>
                </thead>
               </table>
            </div>                
        </div>
    </section>
@stop
@section('page-js')
<script type="text/javascript" src="{{ get_template('js/plugins/datatables/extensions/Pagination/input_old.js') }}"></script>
<script type="text/javascript">
$(function() {
    var clientTable = $('#clients-table').DataTable({
    processing: true,
    serverSide: true,
    "pagingType": "input",
    ajax:{
        url: '{!! url(config('modules.likod').'/clients/get-clients-data') !!}',
        method: 'POST'
    } ,
        columns: [
            {
                width:'10px', searchable: false, orderable: false,
                render: function (data, type, row, meta) {
                    return meta.row + meta.settings._iDisplayStart + 1;
                }
            },
            { data: 'client_name', name: 'client_name' },
            { data: 'number_of_users', name: 'number_of_users', searchable: false, orderable: false },
            { data: 'monthly_mail_quota', name: 'monthly_mail_quota', searchable: false, orderable: false},
            { data: 'disk_size', name: 'disk_size', searchable: false, orderable: false},
            { data: 'status', name: 'status', searchable: false, orderable: false},
            { data: 'action', name: 'action', orderable: false, searchable: false, width:'70px', className:'text-center'},
        ],
        fnDrawCallback: function ( oSettings ) {
            $('[data-toggle="tooltip"]').tooltip();
        },
        "order": [[1, "asc"]],
    });
});
</script>
@include('Likod::notify')
@stopPK�8]�Ս��"Likod/Views/clients/edit.blade.phpnu�Iw��@extends('Likod::layouts',['title'=>'Edit Client'])
@section('page-body')
     <!-- Content Header (Page header) -->
     <section class="content-header">
     <h1>
          <i class="fa fa-pencil"></i> Edit Client
     </h1>
     <ol class="breadcrumb">
          <li><a href="#"><i class="fa fa-cog"></i>Settings</a></li>
          <li><a href="{{ url(config('modules.likod').'/clients') }}"><i class="fa fa-user-circle-o"></i>Client Directory</a></li>
          <li class="active">Edit</li>            
     </ol>
     </section>
     <!-- Main content -->
     <section class="content">          
          @include('Likod::message')
          @include('Likod::all-fields-are-required')
          {!! Form::model($client, array('url' => config('modules.likod').'/clients/'.$client->hashid, 'method' => 'PUT', 'class'=>'form-horizontal', 'role' => 'form' , 'id'=>'client-form')) !!}
          <div class="box box-primary">
               <div class="box-body">
                    @include('Likod::clients.includes.form', array('client_config' => true))
               </div>
               <div class="box-footer text-center">
                    <button class="btn btn-primary btn-flat"><i class="fa fa-save"></i>&nbsp;Save</button>
               </div>
          </div>
          {!! Form::close() !!}
     </section>
@stop
@section('page-css')
     @include('Likod::clients.includes.css')
@stop
@section('page-js')
     @include('Likod::clients.includes.js')
     @include('Likod::notify')
@stopPK�8]��G��*Likod/Views/auth/emails/password.blade.phpnu�Iw��Click here to reset your password: <a href="{{ $link = url('password/reset', $token).'?email='.urlencode($user->getEmailForPasswordReset()) }}"> {{ $link }} </a>
PK�8]X)"��#Likod/Views/auth/register.blade.phpnu�Iw��@extends('Likod::layouts.app')

@section('content')
<div class="container">
    <div class="row">
        <div class="col-md-8 col-md-offset-2">
            <div class="panel panel-default">
                <div class="panel-heading">Register</div>
                <div class="panel-body">
                    <form class="form-horizontal" role="form" method="POST" action="{{ url('/register') }}">
                        {!! csrf_field() !!}

                        <div class="form-group{{ $errors->has('name') ? ' has-error' : '' }}">
                            <label class="col-md-4 control-label">Name</label>

                            <div class="col-md-6">
                                <input type="text" class="form-control" name="name" value="{{ old('name') }}">

                                @if ($errors->has('name'))
                                    <span class="help-block">
                                        <strong>{{ $errors->first('name') }}</strong>
                                    </span>
                                @endif
                            </div>
                        </div>

                        <div class="form-group{{ $errors->has('email') ? ' has-error' : '' }}">
                            <label class="col-md-4 control-label">E-Mail Address</label>

                            <div class="col-md-6">
                                <input type="email" class="form-control" name="email" value="{{ old('email') }}">

                                @if ($errors->has('email'))
                                    <span class="help-block">
                                        <strong>{{ $errors->first('email') }}</strong>
                                    </span>
                                @endif
                            </div>
                        </div>

                        <div class="form-group{{ $errors->has('password') ? ' has-error' : '' }}">
                            <label class="col-md-4 control-label">Password</label>

                            <div class="col-md-6">
                                <input type="password" class="form-control" name="password">

                                @if ($errors->has('password'))
                                    <span class="help-block">
                                        <strong>{{ $errors->first('password') }}</strong>
                                    </span>
                                @endif
                            </div>
                        </div>

                        <div class="form-group{{ $errors->has('password_confirmation') ? ' has-error' : '' }}">
                            <label class="col-md-4 control-label">Confirm Password</label>

                            <div class="col-md-6">
                                <input type="password" class="form-control" name="password_confirmation">

                                @if ($errors->has('password_confirmation'))
                                    <span class="help-block">
                                        <strong>{{ $errors->first('password_confirmation') }}</strong>
                                    </span>
                                @endif
                            </div>
                        </div>

                        <div class="form-group">
                            <div class="col-md-6 col-md-offset-4">
                                <button type="submit" class="btn btn-primary">
                                    <i class="fa fa-btn fa-user"></i>Register
                                </button>
                            </div>
                        </div>
                    </form>
                </div>
            </div>
        </div>
    </div>
</div>
@endsection
PK�8]_<xx*Likod/Views/auth/passwords/email.blade.phpnu�Iw��@extends('layouts.app')

<!-- Main Content -->
@section('content')
<div class="container">
    <div class="row">
        <div class="col-md-8 col-md-offset-2">
            <div class="panel panel-default">
                <div class="panel-heading">Reset Password</div>
                <div class="panel-body">
                    @if (session('status'))
                        <div class="alert alert-success">
                            {{ session('status') }}
                        </div>
                    @endif

                    <form class="form-horizontal" role="form" method="POST" action="{{ url('/password/email') }}">
                        {!! csrf_field() !!}

                        <div class="form-group{{ $errors->has('email') ? ' has-error' : '' }}">
                            <label class="col-md-4 control-label">E-Mail Address</label>

                            <div class="col-md-6">
                                <input type="email" class="form-control" name="email" value="{{ old('email') }}">

                                @if ($errors->has('email'))
                                    <span class="help-block">
                                        <strong>{{ $errors->first('email') }}</strong>
                                    </span>
                                @endif
                            </div>
                        </div>

                        <div class="form-group">
                            <div class="col-md-6 col-md-offset-4">
                                <button type="submit" class="btn btn-primary">
                                    <i class="fa fa-btn fa-envelope"></i>Send Password Reset Link
                                </button>
                            </div>
                        </div>
                    </form>
                </div>
            </div>
        </div>
    </div>
</div>
@endsection
PK�8]wl��*Likod/Views/auth/passwords/reset.blade.phpnu�Iw��@extends('layouts.app')

@section('content')
<div class="container">
    <div class="row">
        <div class="col-md-8 col-md-offset-2">
            <div class="panel panel-default">
                <div class="panel-heading">Reset Password</div>

                <div class="panel-body">
                    <form class="form-horizontal" role="form" method="POST" action="{{ url('/password/reset') }}">
                        {!! csrf_field() !!}

                        <input type="hidden" name="token" value="{{ $token }}">

                        <div class="form-group{{ $errors->has('email') ? ' has-error' : '' }}">
                            <label class="col-md-4 control-label">E-Mail Address</label>

                            <div class="col-md-6">
                                <input type="email" class="form-control" name="email" value="{{ $email or old('email') }}">

                                @if ($errors->has('email'))
                                    <span class="help-block">
                                        <strong>{{ $errors->first('email') }}</strong>
                                    </span>
                                @endif
                            </div>
                        </div>

                        <div class="form-group{{ $errors->has('password') ? ' has-error' : '' }}">
                            <label class="col-md-4 control-label">Password</label>

                            <div class="col-md-6">
                                <input type="password" class="form-control" name="password">

                                @if ($errors->has('password'))
                                    <span class="help-block">
                                        <strong>{{ $errors->first('password') }}</strong>
                                    </span>
                                @endif
                            </div>
                        </div>

                        <div class="form-group{{ $errors->has('password_confirmation') ? ' has-error' : '' }}">
                            <label class="col-md-4 control-label">Confirm Password</label>
                            <div class="col-md-6">
                                <input type="password" class="form-control" name="password_confirmation">

                                @if ($errors->has('password_confirmation'))
                                    <span class="help-block">
                                        <strong>{{ $errors->first('password_confirmation') }}</strong>
                                    </span>
                                @endif
                            </div>
                        </div>

                        <div class="form-group">
                            <div class="col-md-6 col-md-offset-4">
                                <button type="submit" class="btn btn-primary">
                                    <i class="fa fa-btn fa-refresh"></i>Reset Password
                                </button>
                            </div>
                        </div>
                    </form>
                </div>
            </div>
        </div>
    </div>
</div>
@endsection
PK�8]C뷿�� Likod/Views/auth/login.blade.phpnu�Iw��<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
        <title>QxCMS | Likod Log-in</title>
        <meta content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no" name="viewport">
        <link rel="stylesheet" href="{{ get_template('bootstrap/css/bootstrap.min.css') }}">
        <link rel="stylesheet" href="{{ get_template('font-awesome-4.5.0/css/font-awesome.min.css') }}">
        <link rel="stylesheet" href="{{ get_template('ionicons-2.0.1/css/ionicons.min.css') }}">
        <link rel="stylesheet" href="{{ get_template('dist/css/AdminLTE.min.css') }}">
        <link rel="stylesheet" href="{{ get_template('plugins/iCheck/square/blue.css') }}">
        <link rel="stylesheet" href="{{ get_template('dist/css/custom.css') }}">
        <!-- HTML5 Shim and Respond.js IE8 support of HTML5 elements and media queries -->
        <!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
        <!--[if lt IE 9]>
        <script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script>
        <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
        <![endif]-->
    </head>
    <body class="hold-transition login-page">
        <div class="login-box">
            <div class="login-logo">
                <span><b>QxCMS</b> | Likod</span>
            </div>
            @include('Likod::message')
            <div class="login-box-body">
                <p class="login-box-msg">Sign in to start your session</p>
                <form role="form" method="POST" action="{{ url('likod/auth/login') }}" id="login-form">
                    {!! csrf_field() !!}
                    <!-- <div class="form-group has-feedback"> -->
                    <div class="form-group{{ $errors->has('email') ? ' has-error' : '' }} has-feedback">
                        <input type="email" name="email" class="form-control" placeholder="Email" value="{{ old('email') }}">
                        <span class="glyphicon glyphicon-envelope form-control-feedback"></span>
                        @if ($errors->has('email'))
                            <span class="help-block">
                                {{ $errors->first('email') }}
                            </span>
                        @endif
                    </div>
                    <!-- <div class="form-group has-feedback"> -->
                    <div class="form-group{{ $errors->has('password') ? ' has-error' : '' }} has-feedback">
                        <input type="password" name="password" class="form-control" placeholder="Password">
                        <span class="glyphicon glyphicon-lock form-control-feedback"></span>
                        @if ($errors->has('password'))
                            <span class="help-block">
                                {{ $errors->first('password') }}
                            </span>
                        @endif
                    </div>
                    <div class="row">
                        <div class="col-xs-8" id="checkbox" style="padding-left:35px;">
                        </div>
                        <div class="col-xs-4">
                          <button type="submit" class="btn btn-primary btn-block btn-flat"><i class="fa fa-sign-in"></i> Sign In</button>
                        </div>
                    </div>
                </form>
                <a href="#"><i class="fa fa-lock"></i> Forgot my password?</a><br>
            </div>
        </div>
        <script src="{{ get_template('plugins/jQuery/jQuery-2.1.4.min.js') }}"></script>
        <script type="text/javascript" src="{{ get_template('bootstrap/js/bootstrap.min.js') }}"></script>
        <script type="text/javascript" src="{{ get_template('plugins/iCheck/icheck.min.js') }}"></script>
        <script type="text/javascript" src="{{ asset('vendor/jsvalidation/js/jsvalidation.js')}}"></script>
        {!! $validator !!}
    </body>
</html>PK�8])�O��-Likod/Views/all-fields-are-required.blade.phpnu�Iw��<div class="callout callout-info" style="margin: 0 0 5px 0;">
<span class="text-danger">All fields with <i>(<i class="fa fa-asterisk form-required"></i>)</i> are required</span>
</div>PK�8]/}�+��Likod/Views/notify.blade.phpnu�Iw��@if(session('success'))
<script type="text/javascript">
$(function() {
    /* Notify Success */
    $.notify.addStyle('success', {
        html: "<div><i class=\"fa fa-check-circle\" aria-hidden=\"true\"></i>&nbsp;<span data-notify-text/></div>",
        classes: {
            base: {
              "white-space": "nowrap",
              "background-color": "#dff0d8",
              "padding": "5px"
            },
            supersuccess: {
              "color": "#3c763d",
              "background-color": "#dff0d8"
            }
        }
    });
    $.notify('{{ session("success") }}', {
        style: 'success',
        className: 'supersuccess',
        clickToHide: true,
        position:"top right", 
        autoHide: true, 
        autoHideDelay: 3000, 
        showAnimation: 'slideDown',
        showDuration: 400,
        hideAnimation: 'slideUp',
        hideDuration: 200
    });
});
</script>    
@endif

@if(session('error'))
<script type="text/javascript">
$(function() {
    /* Notify Danger */
    $.notify.addStyle('danger', {
        html: "<div><i class=\"fa fa-times-circle\" aria-hidden=\"true\"></i>&nbsp;<span data-notify-text/></div>",
        classes: {
            base: {
              "white-space": "nowrap",
              "background-color": "#f2dede",
              "padding": "5px"
            },
            superdanger: {
              "color": "#a94442",
              "background-color": "#f2dede"
            }
        }
    });
    $.notify('{{ session("error") }}', {
        style: 'danger',
        className: 'superdanger',
        clickToHide: true,
        position:"top right", 
        autoHide: true, 
        autoHideDelay: 3000, 
        showAnimation: 'slideDown',
        showDuration: 400,
        hideAnimation: 'slideUp',
        hideDuration: 200
    });
});
</script>    
@endif

@if(session('danger'))
<script type="text/javascript">
$(function() {
    /* Notify Danger */
    $.notify.addStyle('danger', {
        html: "<div><i class=\"fa fa-times-circle\" aria-hidden=\"true\"></i>&nbsp;<span data-notify-text/></div>",
        classes: {
            base: {
              "white-space": "nowrap",
              "background-color": "#f2dede",
              "padding": "5px"
            },
            superdanger: {
              "color": "#a94442",
              "background-color": "#f2dede"
            }
        }
    });
    $.notify('{{ session("danger") }}', {
        style: 'danger',
        className: 'superdanger',
        clickToHide: true,
        position:"top right", 
        autoHide: true, 
        autoHideDelay: 3000, 
        showAnimation: 'slideDown',
        showDuration: 400,
        hideAnimation: 'slideUp',
        hideDuration: 200
    });
});
</script>    
@endif

@if(session('info'))
<script type="text/javascript">
$(function() {
    /* Notify Info */
    $.notify.addStyle('info', {
        html: "<div><i class=\"fa fa-info-circle\" aria-hidden=\"true\"></i>&nbsp;<span data-notify-text/></div>",
        classes: {
            base: {
              "white-space": "nowrap",
              "background-color": "#d9edf7",
              "padding": "5px"
            },
            superinfo: {
              "color": "#31708f",
              "background-color": "#d9edf7"
            }
        }
    });
    $.notify('{{ session("info") }}', {
        style: 'info',
        className: 'superinfo',
        clickToHide: true,
        position:"top right", 
        autoHide: true, 
        autoHideDelay: 3000, 
        showAnimation: 'slideDown',
        showDuration: 400,
        hideAnimation: 'slideUp',
        hideDuration: 200
    });
});
</script>    
@endif

@if(session('warning'))
<script type="text/javascript">
$(function() {
    /* Notify Warning */
    $.notify.addStyle('warning', {
        html: "<div><i class=\"fa fa-exclamation-circle\" aria-hidden=\"true\"></i>&nbsp;<span data-notify-text/></div>",
        classes: {
            base: {
              "white-space": "nowrap",
              "background-color": "#fcf8e3",
              "padding": "5px"
            },
            superwarning: {
              "color": "#8a6d3b",
              "background-color": "#fcf8e3"
            }
        }
    });
    $.notify('{{ session("warning") }}', {
        style: 'warning',
        className: 'superwarning',
        clickToHide: true,
        position:"top right", 
        autoHide: true, 
        autoHideDelay: 3000, 
        showAnimation: 'slideDown',
        showDuration: 400,
        hideAnimation: 'slideUp',
        hideDuration: 200
    });
});
</script>    
@endifPK�8];d�ӛ)�)Likod/Views/layouts.blade.phpnu�Iw��<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <meta name="csrf-token" content="{{ csrf_token() }}" />
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
        <title>QxCMS- {{ isset($title) ? $title:'Dashboard' }}</title>
        <meta content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no" name="viewport">
        <!-- jquery ui 1.11.2 -->
        <link href="{{ get_template('plugins/tablednd/tablednd.css') }}" rel="stylesheet" type="text/css" />
        <link rel="stylesheet" href="{{ get_template('plugins/jquery-ui-1.11.2/jquery-ui.min.css') }}">
        <!-- bootstrap 3.0.2 -->
        <link href="{{ get_template('plugins/bootstrap-3.3.7/css/bootstrap.min.css') }}" rel="stylesheet" type="text/css" />
        <!-- font Awesome -->
        <link href="{{ get_template('font-awesome-4.7.0/css/font-awesome.min.css') }}" rel="stylesheet" type="text/css" />
        <!-- Ionicons -->
        <link href="{{ get_template('ionicons-2.0.1/css/ionicons.min.css') }}" rel="stylesheet" type="text/css" />
        <link href="{{ get_template('plugins/bootstrap-wysihtml5/bootstrap3-wysihtml5.min.css') }}" rel="stylesheet" type="text/css" />
        <link href="{{ get_template('plugins/sweetalert2/dist/sweetalert2.min.css') }}" rel="stylesheet" type="text/css" />
        <link href="{{ get_template('plugins/iCheck/square/_all.css') }}" rel="stylesheet" type="text/css" />
        <!-- Select 2 -->
        <link href="{{ get_template('plugins/select2/select2.min.css') }}" rel="stylesheet" type="text/css" />
        <link href="{{ get_template('plugins/select2/select2.bootstrap.min.css') }}" rel="stylesheet" type="text/css" />
        <!-- Datatables -->
        <link href="{{ get_template('plugins/DataTables-1.10.12/media/css/dataTables.bootstrap.css') }}" rel="stylesheet" type="text/css" />
        <link href="{{ get_template('dist/css/AdminLTE.min.css') }}" rel="stylesheet" type="text/css" />
        <link rel="stylesheet" href="{{ get_template('dist/css/skins/_all-skins.min.css') }}">
        <!-- custom style -->
        <link href="{{ get_template('plugins/notifyjs/notifyjs.css') }}" rel="stylesheet" type="text/css" />
        <link href="{{ get_template('dist/css/custom.css') }}" rel="stylesheet" type="text/css" />
        <!-- HTML5 Shim and Respond.js IE8 support of HTML5 elements and media queries -->
        <!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
        <!--[if lt IE 9]>
          <script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
          <script src="https://oss.maxcdn.com/libs/respond.js/1.3.0/respond.min.js"></script>
        <![endif]-->       
        @yield('page-css')
    </head>
    <body class="skin-{{ config('template.skin') }} fixed" data-url="{{ url('/') }}">
        <!-- header logo: style can be found in header.less -->
        <div class="wrapper">
            <header class="main-header">
                <a href="{{ url('client/dashboard') }}" class="logo">
                    <span class="logo-mini"><b>Qx</b><!-- <img src="{{ url('img/dashboard-logo.png') }}"  class="img-responsive" style="margin-top: 10px;"> --></span>
                    <span class="logo-lg"><b>Qx</b>CMS<!-- <img src="{{ url('img/dashboard-logo.png') }}"  class="img-responsive"> --></span>
                </a>
                <nav class="navbar navbar-static-top">
                    <a href="#" class="sidebar-toggle" data-toggle="offcanvas" role="button">
                        <span class="sr-only">Toggle navigation</span>
                    </a>
                    <div class="navbar-custom-menu">
                        <ul class="nav navbar-nav">
                        <!-- User Account: style can be found in dropdown.less -->
                            <li class="dropdown user user-menu">
                                <a href="#" class="dropdown-toggle" data-toggle="dropdown">
                                    <i class="glyphicon glyphicon-user"></i>
                                    <span>{{ auth('likod')->user()->name }} <i class="caret"></i></span>
                                </a>
                                <ul class="dropdown-menu">
                                    <!-- User image -->
                                    <li class="user-header bg-light-purple" style="height:100px;">
                                        <p>
                                            {{ auth('likod')->user()->name }}
                                            <small>{{ auth('likod')->user()->email }}</small>
                                            <small><b>Version:</b> {{ config('app.version') }}</small>
                                        </p>
                                    </li>                                
                                    <!-- Menu Footer-->
                                    <li class="user-footer">
                                        <div class="pull-left">
                                            <a href="{{ url(config('modules.likod').'/settings/users/'.hashid(auth('likod')->user()->id).'/edit') }}" class="btn btn-default btn-flat">Profile</a>
                                        </div>
                                        <div class="pull-right">
                                            <a href="{{ url(config('modules.likod').'/auth/logout') }}" class="btn btn-default btn btn-flat">Sign out</a>
                                        </div>
                                    </li>
                                </ul>
                            </li>
                        </ul>
                    </div>
                </nav>
            </header>
            <aside class="main-sidebar">
                <section class="sidebar">
                    <ul class="sidebar-menu">
                        <li class="header">MAIN NAVIGATION</li>
                        <li class="active">
                            <a href="{{ url(config('modules.likod').'/dashboard') }}">
                                <i class="fa fa-dashboard"></i> <span>Dashboard</span>
                            </a>
                        </li>                        
                        <li class="treeview">
                            <a href="#">
                                <i class="fa fa-cog"></i>
                                <span>Settings</span>
                                <i class="fa fa-angle-left pull-right"></i>
                            </a>
                            <ul class="treeview-menu">
                                <li><a href="{{ url(config('modules.likod').'/settings/users') }}"><i class="fa fa-angle-double-right"></i> User Manager</a></li>
                            </ul>
                        </li>
                        <li>
                            <a href="{{ url(config('modules.likod').'/clients') }}">
                                <i class="fa fa-user-circle-o"></i> <span>Clients Directory</span>
                            </a>
                        </li>                 
                    </ul>
                </section>
            </aside>
            <div class="content-wrapper">
                <!-- <div class="container-fluid"> -->
                    @yield('page-body')
                <!-- </div> -->
            </div>

            <footer class="main-footer">
                <div class="container-fluid">
                    <div class="pull-right hidden-xs">
                        <b>Version:</b> {{ config('app.version') }}
                    </div>
                    <strong>Copyright &copy; 2016-{{ Date('Y') + 1}} <a href="http://www.quantumx.com">Quantum X, Inc</a>.</strong>
                </div>
            </footer>

        </div>

        <script src="{{ get_template('plugins/jQuery/jQuery-2.1.4.min.js') }}"></script>
        <script src="{{ get_template('plugins/jquery-ui-1.11.2/jquery-ui.min.js') }}" type="text/javascript"></script>
        <script src="{{ get_template('plugins/bootstrap-3.3.7/js/bootstrap.min.js') }}" type="text/javascript"></script>
        <script type="text/javascript" src="{{ get_template('plugins/slimScroll/jquery.slimscroll.min.js') }}"></script>
        <script type="text/javascript" src="{{ get_template('plugins/fastclick/fastclick.js') }}"></script>
        <script src="{{ get_template('/plugins/sweetalert2/dist/sweetalert2.min.js') }}" type="text/javascript"></script>
        <script src="{{ get_template('plugins/select2/select2.full.js') }}" type="text/javascript"></script>    
        <script src="{{ get_template('plugins/DataTables-1.10.12/media/js/jquery.dataTables.js') }}" type="text/javascript"></script>
        <script src="{{ get_template('plugins/DataTables-1.10.12/media/js/dataTables.bootstrap.js') }}" type="text/javascript"></script>
        <script type="text/javascript" src="{{ get_template('plugins/DataTables-1.10.12/extensions/Pagination/input_old.js') }}"></script>
        <script src="{{ get_template('plugins/bootstrap-wysihtml5/bootstrap3-wysihtml5.all.min.js') }}" type="text/javascript"></script>
        <script src="{{ get_template('plugins/iCheck/icheck.min.js') }}" type="text/javascript"></script>
        <!-- notifyjs -->
        <script src="{{ get_template('plugins/notifyjs/notify.min.js') }}" type="text/javascript"></script>
        <!-- token input -->
       <!--  <script type="text/javascript" src="{{ get_template('js/plugins/tokeninput/jquery.tokeninput.js') }}"></script> -->
        <!-- input mask -->
        <script type="text/javascript" src="{{ get_template('plugins/input-mask/jquery.inputmask.js') }}"></script>
        <script type="text/javascript" src="{{ get_template('plugins/input-mask/jquery.inputmask.date.extensions.js') }}"></script>
        <script type="text/javascript" src="{{ get_template('plugins/input-mask/jquery.inputmask.extensions.js') }}"></script>
        <script type="text/javascript" src="{{ get_template('plugins/tablednd/jquery.tablednd.0.7.min.js') }}"></script>
        <!-- AdminLTE App -->

        <script src="{{ get_template('dist/js/app.min.js') }}" type="text/javascript"></script>       
        <script type="text/javascript">
        $.ajaxSetup({
            headers: { 
                'X-CSRF-Token' : $('meta[name=csrf-token]').attr('content'),
            }
        });
        $(function () {
          $('[data-toggle="tooltip"]').tooltip();
        });
        </script>
        <script type="text/javascript" src="{{ get_template('dist/js/helpers.js') }}"></script>
        @yield('page-js')
    </body>
</html>PK�8]F
�~yy+Likod/Views/settings/users/create.blade.phpnu�Iw��@extends('Likod::layouts',['title'=>'Add User'])
@section('page-body')
     <!-- Content Header (Page header) -->
     <section class="content-header">
     <h1>
          <i class="fa fa-plus-circle" aria-hidden="true"></i> Add User
     </h1>
     <ol class="breadcrumb">
          <li><a href="#"><i class="fa fa-cog"></i>Settings</a></li>
          <li><a href="{{ url(config('modules.likod').'/settings/users') }}"><i class="fa fa-user"></i>User Manager</a></li>
          <li class="active">Add</li>            
     </ol>
     </section>
     <!-- Main content -->
     <section class="content">
          @include('Likod::message')
          @include('Likod::all-fields-are-required')
          {!! Form::open(['url'=>url(config('modules.likod').'/settings/users'),'method'=>'POST','class'=>'form-horizontal','role'=>'form','id'=>'user-form']) !!}
          <div class="box box-primary">
               <div class="box-body">
                    @include('Likod::settings.users.includes.form')
               </div>
               <div class="box-footer text-center">
                    <button class="btn btn-primary btn-flat"><i class="fa fa-save"></i>&nbsp;&nbsp;Save&nbsp;&nbsp;</button>
               </div>
          </div>
          {!! Form::close() !!}
     </section>
@stop
@section('page-js')
     @include('Likod::settings.users.includes.js')
     @include('Likod::notify')
@stopPK�8]8�~��2Likod/Views/settings/users/includes/form.blade.phpnu�Iw��@if (count($errors) > 0)
<div class="form-group"> 
    <div class="col-md-12">
        <div class="callout callout-danger">
            <h4>The following error occured.</h4>
            <ul>
                @foreach ($errors->all() as $error)
                    <li>{{ $error }}</li>
                @endforeach
            </ul>
        </div>
    </div>
</div>
@endif 
<div class="form-group {{ $errors->has('name') ? ' has-error' : '' }}">
    <label class="control-label col-md-3">Name: <i class="required">*</i></label>
    <div class="col-md-4">
        {!! Form::text('name', null , ['class'=>'form-control', 'placeholder'=>'Name', 'autocomplete'=>'off']) !!}
    </div>
</div>
<div class="form-group {{ $errors->has('email') ? ' has-error' : '' }}">
    <label class="control-label col-md-3">Email: <i class="required">*</i></label>
    <div class="col-md-4">
        {!! Form::text('email', null , ['class'=>'form-control', 'placeholder'=>'Email', 'autocomplete'=>'off']) !!}
    </div>
</div>
<div class="form-group {{ $errors->has('role_id') ? ' has-error' : '' }}">
    <label class="control-label col-md-3">Role: <i class="required">*</i></label>
    <div class="col-md-2">
        {!! Form::select('role_id', $roles, null, ['placeholder' => ' - Select -', 'class'=>'form-control']) !!}
    </div>
</div>
<div class="form-group {{ $errors->has('password') ? ' has-error' : '' }}">
    <label class="control-label col-md-3">Password: <i class="required">*</i></label>
    <div class="col-md-3">
        {!! Form::password('password', ['class'=>'form-control', 'id' => 'password', 'placeholder'=>'Password']) !!}
    </div>
</div>
<div class="form-group {{ $errors->has('password_confirmation') ? ' has-error' : '' }}">
    <label class="control-label col-md-3">Re-type Password: <i class="required">*</i></label>
    <div class="col-md-3">
        {!! Form::password('password_confirmation', ['class'=>'form-control', 'id' => 'password_confirmation' ,'placeholder'=>'Re-type Password']) !!}
    </div>
</div>PK�8]�_H
��0Likod/Views/settings/users/includes/js.blade.phpnu�Iw��<script type="text/javascript" src="{{ asset('vendor/jsvalidation/js/jsvalidation.js')}}"></script>
{!! JsValidator::formRequest('QxCMS\Modules\Likod\Requests\Settings\UserRequest', '#user-form'); !!}PK�8]����*Likod/Views/settings/users/index.blade.phpnu�Iw��@extends('Likod::layouts')
@section('page-body')
    <!-- Content Header (Page header) -->
    <section class="content-header">
        <h1>
            <i class="fa fa-user"></i> User Manager
        </h1>
        <ol class="breadcrumb">
            <li><a href="#"><i class="fa fa-cog"></i> Settings</a></li>
            <li class="active">User Manager</li>
        </ol>
    </section>
    <!-- Main content -->
    <section class="content">
        @include('Likod::message')
        <div class="callout callout-info" style="margin: 0 0 5px 0;">
        List of Users
        </div>
        <div class="box box-primary">
            <div class="box-header with-border">
                <span class="pull-right">
                    <a href="{{ url(config('modules.likod').'/settings/users/create') }}" data-toggle="tooltip" data-placement="top" title="" data-original-title="Add User"><button class="btn btn-primary btn-flat"><i class="fa fa-plus-circle"></i> Add User</button></a>
                </span>
            </div>
            <div class="box-body">
                <table class="table table-condensed table-bordered table-striped table-hover" id="users-table"width="100%">
                <thead>
                <tr>
                    <th>#</th>
                    <th>Name</th>
                    <th>Email</th>
                    <th>Role</th>
                    <th>Action</th>
                </tr>
                </thead>
               </table>
            </div>                
        </div>
    </section>
@stop
@section('page-js')
<script type="text/javascript" src="{{ get_template('js/plugins/datatables/extensions/Pagination/input_old.js') }}"></script>
<script type="text/javascript">
$(function() {
    var userTable = $('#users-table').DataTable({
    processing: true,
    serverSide: true,
    "pagingType": "input",
    ajax: '{!! url(config('modules.likod').'/settings/users/get-users-data') !!}',
        columns: [
            {
                width:'10px', searchable: false, orderable: false,
                render: function (data, type, row, meta) {
                    return meta.row + meta.settings._iDisplayStart + 1;
                }
            },
            { data: 'name', name: 'name' },
            { data: 'email', name: 'email', searchable: false},
            { data: 'role.name', name: 'role.name', searchable: false, orderable: false},
            { data: 'action', name: 'action', orderable: false, searchable: false, width:'50px', className:'text-center'},
        ],
        fnDrawCallback: function ( oSettings ) {
            $('[data-toggle="tooltip"]').tooltip();
            $("#users-table td").on("click", 'a#btn-delete', function() {
                var action = $(this).data('action');
                swal({
                    title: 'Are you sure you want to delete?',
                    text: "This will be permanently deleted",
                    type: 'warning',
                    showCancelButton: true,
                    confirmButtonColor: '#3085d6',
                    cancelButtonColor: '#d33',
                    confirmButtonText: 'Yes'
                    }).then(function () {                    
                    $.ajax({
                        type: "DELETE",
                        url: action,
                        dataType: 'json',
                        success: function(data) {
                            if(data.type == "success") {
                                userTable.draw();
                                swal(data.message, '', 'success')
                           }else{
                                swal(data.message, '', 'error')
                           }
                        },
                        error :function( jqXhr ) {
                            swal('Unable to delete.', 'Please try again.', 'error')
                        }
                    });
                })                
            });
        },
        "order": [[1, "asc"]],
    });
});
</script>
@include('Likod::notify')
@stopPK�8]A;�d��)Likod/Views/settings/users/edit.blade.phpnu�Iw��@extends('Likod::layouts',['title'=>'Edit User'])
@section('page-body')
     <!-- Content Header (Page header) -->
     <section class="content-header">
     <h1>
          <i class="fa fa-pencil"></i> Edit User
     </h1>
     <ol class="breadcrumb">
          <li><a href="#"><i class="fa fa-cog"></i>Settings</a></li>
          <li><a href="{{ url(config('modules.likod').'/settings/users') }}"><i class="fa fa-user"></i>User Manager</a></li>
          <li class="active">Edit</li>            
     </ol>
     </section>
     <!-- Main content -->
     <section class="content">
          @include('Likod::message')          
          @include('Likod::all-fields-are-required')          
          {!! Form::model($user, array('url' => config('modules.likod').'/settings/users/'.$user->hashid, 'method' => 'PUT', 'class'=>'form-horizontal', 'role' => 'form' , 'id'=>'user-form')) !!}
          <div class="box box-primary">
               <div class="box-body">
                    @include('Likod::settings.users.includes.form', ['id' => $user->id])
               </div>
               <div class="box-footer text-center">
                    <button class="btn btn-primary btn-flat"><i class="fa fa-save"></i>&nbsp;Save</button>
               </div>
          </div>
          {!! Form::close() !!}
     </section>
@stop
@section('page-js') 
     @include('Likod::settings.users.includes.js')
     @include('Likod::notify')
@stopPK�8]�HS�ll@Likod/Repositories/Clients/Clients/ClientRepositoryInterface.phpnu�Iw��<?php

namespace QxCMS\Modules\Likod\Repositories\Clients\Clients;

interface ClientRepositoryInterface
{

}PK�8]���~~7Likod/Repositories/Clients/Clients/ClientRepository.phpnu�[���<?php

namespace QxCMS\Modules\Likod\Repositories\Clients\Clients;
use Illuminate\Support\Str;
use QxCMS\Modules\AbstractRepository;
use QxCMS\Modules\Likod\Repositories\Clients\Clients\ClientRepositoryInterface;
use QxCMS\Modules\Likod\Models\Clients\Client;
use QxCMS\Modules\Likod\Models\Clients\User;
use QxCMS\Modules\Client\Models\Settings\Roles\Permission;
use QxCMS\Modules\Likod\Models\Developer\ClientModule;
use DB;
use Artisan;
use Config;
use Illuminate\Support\Arr;

class ClientRepository extends AbstractRepository implements ClientRepositoryInterface
{
    protected $model;
    protected $user;
    protected $permission;
    protected $clientModule;
    protected $db_prefix = "";

    function __construct(Client $model, User $user, Permission $permission, ClientModule $clientModule)
    {
        $this->model = $model;
        $this->user = $user;
        $this->permission = $permission;
        $this->clientModule = $clientModule;
        $this->db_prefix = env('DB_PREFIX', 'qxcms_');
    }

    public function create(array $request)
    {
        $client = $this->model->fill($this->makeClient($request));
        $client->save();
        $client->users()->create($this->makeUser($request, $client->id));
        $this->makeDB($client->database_name);
        $this->makeMigration($client);
        $this->makeRolePermission($client);
        return $client;
    }

    public function makeClient(array $request)
    {
        if (Str::endsWith($request['database_name'], 'db')) {
            $request['root_dir'] = substr($request['database_name'], 0, -2);
        } else {
            $request['root_dir'] = $request['database_name'];
        }
        return $request;
    }

    public function makeUser(array $request, $client_id)
    {
        return [
            'client_id' => $client_id,
            'name' => $request['name'],
            'username' => '',
            'email' => $request['email'],
            'password' => bcrypt($request['password']),
            'type_id' => 1,
            'role_id' => 2,
            'status' => $request['status'], 
        ];
    }

    public function makeDB($name)
    {
        if ($name != "") 
        {
            DB::statement('CREATE DATABASE IF NOT EXISTS '.$this->db_prefix.$name.';');
        }       
    }

    public function makeMigration($client)
    {
        $this->setConfig($client);
        return Artisan::call('migrate', array('--database'=>'client','--path'=>'database/migrations/client'));
    }

    public function makeRolePermission($client)
    {
        $this->setConfig($client);
        $clientModules = $this->clientModule->all();
        foreach ($clientModules as $clientModule) {
            $cmode = json_decode(json_encode($clientModule), true);
            $this->addPermission($cmode, 1);
            $this->addPermission($cmode, 2);
        }
        return $clientModules;
    }

    public function addPermission(array $clientModules, $role_id)
    {
        $id = $clientModules['id'];
        $this->permission->where('menu_id', $id)->where('role_id', $role_id)->delete();
        $this->permission->create($this->permissionRequest($clientModules, $role_id));
    }

    public function permissionRequest(array $clientModules, $role_id)
    {
        return $permissions = [
                'role_id' => $role_id,
                'menu_id' =>  $clientModules['id'],
                'can_access' => $clientModules['show_menu'],
                'can_create' => $clientModules['has_create'],
                'can_update' => $clientModules['has_update'],
                'can_delete' => $clientModules['has_delete'],
                'can_export' => $clientModules['has_export'],
                'can_import' => $clientModules['has_import'],
                'can_print' => $clientModules['has_print']
        ];
    }

    public function update($id, array $request, $client_config = true)
    {
        $client = $this->findById($id);
        $client->fill($this->getEditable($request));
        return $this->affectedRows($client, $client_config);
    }

    public function getEditable(array $request)
    {
        return Arr::except($request, ['database_name', 'root_dir', 'cpanel_email']);
    }

    public function affectedRows(Client $client, $client_config) 
    {
        if(count($client->getDirty()) > 0) {
            $client->save();
            session()->flash('success', 'Successfully updated.');
            if(!$client_config) {
                $this->logUser(85, 'Edit', auth('client')->user()->id, $client->id);
            }
        }
        return $client;
    }

    public function mainUser($id)
    {
        return $this->findById($id)->users()->where('type_id', 1)->first();
    }
}PK�8]X�b4Likod/Repositories/Settings/Users/UserRepository.phpnu�[���<?php

namespace QxCMS\Modules\Likod\Repositories\Settings\Users;
use Illuminate\Support\Arr;
use QxCMS\Modules\AbstractRepository;
use QxCMS\Modules\Likod\Repositories\Settings\Users\UserRepositoryInterface;
use QxCMS\Modules\Likod\User;
use QxCMS\Modules\Likod\Models\Settings\Roles\Role;

class UserRepository extends AbstractRepository implements UserRepositoryInterface
{
    protected $model;
    protected $role;
   
    function __construct(User $model, Role $role)
    {
        $this->model = $model;
        $this->role = $role;
    }

    public function create(array $request)
    {
        $user = $this->model->fill($this->makeUser($request));
        $user->save();
        return $user;
    }

    public function getUsersWithRole($columns = ['*'])
    {
        $users = $this->model->select($columns)->with('role');
        return $users;
    }

    public function update($id, array $request)
    {
        $user = $this->findById($id);
        $user->fill($this->changePassword($request));
        return $this->affectedRows($user);
    }

    public function affectedRows(User $user) 
    {
        if(count($user->getDirty()) > 0) {
            $user->save();
            session()->flash('success', 'Successfully updated.');
        }
        return $user;
    }

    public function makeUser(array $request)
    {
        return $request;
    }

    public function changePassword(array $request)
    {
        $confirm_password = $request['password_confirmation'];
        
        if(!empty($confirm_password)) {
            $request['password'] = bcrypt($confirm_password);
            return $request;
        }

        return  Arr::except($request, ['password_confirmation','password']);
    }

    public function getRoleLists($role_id = 1)
    {
        if($role_id == 1) return $this->role->pluck('name', 'id');
        return  $this->role->where('id', '<>', 1)->pluck('name', 'id');
    }

    public function delete($id)
    {
        $user = $this->findById($id);
        $user->delete();
        return true;
    }
}PK�8]�ܝii=Likod/Repositories/Settings/Users/UserRepositoryInterface.phpnu�Iw��<?php

namespace QxCMS\Modules\Likod\Repositories\Settings\Users;

interface UserRepositoryInterface
{

}PK�8]�y�d�d4Likod/Repositories/Settings/Roles/RoleRepository.phpnu�[���<?php

namespace QxCMS\Modules\Likod\Repositories\Settings\Roles;
use Illuminate\Support\Arr;
use QxCMS\Modules\AbstractRepository;
use QxCMS\Modules\Likod\Repositories\Settings\Roles\RoleRepositoryInterface;
use QxCMS\Modules\Likod\Models\Settings\Roles\Role;
use QxCMS\Modules\Likod\Models\Settings\Roles\Permission;
use QxCMS\Modules\Likod\Models\Developer\Module;
use DB;
use File;

class RoleRepository extends AbstractRepository implements RoleRepositoryInterface
{
    protected $model;
    protected $module;
    protected $permission;

    function __construct(Role $model, Module $module, Permission $permission)
    {
        $this->model = $model;
        $this->module = $module;
        $this->permission = $permission;
    }

   
    public function create(array $request)
    {
        $role = $this->model->fill($this->makeRole($request));
        $role->save();
        $this->makeRolePermissions($request, $role->id);
        return $role;
    }

    public function makeRole(array $request)
    {
        return Arr::except($request, ['module']);
    }


    public function makeRolePermissions(array $request, $role_id)
    {
        $modules = isset($request['module']) ? $request['module']:array();
        $this->permission->where('role_id', $role_id)->delete();
        if (count($modules) <= 0) return;
        foreach ($modules as $module_id => $module) {
            $module['role_id'] = $role_id;
            $module['module_id'] = $module_id;
            $this->permission->create($this->makeModulePermissions($module));
        }
        return $module;
    }

    public function makeModulePermissions(array $module)
    {
        return $useroles = [
            'menu_id' => $module['module_id'],
            'role_id' => $module['role_id'],
            'can_access' => (isset($module['can_access']) && !empty($module['can_access'])) ? $module['can_access']:0,
            'can_create' => (isset($module['can_create']) && !empty($module['can_create'])) ? $module['can_create']:0,
            'can_update' => (isset($module['can_update']) && !empty($module['can_update'])) ? $module['can_update']:0,
            'can_delete' => (isset($module['can_delete']) && !empty($module['can_delete'])) ? $module['can_delete']:0,
            'can_export' => (isset($module['can_export']) && !empty($module['can_export'])) ? $module['can_export']:0,
            'can_import' => (isset($module['can_import']) && !empty($module['can_upload'])) ? $module['can_import']:0,
            'can_print' => (isset($module['can_print']) && !empty($module['can_print'])) ? $module['can_print']:0,
        ];
    }

    public function select($columns = ['*'])
    {
        $roles = $this->model->select($columns);
        return $roles;
    }

    public function update($id, array $request)
    {
        $role = $this->findById($id);
        $role->fill($this->makeRole($request));
        $role->save();
        $this->makeRolePermissions($request, $role->id);
        $this->write_menu($id);
        return $role;
    }

    public function delete($id)
    {
        $role = $this->model->findOrFail($id);
        if(!$this->checkIfInUsed($role->users()->count())) return false;
        $role->permissions()->delete();
        $role->delete();
        return true;
    }

    public function checkIfInUsed($count = 0)
    {
        return (($count > 0) ? false:true); 
    }
    
    function build_role_permissions($role_id = 0, $disabled = '')
    {
        $modules = $this->module->select([
            'modules.*',
            'ups.can_access',
            'ups.can_delete',
            'ups.can_update',
            'ups.can_create', 
            'ups.can_export',
            'ups.can_import',
            'ups.can_print'
            ])
            ->where('modules.parent_id', 0)
            ->where('modules.menu_group_id', 1)
            ->where('modules.show_menu', 1)
            ->leftJoin(DB::raw('(SELECT * FROM role_permissions where role_id = '.$role_id.' ) as ups'), 'modules.id', '=', 'ups.menu_id')
            ->get();        
        $html_out = "<div class=\"box-group\" id=\"accordion\">";
        foreach ($modules as $module_key => $row )
        {
            $id = $row->id;
            $title = $row->title;
            $link_type = $row->link_type;
            $page_id = $row->page_id;
            $module_name = $row->module_name;
            $url = $row->url;
            $uri = $row->uri;
            $icon = $row->icon;
            $menu_group_id = $row->menu_group_id;
            $position = $row->position;
            $target = $row->target;
            $parent_id = $row->parent_id;
            $is_parent = $row->is_parent;
            $show_menu = $row->show_menu;
            $can_access = $row->can_access;
            $can_create = $row->can_create;
            $can_update = $row->can_update;
            $can_delete = $row->can_delete;
            $can_export = $row->can_export;
            $can_import = $row->can_import;
            $can_print = $row->can_print;
            $html_out .= "<div class=\"panel box box-primary\">";
                $html_out .= "<div class=\"box-header with-border\" data-toggle=\"collapse\" href=\"#collapse".$id."\" style=\"cursor:pointer;\"";
                    $html_out .= "<h4 class=\"box-title\">";
                        $html_out .= "<a href=\"\">";
                             $html_out .= "<b><input name=\"module[".$id."][can_access]\" value=\"1\" class=\"main-menu\" type=\"checkbox\" ".(($can_access) ? 'checked':'')." data-id=\"".$id."\" data-permission=\"show\" data-access-id=\"".$role_id."\" ".$disabled.">&nbsp;<i class=\"fa fa-".$icon."\"></i>&nbsp;".$title."</b>";
                        $html_out .= "</a>";
                    $html_out .= "</h4>";
                $html_out .= "</div>";
                $html_out .= "<div id=\"collapse".$id."\" class=\"panel-collapse collapse in\">";
                    $html_out .= "<div class=\"box-body\" style=\"padding:0 !important\">";
                        $html_out   .= '<table class="table table-condensed table-bordered">';
                            $html_out .= "<thead>";
                                $html_out .= "<tr valign='middle'>";
                                        $html_out .= "<th colspan=\"3\" > Title</th>";

                                        $html_out .= "<th colspan=\"7\" style=\"text-align:center !important;\"> <b>Permissions</b> </th>";
                                $html_out .= "</tr>"; 
                            $html_out .= "</thead>";                    
                            $html_out .= "<tbody>";
                                $html_out .= "<tr>";
                                        $html_out .= "<td align=\"center\" colspan=\"3 \"></td>";
                                        $html_out .= "<td align=\"center\"> <b>Activate</b> </td>";
                                        $html_out .= "<td align=\"center\"> <b>Create</b> </td>";
                                        $html_out .= "<td align=\"center\"> <b>Update</b> </td>";
                                        $html_out .= "<td align=\"center\"> <b>Delete</b> </td>";
                                        $html_out .= "<td align=\"center\"> <b>Export</b> </td>";
                                        $html_out .= "<td align=\"center\"> <b>Import</b> </td>";
                                        $html_out .= "<td align=\"center\"> <b>Print</b> </td>";
                                $html_out .= "</tr>"; 
                                $html_out .=  $this->get_childs_role_permissions($id, $role_id, $disabled);
                            $html_out .= "</tbody>";
                        $html_out .= '</table>';
                    $html_out .= "</div>";
                $html_out .= "</div>";
            $html_out .= "</div>";
        }
        $html_out   .= '</div>';
        return $html_out;
    }

    function get_childs_role_permissions($id, $role_id, $disabled)
    {
        $has_subcats = FALSE; 
        $html_out  = '';
        $modules = $this->module->select('modules.*','ups.can_access','ups.can_delete','ups.can_update', 'ups.can_create', 'ups.can_export', 'ups.can_import', 'ups.can_print')
            ->where('modules.parent_id', $id)
            ->where('modules.menu_group_id', 1)
            ->where('modules.show_menu', 1)
            ->leftJoin(DB::raw('(SELECT * FROM role_permissions where role_id = '.$role_id.' ) as ups'), 'modules.id', '=', 'ups.menu_id')
            ->orderBy('modules.title', 'ASC')
            ->get();
        foreach ($modules as $module_key => $row )
        {
            $id = $row->id;
            $hashid = $row->hashid;
            $title = $row->title;
            $link_type = $row->link_type;
            $page_id = $row->page_id;
            $module_name = $row->module_name;
            $url = $row->url;
            $uri = $row->uri;
            $icon = $row->icon;
            $dyn_group_id = $row->menu_group_id;
            $position = $row->position;
            $target = $row->target;
            $parent_id = $row->parent_id;
            $is_parent = $row->is_parent;
            $show_menu = $row->show_menu;
            $has_read = $row->has_read;
            $has_create = $row->has_create;
            $has_update = $row->has_update;
            $has_delete = $row->has_delete;
            $has_export = $row->has_export;
            $has_import = $row->has_import;
            $has_print = $row->has_print;
            $can_access = $row->can_access;
            $can_create = $row->can_create;
            $can_update = $row->can_update;
            $can_delete = $row->can_delete;
            $can_export = $row->can_export;
            $can_import = $row->can_import;
            $can_print = $row->can_print;
            $has_subcats = TRUE;
            if ($is_parent == 1) {
                $html_out .= "<tr valign='top' class='sub-parent-tr'>";
                $html_out .= "<td colspan=\"3\" rowspan=\"1\"><b><i class=\"fa fa-".$icon."\"></i>&nbsp;".$title ."&nbsp;</b><i class=\"fa fa-long-arrow-right\"></i> </td>";
                $html_out .= "<td colspan=\"1\" align=\"center\"><input name=\"module[".$id."][can_access]\" value=\"1\" class=\"sub-menu\" type=\"checkbox\" ".(($can_access) ? 'checked':'')." data-id=\"".$id."\" data-permission=\"show\" data-access-id=\"".$role_id."\" ".$disabled."></td>";
                $html_out .= "<td align=\"center\" colspan=\"8\">";
                $html_out .= "</td>";
                $html_out .= "</tr>";
                $html_out .= $this->get_childs2($id, $role_id,  $disabled);                        
            } else {                    
                $html_out .= "<tr valign='top' class='sub-parent-tr'>";
                $html_out .= "<td  colspan=\"3\" width=\"20%\" style='white-space:nowrap;'><i class=\"fa fa-".$icon."\"></i>&nbsp;".$title."</td>";
                $html_out .= "<td width=\"10%\" align=\"center\">";
                $html_out .= "<label><input name=\"module[".$id."][can_access]\" value=\"1\"  class=\"sub-menu\" type=\"checkbox\" ".(($can_access) ? 'checked':'')." data-id=\"".$id."\" data-permission=\"show\" data-access-id=\"".$role_id."\" ".$disabled."></label>";
                $html_out .= "</td>";
                $html_out .= "<td width=\"10%\" align=\"center\">";
                if ($has_create) {
                    $html_out .= "<label><input name=\"module[".$id."][can_create]\" value=\"1\" class=\"sub-menu\" type=\"checkbox\" ".(($can_create) ? 'checked':'')." data-id=\"".$id."\" data-permission=\"create\" data-access-id=\"".$role_id."\" ".$disabled."></label>";
                } else {
                    $html_out .= "<span class=\"fa fa-times text-red\"></span>";
                }
                $html_out .= "</td>";
                $html_out .= "<td width=\"10%\" align=\"center\">";
                if ($has_update) {
                    $html_out .= "<label><input name=\"module[".$id."][can_update]\" value=\"1\" class=\"sub-menu\" type=\"checkbox\" ".(($can_update) ? 'checked':'')." data-id=\"".$id."\" data-permission=\"update\" data-access-id=\"".$role_id."\" ".$disabled."></label>";
                } else {
                    $html_out .= "<span class=\"fa fa-times text-red\"></span>";
                }
                $html_out .= "</td>";
                $html_out .= "<td width=\"10%\" align=\"center\">";
                if ($has_delete) {
                    $html_out .= "<label><input name=\"module[".$id."][can_delete]\" value=\"1\" class=\"sub-menu\" type=\"checkbox\" ".(($can_delete) ? 'checked':'')." data-id=\"".$id."\" data-permission=\"delete\" data-access-id=\"".$role_id."\" ".$disabled."></label>";
                } else {
                   $html_out .= "<span class=\"fa fa-times text-red\"></span>";
                }
                $html_out .= "</td>";
                $html_out .= "<td width=\"10%\" align=\"center\">";
                if ($has_export) {
                    $html_out .= "<label><input name=\"module[".$id."][can_export]\" value=\"1\" class=\"sub-menu\" type=\"checkbox\" ".(($can_export) ? 'checked':'')." data-id=\"".$id."\" data-permission=\"export\" data-access-id=\"".$role_id."\" ".$disabled."></label>";
                } else {
                    $html_out .= "<span class=\"fa fa-times text-red\"></span>";
                }
                $html_out .= "</td>";
                $html_out .= "<td width=\"10%\" align=\"center\">";
                if ($has_import) {
                    $html_out .= "<label><input name=\"module[".$id."][can_import]\" value=\"1\" class=\"sub-menu\" type=\"checkbox\" ".(($can_import) ? 'checked':'')." data-id=\"".$id."\" data-permission=\"import\" data-access-id=\"".$role_id."\" ".$disabled."></label>";
                } else {
                    $html_out .= "<span class=\"fa fa-times text-red\"></span>";
                }
                $html_out .= "</td>";
                $html_out .= "<td width=\"10%\" align=\"center\">";
                if ($has_print) {
                    $html_out .= "<label><input name=\"module[".$id."][can_print]\" value=\"1\" class=\"sub-menu\" type=\"checkbox\" ".(($can_print) ? 'checked':'')." data-id=\"".$id."\" data-permission=\"print\" data-access-id=\"".$role_id."\" ".$disabled."></label>";
                } else {
                    $html_out .= "<span class=\"fa fa-times text-red\"></span>";
                }
                $html_out .= "</td>";
                $html_out .= '</tr>';                             
            }   
        }
        return ($has_subcats) ? $html_out : FALSE;
    }

    function get_childs2($id, $role_id, $disabled)
    {
        $has_subcats = FALSE; 
        $html_out  = '';
        $modules = $this->module->select('modules.*','ups.can_access','ups.can_delete','ups.can_update', 'ups.can_create', 'ups.can_export', 'ups.can_import', 'ups.can_print')
            ->where('modules.parent_id', $id)
            ->where('modules.menu_group_id', 1)
            ->where('modules.show_menu', 1)
            ->leftJoin(DB::raw('(SELECT * FROM role_permissions where role_id = '.$role_id.' ) as ups'), 'modules.id', '=', 'ups.menu_id')
            ->orderBy('modules.title', 'ASC')
            ->get();          
        foreach ($modules as $module_key => $row )
        {
            $id = $row->id;
            $title = $row->title;
            $link_type = $row->link_type;
            $page_id = $row->page_id;
            $module_name = $row->module_name;
            $url = $row->url;
            $uri = $row->uri;
            $dyn_group_id = $row->menu_group_id;
            $position = $row->position;
            $target = $row->target;
            $parent_id = $row->parent_id;
            $is_parent = $row->is_parent;
            $show_menu = $row->show_menu;
            $has_read = $row->has_read;
            $has_create = $row->has_create;
            $has_update = $row->has_update;
            $has_delete = $row->has_delete;
            $has_export = $row->has_export;
            $has_import = $row->has_import;
            $has_print = $row->has_print;                    
            $can_access = $row->can_access;
            $can_create = $row->can_create;
            $can_update = $row->can_update;
            $can_delete = $row->can_delete;
            $can_export = $row->can_export;
            $can_import = $row->can_import;
            $can_print = $row->can_print;
            $has_subcats = TRUE;
            $html_out .= "<tr valign='top' class='sub-child-tr sub-table'>";
            if($module_key == 0) {
                $html_out .= "<td rowspan=\"".count($modules)."\" colspan=\"2\" width=\"20%\" style='white-space:nowrap;background-color:#E1E1E1'></td>";
            }           
            $html_out .= "<td nowrap=\"nowrap\"> &nbsp;".$title."- ID: ".$id."</td>";
            $html_out .= "<td width=\"10%\" align=\"center\">";
            $html_out .= "<label><input name=\"module[".$id."][can_access]\" value=\"1\"  class=\"icheck\" type=\"checkbox\" ".(($can_access) ? 'checked':'')." data-id=\"".$id."\" data-permission=\"show\" data-access-id=\"".$role_id."\" ".$disabled."></label>";
            $html_out .= "</td>";
            $html_out .= "<td width=\"10%\" align=\"center\">";
            if ($has_create) {
                $html_out .= "<label><input name=\"module[".$id."][can_create]\" value=\"1\" class=\"icheck\" type=\"checkbox\" ".(($can_create) ? 'checked':'')." data-id=\"".$id."\" data-permission=\"create\" data-access-id=\"".$role_id."\" ".$disabled."></label>";
            } else {
                $html_out .= "<span class=\"fa fa-times text-red\"></span>";
            }
            $html_out .= "</td>";
            $html_out .= "<td width=\"10%\" align=\"center\">";
            if ($has_update) {
                $html_out .= "<label><input name=\"module[".$id."][can_update]\" value=\"1\" class=\"icheck\" type=\"checkbox\" ".(($can_update) ? 'checked':'')." data-id=\"".$id."\" data-permission=\"update\" data-access-id=\"".$role_id."\" ".$disabled."></label>";
            } else {
                $html_out .= "<span class=\"fa fa-times text-red\"></span>";
            }
            $html_out .= "</td>";
            $html_out .= "<td width=\"10%\" align=\"center\">";
            if ($has_delete) {
                $html_out .= "<label><input name=\"module[".$id."][can_delete]\" value=\"1\" class=\"icheck\" type=\"checkbox\" ".(($can_delete) ? 'checked':'')." data-id=\"".$id."\" data-permission=\"delete\" data-access-id=\"".$role_id."\" ".$disabled."></label>";
            } else {
               $html_out .= "<span class=\"fa fa-times text-red\"></span>";
            }
            $html_out .= "</td>";
            $html_out .= "<td width=\"10%\" align=\"center\">";
            if ($has_export) {
                $html_out .= "<label><input name=\"module[".$id."][can_export]\" value=\"1\" class=\"icheck\" type=\"checkbox\" ".(($can_export) ? 'checked':'')." data-id=\"".$id."\" data-permission=\"export\" data-access-id=\"".$role_id."\" ".$disabled."></label>";
            } else {
                $html_out .= "<span class=\"fa fa-times text-red\"></span>";
            }
            $html_out .= "</td>";
            $html_out .= "<td width=\"10%\" align=\"center\">";
            if ($has_import) {
                $html_out .= "<label><input name=\"module[".$id."][can_import]\" value=\"1\" class=\"icheck\" type=\"checkbox\" ".(($can_import) ? 'checked':'')." data-id=\"".$id."\" data-permission=\"import\" data-access-id=\"".$role_id."\" ".$disabled."></label>";
            } else {
                $html_out .= "<span class=\"fa fa-times text-red\"></span>";
            }
            $html_out .= "</td>";
            $html_out .= "<td width=\"10%\" align=\"center\">";
            if ($has_print) {
                $html_out .= "<label><input name=\"module[".$id."][can_print]\" value=\"1\" class=\"icheck\" type=\"checkbox\" ".(($can_print) ? 'checked':'')." data-id=\"".$id."\" data-permission=\"print\" data-access-id=\"".$role_id."\" ".$disabled."></label>";
            } else {
                $html_out .= "<span class=\"fa fa-times text-red\"></span>";
            }
            $html_out .= "</td>";
            $html_out .= '</tr>';
        }
        return ($has_subcats) ? $html_out : FALSE;        
    }

    function build_menu($role_id = 0)
    {
        $modules = $this->module->select('modules.*','ups.can_access','ups.can_delete','ups.can_update', 'ups.can_create', 'ups.can_export', 'ups.can_import', 'ups.can_print')
            ->where('modules.parent_id', 0)
            ->where('modules.menu_group_id', 1)
            ->where('modules.show_menu', 1)
            ->where('ups.can_access', 1)
            ->leftJoin(DB::raw('(SELECT * FROM role_permissions where role_id = '.$role_id.' ) as ups'), 'modules.id', '=', 'ups.menu_id')
            ->where('ups.can_access', 1)
            ->orderBy('id', 'ASC')
            ->get();
        $html_out = "\t"."<ul class=\"nav navbar-nav\">"."\n";
        $html_out .= "\t\t"."<li>"."\n";
        $html_out .= "\t\t\t"."<a href=\"#\"><i class=\"fa fa-cogs\"></i> Developer <span class=\"caret\"></span></a>"."\n";
        $html_out .= "\t\t\t\t"."<ul class=\"dropdown-menu\" role=\"menu\">"."\n";
        $html_out .= "\t\t\t\t\t"."<li><a href=\"".url(config('modules.likod').'/developer/modules')."\"><i class=\"fa fa-cubes\"></i> Module Manager</a></li>"."\n";
        $html_out .= "\t\t\t\t\t"."<li><a href=\"".url(config('modules.likod').'/developer/client-modules')."\"><i class=\"fa fa-cubes\"></i> QxCMS Module Manager</a></li>"."\n";
        $html_out .= "\t\t\t\t"."</ul>"."\n";
        $html_out .= "\t\t"."</li>"."\n";
        foreach ($modules as $menu_key => $row )
        {               
            $id = $row->id;
            $hashid = $row->hashid;
            $title = $row->title;
            $link_type = $row->link_type;
            $page_id = $row->page_id;
            $module_name = $row->module_name;
            $url = $row->url;
            $uri = $row->uri;
            $icon = $row->icon;
            $menu_group_id = $row->menu_group_id;
            $position = $row->position;
            $target = $row->target;
            $parent_id = $row->parent_id;
            $is_parent = $row->is_parent;
            $show_menu = $row->show_menu;    
            if ($show_menu && $parent_id == 0) {
                if ($is_parent == TRUE) {
                    $html_out .= "\t\t"."<li>"."\n";
                    $html_out .= "\t\t\t"."<a href=\"#\"><i class=\"fa fa-".$icon."\"></i> ".$title." <span class=\"caret\"></span></a>"."\n";
                } else {
                    $html_out .= "\t\t"."<li>"."\n";
                    $html_out .= "\t\t\t".'<a href="'.url(config('modules.likod').'/'.$url).'" title="'.$title.'" id="menu'.$id.'" target="'.$target.'"><span class="fa fa-'.$icon.'"></span>&nbsp;'.$title.'</a>'."\n";
                }   
                $html_out .= $this->get_menu_childs($role_id, $id);
            }
            $html_out .= '</li>'."\n";
        }
        $html_out .= "\t\t".'</ul>' . "\n";
        return $html_out;
    }

    function get_menu_childs($role_id, $id)
    {
        $has_subcats = FALSE;
        $html_out  = '';
        $html_out .= "\t\t\t\t\t".'<ul class="dropdown-menu">'."\n";
        $modules = $this->module->select('modules.*','ups.can_access','ups.can_delete','ups.can_update', 'ups.can_create', 'ups.can_export', 'ups.can_import', 'ups.can_print')
            ->where('modules.parent_id', $id)
            ->where('modules.menu_group_id', 1)
            ->where('modules.show_menu', 1)
            ->where('ups.can_access', 1)
            ->leftJoin(DB::raw('(SELECT * FROM role_permissions where role_id = '.$role_id.' ) as ups'), 'modules.id', '=', 'ups.menu_id')
            ->orderBy('modules.title', 'ASC')
            ->get();
        foreach ($modules as $menu_key => $row )
        {
            $id = $row->id;
            $hashid = $row->hashid;
            $title = $row->title;
            $link_type = $row->link_type;
            $page_id = $row->page_id;
            $module_name = $row->module_name;
            $url = $row->url;
            $uri = $row->uri;
            $icon = $row->icon;
            $menu_group_id = $row->menu_group_id;
            $position = $row->position;
            $target = $row->target;
            $parent_id = $row->parent_id;
            $is_parent = $row->is_parent;
            $show_menu = $row->can_access;
            $has_subcats = TRUE;
            if($show_menu) {
                if ($is_parent == TRUE) {
                    $html_out .= "\t\t\t".'<li  class="dropdown"><a href="'.(($uri != "") ? $uri:'#').'" title="'.$title.'" id="'.$id.'" target="'.$target.'"><i class="fa fa-'.$icon.'"></i>&nbsp;'.$title.'&nbsp;></a>';
     
                } else {
                    $html_out .= "\t\t\t".'<li><a href="'.url(config('modules.likod').'/'.$url).'" title="'.$title.'" id="'.$id.'" target="'.$target.'"><i class="fa fa-'.$icon.'"></i>&nbsp;'.$title.'</a>';
                }
            }
            $html_out .= $this->get_menu_childs($role_id, $id);
            $html_out .= '</li>' . "\n";
        }
        $html_out .= "\t\t\t\t\t".'</ul>' . "\n";
        return ($has_subcats) ? $html_out : FALSE;
    }

    function write_menu($role_id)
    {
        $view_path = realpath(app_path()).'/Modules/Likod/Views';
        $realpath =  $view_path."/cache/menus/";
        File::makeDirectory($realpath, 0775, true, true);
        $filename = "custom_".$role_id.".blade.php"; 
        $contents = $this->build_menu($role_id);
        $created = File::put($realpath.$filename, $contents);
    }
}PK�8]��&ii=Likod/Repositories/Settings/Roles/RoleRepositoryInterface.phpnu�Iw��<?php

namespace QxCMS\Modules\Likod\Repositories\Settings\Roles;

interface RoleRepositoryInterface
{

}PK�8]clx9�	�	Likod/routes.phpnu�Iw��<?php
Route::group(['namespace'=>'Auth', 'prefix' => 'auth'], function(){
    Route::get('/logout', 'AuthController@logout');
    Route::group(['prefix'=>'login', 'middleware'=>'guest.likod'], function(){
        Route::get('/',  'AuthController@getLogin');
        Route::post('/', 'AuthController@postLogin');
    });
});

Route::group(['middleware'=>['auth.likod']], function(){
    Route::get('/', function(){
        return redirect('likod/auth/login');
    });
    Route::group(['namespace'=>'Dashboard'], function(){
        Route::group(['prefix'=>'dashboard'], function(){
            Route::get('/', 'DashboardController@dashboard');
        });
    });
    Route::group(['namespace'=>'Settings'], function() {        
        Route::group(['prefix'=>'settings'], function() {
            Route::group(['prefix' => 'users'], function() {
                Route::get('get-users-data', 'UserController@getUsersData');
            });
            Route::resource('users', 'UserController',
            [
                'names' => [
                    'index' => config('modules.likod').'.settings.users.index',
                    'create' => config('modules.likod').'.settings.users.create',
                    'store' => config('modules.likod').'.settings.users.store',
                    'show' => config('modules.likod').'.settings.users.show',
                    'edit' => config('modules.likod').'.settings.users.edit',
                    'update' => config('modules.likod').'.settings.users.update',
                    'destroy' => config('modules.likod').'.settings.users.destroy'
                ]
            ]);           
        });
    });
    Route::group(['namespace'=>'Clients'], function() {
        Route::group(['prefix' => 'clients'], function() {
            Route::post('get-clients-data', 'ClientsController@getClientsData');
            Route::get('{id}/login', 'ClientsController@login');
        });
        Route::resource('clients', 'ClientsController',
        [
            'names' => [
                'index' => config('modules.likod').'.clients.index',
                'create' => config('modules.likod').'.clients.create',
                'store' => config('modules.likod').'.clients.store',
                'show' => config('modules.likod').'.clients.show',
                'edit' => config('modules.likod').'.clients.edit',
                'update' => config('modules.likod').'.clients.update',
                'destroy' => config('modules.likod').'.clients.destroy'
            ]
        ]);
    });
});PK�8]��y11/Likod/Controllers/Clients/ClientsController.phpnu�[���<?php

namespace QxCMS\Modules\Likod\Controllers\Clients;

use Illuminate\Http\Request;
use QxCMS\Modules\Likod\Requests\Clients\ClientRequest;

use QxCMS\Http\Controllers\Controller;
use QxCMS\Modules\Likod\Repositories\Clients\Clients\ClientRepositoryInterface as Client;
use QxCMS\Modules\Client\Repositories\Settings\Roles\RoleRepositoryInterface as Role;
use DB;
use Datatables;
use Auth;
use Lang;
use Gate;
class ClientsController extends Controller
{
	protected $client;
    protected $role;
	protected $auth;
	protected $prefix_name = '';

	public function __construct(Client $client, Role $role)
	{
		$this->auth = Auth::guard('likod');
		$this->prefix_name = config('modules.likod');
		$this->client = $client;
        $this->role = $role;
	}

    public function index()
    {
        return view('Likod::clients.index');
    }

    public function create()
    {
        $data['datepickerformats'] =  config('account.dateformat.lists');
        $data['displaydateformats'] =  config('account.displaydateformat.lists');
        $data['nameformats'] =  config('account.nameformat');
        $data['mail_driver'] =  config('account.mail.driver');
        $data['storage_type'] =  config('account.storage.types');
    	return view('Likod::clients.create', $data);
    }

    public function store(ClientRequest $request)
    {
        $this->client->create($request->all());
        $request->session()->flash('success', 'Client successfully created.');
        return redirect()->route($this->prefix_name.'.clients.index');
    }

    public function edit($hashid)
    {
        $id = decode($hashid);
        $data['client'] = $client = $this->client->findById($id);
        $data['datepickerformats'] =  config('account.dateformat.lists');
        $data['displaydateformats'] =  config('account.displaydateformat.lists');
        $data['nameformats'] =  config('account.nameformat');
        $data['mail_driver'] =  config('account.mail.driver');
        $data['storage_type'] =  config('account.storage.types');
        return view('Likod::clients.edit', $data);
    }

    public function update(ClientRequest $request, $hashid)
    {
        $id = decode($hashid);
        $this->client->update($id, $request->all());
        return redirect($this->prefix_name.'/clients');
    }

    public function login(Request $request, $hashid)
    {
        $id = decode($hashid);
        $user = $this->client->mainUser($id);
        if (Auth::guard('client')->loginUsingId($user->id)) {
            if(Auth::guard('client')->user()->client->status==1) {
                $this->role->setConfig($user->client);
                $this->role->write_menu($user->client->id, $user->role_id);
                return redirect(config('modules.client').'/dashboard');
            } else {
                Auth::guard('client')->logout();
                $request->session()->regenerate();
                session()->flash('error', 'This client is inactive.');
                return redirect(config('modules.client').'/auth/login');
            }                    
        }
        $request->session()->flash('error','Unable to login this account.');
        return redirect($this->prefix_name.'/clients');
    }

    /*
    * Datatables
    */
    public function getClientsData()
    {        
        $clients =  $this->client->select([
            'id',
            'client_name',
            'number_of_users',
            'monthly_mail_quota',
            'disk_size',
            'status'
        ]);
        return Datatables::of($clients)
            ->editColumn('number_of_users',function($client){
                if($client->number_of_users == 0) return 'Unlimited';
                return $client->number_of_users;
            })
            ->editColumn('monthly_mail_quota',function($client){
                if($client->monthly_mail_quota == 0) return 'Unlimited';
                return $client->monthly_mail_quota;
            })
            ->editColumn('disk_size',function($client){
                if($client->disk_size == 0) return 'Unlimited';
                return $client->disk_size;
            })
            ->editColumn('status',function($client){
                if($client->status == 0) return '<span class="label label-danger">Deactivated</span>';
                return '<span class="label label-success">Activated</span>';
            })
            ->addColumn('action', function ($client) {
                $html_out = '';
                $html_out .= '<a href="'.url($this->prefix_name.'/clients/'.$client->hashid.'/edit').'" class="btn btn-xs btn-flat btn-warning" data-toggle="tooltip" data-placement="top" title="Edit"><i class="fa fa-pencil"></i></a>&nbsp;&nbsp;';
                $html_out .= '<a href="'.url($this->prefix_name.'/clients/'.$client->hashid.'/login').'" class="btn btn-xs btn-flat btn-success" data-toggle="tooltip" data-placement="top" title="Login" target="_blank"><i class="fa fa-sign-in"></i></a>&nbsp;&nbsp;';
                return $html_out;
            })
            ->rawColumns(['status', 'action'])
            ->make(true);
    }

    public function setConfig($client)
    {
        if(!empty($client)) {
          return  Config::set('database.connections.client', array(
                'driver'    => 'mysql',
                'host'      => $client->database_host,
                'database'  => 'myradh_'.$client->database_name,
                'username'  => $client->database_username,
                'password'  => $client->database_password,
                'charset'   => 'utf8',
                'collation' => 'utf8_unicode_ci',
                'prefix'    => '',
            ));
        }
    }
}PK�8]38��)Likod/Controllers/Auth/AuthController.phpnu�Iw��<?php

namespace QxCMS\Modules\Likod\Controllers\Auth;

use QxCMS\Modules\Likod\User;
use Validator;
use JsValidator;
use Auth;
use Illuminate\Http\Request;
use QxCMS\Http\Controllers\Controller;
use Illuminate\Foundation\Auth\AuthenticatesUsers;
use QxCMS\Modules\Likod\Repositories\Settings\Roles\RoleRepositoryInterface as Role;

class AuthController extends Controller
{
    /*
    |--------------------------------------------------------------------------
    | Registration & Login Controller
    |--------------------------------------------------------------------------
    |
    | This controller handles the registration of new users, as well as the
    | authentication of existing users. By default, this controller uses
    | a simple trait to add these behaviors. Why don't you explore it?
    |
    */

    use AuthenticatesUsers;

    /**
     * Where to redirect users after login / registration.
     *
     * @var string
     */
    protected $redirectTo = '/likod/dashboard';
    protected $guard = 'likod';
    protected $redirectAfterLogout = 'likod/auth/login';
    protected $role;
    /**
     * Create a new authentication controller instance.
     *
     * @return void
     */
    public function __construct(Role $role)
    {
        $this->middleware('guest.likod', ['except' => 'logout']);
        $this->role = $role;
    }

    /**
     * Get a validator for an incoming registration request.
     *
     * @param  array  $data
     * @return \Illuminate\Contracts\Validation\Validator
     */
    protected function validator(array $data)
    {
        return Validator::make($data, [
            'name' => 'required|max:255',
            'email' => 'required|email|max:255|unique:users',
            'password' => 'required|confirmed|min:6',
        ]);
    }

    /**
     * Create a new user instance after a valid registration.
     *
     * @param  array  $data
     * @return User
     */
    protected function create(array $data)
    {
        return User::create([
            'name' => $data['name'],
            'email' => $data['email'],
            'password' => bcrypt($data['password']),
        ]);
    }

    public function getLogin()
    {
        $rules = array(
            'email' => 'required|email',
            'password' => 'required',
        );
        $validator = JsValidator::make($rules, array(), array(), '#login-form');
        return view('Likod::auth.login', ['validator'=> $validator]);
    }    

    public function postLogin(Request $request)
    {
        return $this->login($request);
    }
    
    protected function authenticated(Request $request, $user)
    {
        return redirect($this->redirectTo);
    }

    public function guard() 
    {
        return Auth::guard('likod');
    }

    public function logout(Request $request)
    {
        $this->guard()->logout();
        $request->session()->regenerate();
        session()->flash('logout', 'You have successfully logged out!');
        return redirect(property_exists($this, 'redirectAfterLogout') ? $this->redirectAfterLogout : '/');
    }
}PK�8]0w�^��-Likod/Controllers/Settings/UserController.phpnu�Iw��<?php

namespace QxCMS\Modules\Likod\Controllers\Settings;

use Illuminate\Http\Request;
use QxCMS\Modules\Likod\Requests\Settings\UserRequest;

use QxCMS\Http\Requests;
use QxCMS\Http\Controllers\Controller;
use QxCMS\Modules\Likod\Repositories\Settings\Users\UserRepositoryInterface as User;
use DB;
use Datatables;
use Auth;
use Lang;
use Gate;
class UserController extends Controller
{
    protected $user;
    protected $auth;
    protected $prefix_name = '';

    public function __construct(
       User $user
    )
    {
        $this->auth = Auth::guard('likod');
        $this->prefix_name = config('modules.likod');
        $this->user = $user;
    }
   
    public function index()
    {
        return view('Likod::settings.users.index');
    }

    /**
     * Show the form for creating a new resource.
     *
     * @return \Illuminate\Http\Response
     */
    public function create()
    {
        $data['roles'] = $this->user->getRolelists();
        return view('Likod::settings.users.create', $data);
    }

    /**
     * Store a newly created resource in storage.
     *
     * @param  \Illuminate\Http\Request  $request
     * @return \Illuminate\Http\Response
     */
    public function store(UserRequest $request)
    {
        $user = $this->user->create($request->all()); 
        session()->flash('success', 'Successfully added.');
        return redirect($this->prefix_name.'/settings/users');
    }

    /**
     * Display the specified resource.
     *
     * @param  int  $id
     * @return \Illuminate\Http\Response
     */
    public function show($id)
    {
    }

    /**
     * Show the form for editing the specified resource.
     *
     * @param  int  $id
     * @return \Illuminate\Http\Response
     */
    public function edit($hashid)
    {
        $id = decode($hashid);
        $data['roles'] = $this->user->getRolelists($this->auth->user()->role_id);
        $data['user'] = $this->user->findById($id);
        return view('Likod::settings.users.edit', $data);
    }

    /**
     * Update the specified resource in storage.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  int  $id
     * @return \Illuminate\Http\Response
     */
    public function update(UserRequest $request, $hashid)
    {
        $id = decode($hashid);
        $this->user->update($id, $request->all());
        return redirect($this->prefix_name.'/settings/users');
    }

    /**
     * Remove the specified resource from storage.
     *
     * @param  int  $id
     * @return \Illuminate\Http\Response
     */
    public function destroy($hashid)
    {
        $id = decode($hashid);
        if(!$this->user->delete($id))
        {
            return $this->user->getAjaxResponse('error', 'User is currently used and connot be deleted.');
        } 
        return $this->user->getAjaxResponse('success', 'Successfully deleted.');
    }

     /*
     * Datatables
     */
    public function getUsersData()
    {        
        $users = $this->user->getUsersWithRole(['id', 'role_id', 'name', 'email']);
        return Datatables::of($users)
            ->addColumn('action', function ($user) {
                $html_out = '';
                $html_out .= '<a href="'.url($this->prefix_name.'/settings/users/'.$user->hashid.'/edit').'" class="btn btn-xs btn-flat btn-warning" data-toggle="tooltip" data-placement="top" title="Edit"><i class="fa fa-pencil"></i></a>&nbsp;&nbsp;';
                $html_out .= '<a href="#delete-'.$user->hashid.'" class="btn btn-xs btn-flat btn-danger" id="btn-delete" data-action="'.url($this->prefix_name).'/settings/users/'.$user->hashid.'" data-toggle="tooltip" data-placement="top" title="Delete"><i class="fa fa-trash-o"></i></a>';
                return $html_out;
            })
            ->make(true);
    }
}PK�8]�k6
--3Likod/Controllers/Dashboard/DashboardController.phpnu�Iw��<?php

namespace QxCMS\Modules\Likod\Controllers\Dashboard;

use Illuminate\Http\Request;

use QxCMS\Http\Requests;
use QxCMS\Http\Controllers\Controller;

class DashboardController extends Controller
{    
    public function dashboard()
    {
    	return view('Likod::dashboard.dashboard');
    }
}
PK�8]�o4���Likod/User.phpnu�Iw��<?php

namespace QxCMS\Modules\Likod;

use Illuminate\Foundation\Auth\User as Authenticatable;

class User extends Authenticatable
{
    protected $connection = 'qxcms';
    protected $table = 'users';
    public $module_id = 3;
    /**
     * The attributes that are mass assignable.
     *
     * @var array
     */
    protected $fillable = [
        'name', 'email', 'password', 'role_id',
    ];

    /**
     * The attributes excluded from the model's JSON form.
     *
     * @var array
     */
    protected $hidden = [
        'password', 'remember_token',
    ];

    protected $appends = ['hashid'];
    /*
     * Model Accessors
     */

    public function getHashidAttribute()
    {
        return hashid($this->id);
    }

    /*
     * Model Relationships
     */
    public function role()
    {
        return $this->belongsTo('QxCMS\Modules\Likod\Models\Settings\Roles\Role', 'role_id');
    }

    public function menu_id()
    {
        return $this->menu_id;
    }
}PK�8]�����(Likod/Requests/Clients/ClientRequest.phpnu�Iw��<?php

namespace QxCMS\Modules\Likod\Requests\Clients;

use Illuminate\Foundation\Http\FormRequest;

class ClientRequest extends FormRequest
{
    /**
     * Determine if the user is authorized to make this request.
     *
     * @return bool
     */
    public function authorize()
    {
        return true;
    }

    /**
     * Get the validation rules that apply to the request.
     *
     * @return array
     */
    public function rules()
    {
        if($this->getId()) {
            return [
                'client_name' => 'required|min:6',
                'client_address' => 'required|min:6',
                'telephone_no' => 'required|min:6',
                'email' => 'required|email',
                //'database_name' => 'required|min:5',
                'database_host' => 'required',
                'database_username' => 'required',
                'status' => 'required|in:0,1',
                'number_of_users' => 'required|numeric',
                'disk_size' => 'required|numeric',
                'date_picker_format' => 'required|numeric|in:1,2,3',
                'monthly_mail_quota' => 'required|numeric',
                'mail_driver' => 'required|in:smtp,mail',
                'mail_sender_address' => 'required|email',
                'mail_sender_name' => 'required|min:6',
                'mail_host' => 'required',
                'mail_username' => 'required',
                'mail_password' => 'required',
                'mail_port' => 'required|numeric',
                'storage_type' => 'required|in:public,s3',
                's3_key' => 'required_if:storage_type,s3',
                's3_secret' => 'required_if:storage_type,s3',
                's3_region' => 'required_if:storage_type,s3',
                's3_bucket_name' => 'required_if:storage_type,s3',
                'cpanel_host' => 'required_with:create_email',
                'cpanel_ip' => 'required_with:create_email',
                'cpanel_port' => 'required_with:create_email',
                'cpanel_account' => 'required_with:create_email',
                'cpanel_password' => 'required_with:create_email',
                'cpanel_domain' => 'required_with:create_email',
                'cpanel_user_default_password' => 'required_with:create_email',
            ];
        } 

        return [
                'name' => 'required|min:6',                
                'email' => 'required|email',
                'password' => 'required|min:6|confirmed',
                'client_name' => 'required|min:6',
                'client_address' => 'required|min:6',
                'telephone_no' => 'required|min:6',
                'email' => 'required|email',
                'database_name' => 'required|min:5',
                'database_host' => 'required',
                'database_username' => 'required',
                'status' => 'required|in:0,1',
                'number_of_users' => 'required|numeric',
                'disk_size' => 'required|numeric',
                'date_picker_format' => 'required|numeric|in:1,2,3',
                'monthly_mail_quota' => 'required|numeric',
                'mail_driver' => 'required|in:smtp,mail',
                'mail_sender_address' => 'required|email',
                'mail_sender_name' => 'required|min:6',
                'mail_host' => 'required',
                'mail_username' => 'required',
                'mail_password' => 'required',
                'mail_port' => 'required|numeric',
                'storage_type' => 'required|in:public,s3',
                's3_key' => 'required_if:storage_type,s3',
                's3_secret' => 'required_if:storage_type,s3',
                's3_region' => 'required_if:storage_type,s3',
                's3_bucket_name' => 'required_if:storage_type,s3',
                'cpanel_host' => 'required_with:create_email',
                'cpanel_ip' => 'required_with:create_email',
                'cpanel_port' => 'required_with:create_email',
                'cpanel_account' => 'required_with:create_email',
                'cpanel_password' => 'required_with:create_email',
                'cpanel_domain' => 'required_with:create_email',
                'cpanel_user_default_password' => 'required_with:create_email',
            ];
    }

    public function messages()
    {
        if($this->getId()) {
            return [
                'password.confirmed' => 'Re-type password does not match.',
                'status.required' => 'The account status is a required field.',
                'status.in' => 'The selected account status is invalid.',
                's3_key.required_if' => 'The :attribute field is required if storage type is Amazon S3.',
                's3_secret.required_if' => 'The :attribute field is required if storage type is Amazon S3.',
                's3_region.required_if' => 'The :attribute field is required if storage type is Amazon S3.',
                's3_bucket_name.required_if' => 'The :attribute field is required if storage type is Amazon S3.',
                'cpanel_host.required_with' => 'The :attribute field is required when create email is checked.',
                'cpanel_ip.required_with' => 'The :attribute field is required when create email is checked.',
                'cpanel_port.required_with' => 'The :attribute field is required when create email is checked.',
                'cpanel_account.required_with' => 'The :attribute field is required when create email is checked.',
                'cpanel_password.required_with' => 'The :attribute field is required when create email is checked.',
                'cpanel_domain.required_with' => 'The :attribute field is required when create email is checked.',
                'cpanel_user_default_password.required_with' => 'The :attribute field is required when create email is checked.',
            ];
        }

        return [
                'name.required' => 'The name of user is a required field.',
                'name.min' => 'The name of user must be at least :min characters.',
                'password.confirmed' => 'Re-type password does not match.',
                'status.required' => 'The account status is a required field.',
                'status.in' => 'The selected account status is invalid.',
                's3_key.required_if' => 'The :attribute field is required if storage type is Amazon S3.',
                's3_secret.required_if' => 'The :attribute field is required if storage type is Amazon S3.',
                's3_region.required_if' => 'The :attribute field is required if storage type is Amazon S3.',
                's3_bucket_name.required_if' => 'The :attribute field is required if storage type is Amazon S3.',
                'cpanel_host.required_with' => 'The :attribute field is required when create email is checked.',
                'cpanel_ip.required_with' => 'The :attribute field is required when create email is checked.',
                'cpanel_port.required_with' => 'The :attribute field is required when create email is checked.',
                'cpanel_account.required_with' => 'The :attribute field is required when create email is checked.',
                'cpanel_password.required_with' => 'The :attribute field is required when create email is checked.',
                'cpanel_domain.required_with' => 'The :attribute field is required when create email is checked.',
                'cpanel_user_default_password.required_with' => 'The :attribute field is required when create email is checked.',
            ];
    }

    public function getId()
    {
        return decode($this->client);
    }
}
PK�8]���'Likod/Requests/Settings/UserRequest.phpnu�Iw��<?php

namespace QxCMS\Modules\Likod\Requests\Settings;

use Illuminate\Foundation\Http\FormRequest;

class UserRequest extends FormRequest
{
    /**
     * Determine if the user is authorized to make this request.
     *
     * @return bool
     */
    public function authorize()
    {
        return true;
    }

    /**
     * Get the validation rules that apply to the request.
     *
     * @return array
     */
    public function rules()
    {
        if($this->getId()) {
            return [
                'name' => 'required|min:3',
                'email' => 'required|email|unique:myradh.users,email,'.(($this->getId()) ? $this->getId():'NULL'),
                'role_id' => 'required',
                'password' => 'min:6',
                'password_confirmation' => 'required_with:password|min:6|same:password'
            ];
        }

        return [
                'name' => 'required|min:3',
                'email' => 'required|email|unique:myradh.users,email,'.(($this->getId()) ? $this->getId():'NULL'),
                'role_id' => 'required',
                'password' => 'required|min:6',
                'password_confirmation' => 'required|min:6|same:password'
            ];

    }

    public function messages()
    {
        return [
                'role_id.required' => 'The role field is required.',
                'password.required' => 'The password field is required.',
                'password_confirmation.required' => 'The re-type password field is required.',
                'password_confirmation.required_with' => 'Please re-type your password.',
                'password_confirmation.min' => 'The re-type password must be at least :min characters.',
            ];
    }

    public function getId()
    {
        return decode($this->user);
    }
}PK�8]�N��&Client/Models/Principals/Principal.phpnu�Iw��<?php

namespace QxCMS\Modules\Client\Models\Principals;

/*use Illuminate\Database\Eloquent\Model;*/
use Illuminate\Foundation\Auth\User as Authenticatable;
use Carbon\Carbon;

class Principal extends Authenticatable
{
    protected $connection = "client";
    protected $table = "principals";
    
    public $module_id = 4;
    
    protected $guarded = []; 

    public $principal_status = [
        'Active' =>'Active',
        'Inactive' => 'Inactive'
    ];

    protected $appends = ['hashid'];

    public function getHashidAttribute()
    {
        return hashid($this->id);
    }

    public function setPasswordAttribute($value)
    {
        if(!empty($value)) {
            return $this->attributes['password'] = bcrypt($value);
        }
      	return $this->attributes['password'] = "";
    }

    public function setContactDetailsAttribute($value)
    {   
        if(is_array($value)) {
            $arr_clean = array_filter($value, 'strlen');
            if(!empty($arr_clean))
            {
                $str_value =  '"'.implode('","', $arr_clean).'"';
                return $this->attributes['contact_details'] = $str_value;
            }
            
        }

        return $this->attributes['contact_details'] = "";

    }

    public function getContactDetailsAttribute($value)
    {
        $clean_value = trim($value, '"');
        if(!empty($clean_value))
        {
           return $arr_value =  explode('","', $clean_value);
        }
        return '';
    }

    public function client()
    {
        return $this->belongsTo('QxCMS\Modules\Likod\Models\Clients\Client', 'client_id');
    }

    public function contacts()
    {
        return $this->hasMany('QxCMS\Modules\Client\Models\Principals\ContactPerson', 'principal_id');
    }

    public function scopeSearchByName($query, $criteria = null)
    {
        if(!empty($criteria))
        {
            return $query->where('name', 'LIKE', '%'.$criteria.'%');
        }
    }
}PK�8]z��@@*Client/Models/Principals/ContactNumber.phpnu�Iw��<?php

namespace QxCMS\Modules\Client\Models\Principals;

use Illuminate\Database\Eloquent\Model;

class ContactNumber extends Model
{
    protected $connection = "client";
    protected $table = "principal_contact_persons_numbers";
    public $module_id = 4;
    
    protected $guarded = [];

    protected $appends = ['hashid'];

    public function getHashidAttribute()
    {
        return hashid($this->id);
    }

    public function person()
    {
        return $this->belongsTo('QxCMS\Modules\Client\Models\Principals\ContactPerson', 'principal_contact_id');
    }
}PK�8]�3hg��*Client/Models/Principals/ContactPerson.phpnu�Iw��<?php

namespace QxCMS\Modules\Client\Models\Principals;

use Illuminate\Database\Eloquent\Model;

class ContactPerson extends Model
{
    protected $connection = "client";
    protected $table = "principal_contact_persons";
     public $module_id = 4;
    
    protected $guarded = ['contact'];

    protected $appends = ['hashid'];

    public function getHashidAttribute()
    {
        return hashid($this->id);
    }

    public function principal()
    {
        return $this->belongsTo('QxCMS\Modules\Client\Models\Principals\Principal', 'principal_id');
    }

    public function numbers()
    {
        return $this->hasMany('QxCMS\Modules\Client\Models\Principals\ContactNumber', 'principal_contact_id');
    }
}PK�8]����0Client/Models/Principals/PrincipalUserAssign.phpnu�Iw��<?php

namespace QxCMS\Modules\Client\Models\Principals;

use Illuminate\Database\Eloquent\Model;
use Carbon\Carbon;

class PrincipalUserAssign extends Model
{
    protected $connection = "client";
    protected $table = "assigned_users_principals";    
}PK�8]Ϭ����!Client/Models/Subject/Subject.phpnu�Iw��<?php

namespace QxCMS\Modules\Client\Models\Subject;

use Illuminate\Database\Eloquent\Model;
use Collective\Html\Eloquent\FormAccessible;
use \Carbon\Carbon;
class Subject extends Model
{
    use FormAccessible;

    protected $connection = 'client';

    protected $table = 'survey_subjects';
    
    public $module_id = 6;

    /*
    * The attributes that are mass assignable.
    *
    * @var array
    */
    protected $guarded = [];

    protected $appends = ['hashid'];
   

    public function getHashidAttribute()
    {
        return hashid($this->id);
    }

    // Interview Date Overrides
    public function setInterviewDateAttribute($value) 
    {
        if($value <> '') {
            $dateformats = getDateFormatConfig('set');
            return $this->attributes['interview_date'] = Carbon::createFromFormat($dateformats['php'], $value)->format('Y-m-d');
        }
        return $this->attributes['interview_date'] = '0000-00-00';
    }

    public function getInterviewDateAttribute($value) 
    {
        if($value <> '0000-00-00') {
            $dateformats = getDateFormatConfig('get');
            return Carbon::createFromFormat('Y-m-d', $value)->format($dateformats['php']);
        }
        return;
    }

    public function formInterviewDateAttribute($value)
    {
        if($value <> '0000-00-00') {
            $dateformats = getDateFormatConfig('form');
            return Carbon::createFromFormat('Y-m-d', $value)->format($dateformats['php']);
        }
        return;
    }


    public function setCompletionDateAttribute($value) 
    {
        if($value <> '') {
            $dateformats = getDateFormatConfig('set');
            return $this->attributes['completion_date'] = Carbon::createFromFormat($dateformats['php'], $value)->format('Y-m-d');
        }
        return $this->attributes['completion_date'] = '0000-00-00';
    }

    public function getCompletionDateAttribute($value) 
    {
        if($value <> '0000-00-00') {
            $dateformats = getDateFormatConfig('get');
            return Carbon::createFromFormat('Y-m-d', $value)->format($dateformats['php']);
        }
        return;
    }

    public function formCompletionDateAttribute($value)
    {
        if($value <> '0000-00-00') {
            $dateformats = getDateFormatConfig('form');
            return Carbon::createFromFormat('Y-m-d', $value)->format($dateformats['php']);
        }
        return;
    }

    /*
    * Model Custom Functions
    */

    public function principal()
    {
        return $this->belongsTo('QxCMS\Modules\Client\Models\Principals\Principal', 'principal_id');
    }

    public function template()
    {
        return $this->belongsTo('QxCMS\Modules\Client\Models\Questionnaire\Template', 'template_id');
    }

    public function fieldOfficer()
    {
        return $this->belongsTo('QxCMS\Modules\Likod\Models\Clients\User', 'field_officer_assigned');
    }

    public function editor()
    {
        return $this->belongsTo('QxCMS\Modules\Likod\Models\Clients\User', 'editor_assigned');
    }
}PK�8]p�
�	�	'Client/Models/JobOpening/JobOpening.phpnu�Iw��<?php

namespace QxCMS\Modules\Client\Models\JobOpening;

use Illuminate\Database\Eloquent\Model;
use Carbon\Carbon;

class JobOpening extends Model
{
    protected $connection = 'client';
    protected $table = 'job_opening';
    public $module_id = 14;
    
    protected $guarded = [];
    protected $appends = ['hashid'];

    public function getHashidAttribute()
    {
        return hashid($this->id);
    }

    public function setOpeningDateAttribute($value) 
    {
        if($value <> '') {
            $dateformats = getDateFormatConfig('set');
            return $this->attributes['opening_date'] = Carbon::createFromFormat($dateformats['php'], $value)->format('Y-m-d');
        }
        return $this->attributes['opening_date'] = '0000-00-00';
    }

    public function getOpeningDateAttribute($value) 
    {
        if($value <> '0000-00-00') {
            $dateformats = getDateFormatConfig('get');
            return Carbon::createFromFormat('Y-m-d', $value)->format($dateformats['php']);
        }
        return;
    }

    public function formOpeningDateAttribute($value)
    {
        if($value <> '0000-00-00') {
            $dateformats = getDateFormatConfig('form');
            return Carbon::createFromFormat('Y-m-d', $value)->format($dateformats['php']);
        }
        return;
    }

    public function setClosingDateAttribute($value) 
    {
        if($value <> '') {
            $dateformats = getDateFormatConfig('set');
            return $this->attributes['closing_date'] = Carbon::createFromFormat($dateformats['php'], $value)->format('Y-m-d');
        }
        return $this->attributes['closing_date'] = '0000-00-00';
    }

    public function getClosingDateAttribute($value) 
    {
        if($value <> '0000-00-00') {
            $dateformats = getDateFormatConfig('get');
            return Carbon::createFromFormat('Y-m-d', $value)->format($dateformats['php']);
        }
        return;
    }

    public function formClosingDateAttribute($value)
    {
        if($value <> '0000-00-00') {
            $dateformats = getDateFormatConfig('form');
            return Carbon::createFromFormat('Y-m-d', $value)->format($dateformats['php']);
        }
        return;
    }

    public function country()
    {
        return $this->belongsTo('QxCMS\Modules\Client\Models\Settings\Country', 'country_id');
    }

    public function applicants()
    {
        return $this->hasMany('QxCMS\Modules\Client\Models\Applicants\JobApplied', 'job_id');
    }
}
PK�8]�����Client/Models/Pages/FAQ.phpnu�Iw��<?php

namespace QxCMS\Modules\Client\Models\Pages;

use Illuminate\Database\Eloquent\Model;
use Carbon\Carbon;

class FAQ extends Model
{
    protected $connection = 'client';
    protected $table = 'faq';
    public $module_id = 17;

    protected $guarded = [];
    protected $appends = ['hashid', 'status_name'];

    public function getHashidAttribute()
    {
        return hashid($this->id);
    }

    public function getStatusNameAttribute()
    {
        if($this->status == 'Publish') return '<span class="label label-success">Publish</span>';
        else if($this->status == 'Draft') return '<span class="label label-warning">Draft</span>';
        else if($this->status == 'Inactive') return '<span class="label label-danger">Inactive</span>';
    }
}PK�8]Ne��Client/Models/Pages/AboutUs.phpnu�Iw��<?php

namespace QxCMS\Modules\Client\Models\Pages;

use Illuminate\Database\Eloquent\Model;
use Carbon\Carbon;

class AboutUs extends Model
{
    protected $connection = 'client';
    protected $table = 'about_us';
    public $module_id = 16;

    protected $guarded = [];
    protected $appends = ['hashid', 'status_name'];

    public function getHashidAttribute()
    {
        return hashid($this->id);
    }

    public function getStatusNameAttribute()
    {
        if($this->status == 'Publish') return '<span class="label label-success">Publish</span>';
        else if($this->status == 'Draft') return '<span class="label label-warning">Draft</span>';
        else if($this->status == 'Inactive') return '<span class="label label-danger">Inactive</span>';
    }
}PK�8]O�4

!Client/Models/Pages/ContactUs.phpnu�Iw��<?php

namespace QxCMS\Modules\Client\Models\Pages;

use Illuminate\Database\Eloquent\Model;
use Carbon\Carbon;

class ContactUs extends Model
{
    protected $connection = 'client';
    protected $table = 'contact_us';
    public $module_id = 18;

    protected $guarded = [];
    protected $appends = ['hashid', 'status_name'];

    public function getHashidAttribute()
    {
        return hashid($this->id);
    }

    public function getStatusNameAttribute()
    {
        if($this->status == 'Publish') return '<span class="label label-success">Publish</span>';
        else if($this->status == 'Draft') return '<span class="label label-warning">Draft</span>';
        else if($this->status == 'Inactive') return '<span class="label label-danger">Inactive</span>';
    }
}PK�8]�ʴff"Client/Models/Settings/Country.phpnu�Iw��<?php

namespace QxCMS\Modules\Client\Models\Settings;

use Illuminate\Database\Eloquent\Model;

class Country extends Model
{
    protected $connection = 'client';
    protected $table = 'countries';
    protected $guarded = []; 
    protected $appends = ['hashid'];

    public function getHashidAttribute()
    {
        return hashid($this->id);
    }
}
PK�8]E��EE,Client/Models/Settings/UserLogs/UserLogs.phpnu�Iw��<?php

namespace QxCMS\Modules\Client\Models\Settings\UserLogs;

use Illuminate\Database\Eloquent\Model;
use Carbon\Carbon;

class UserLogs extends Model
{
    protected $connection = 'client';
    protected $table = 'users_logs';

    protected $guarded = [];
    protected $appends = ['hashid'];

    public function getHashidAttribute()
    {
        return hashid($this->id);
    }

    public function saveLog($request)
    {
    	$log = $this->fill($request);
    	$log->save();

        $all_logs = $this->where('user_id', $this->attributes['user_id'])
            ->where('module_id', $this->attributes['module_id'])
            ->count();
        $old_logs = $this->where('user_id', $this->attributes['user_id'])
            ->where('module_id', $this->attributes['module_id'])
            ->where('created_at', '<=', Carbon::now()->subDays(90));
        if($all_logs - $old_logs->count() > 3) {
            $old_logs->delete();
        }
    }

    public function getCreatedAtAttribute($value)
    {
        return Carbon::parse($value)->format('M d, Y h:i A');
    }

    public function user()
    {
        return $this->belongsTo('QxCMS\Modules\Likod\Models\Clients\User', 'user_id');
    }

    public function module()
    {
        return $this->belongsTo('QxCMS\Modules\Likod\Models\Developer\ClientModule', 'module_id');
    }
}
PK�8]�)�C��.Client/Models/Settings/LoginLogs/LoginLogs.phpnu�Iw��<?php

namespace QxCMS\Modules\Client\Models\Settings\LoginLogs;

use Illuminate\Database\Eloquent\Model;
use Carbon\Carbon;

class LoginLogs extends Model
{
    protected $connection = 'client';
    protected $table = 'login_logs';
    protected $fillable = [
        'name',
        'username',
        'ipaddress'
    ];
    protected $guarded = [];
    protected $appends = ['hashid'];

    /*
    * Model Accessors
    */
    public function getHashidAttribute()
    {
        return hashid($this->id);
    }

    public function getCreatedAtAttribute($value)
    {
        return Carbon::parse($value)->format('M d, Y h:i A');
    }
}
PK�8]�'>�+Client/Models/Settings/Roles/Permission.phpnu�Iw��<?php

namespace QxCMS\Modules\Client\Models\Settings\Roles;

use Illuminate\Database\Eloquent\Model;

class Permission extends Model
{
    protected $connection = 'client';
    protected $table = 'role_permissions';

    /**
     * The attributes that are mass assignable.
     *
     * @var array
     */
    protected $fillable = [
        'role_id',
        'menu_id',
        'can_access',
        'can_create',
        'can_update',
        'can_delete',
        'can_export',
        'can_import',
        'can_print'
    ]; 
}
PK�8]���i��%Client/Models/Settings/Roles/Role.phpnu�Iw��<?php

namespace QxCMS\Modules\Client\Models\Settings\Roles;

use Illuminate\Database\Eloquent\Model;

class Role extends Model
{
    protected $connection = 'client';
    protected $table = 'roles';
    public $module_id = 2;

    public $developer_id = 1;
    public $administrator_id = 2;
    public $editor_id = 3;
    public $field_officer_id = 4;

    /*
    * The attributes that are mass assignable.
    *
    * @var array
    */
    protected $guarded = [];
    protected $appends = ['hashid'];
   
    /*
    * Model Accessors
    */
    public function getHashidAttribute()
    {
        return hashid($this->id);
    }

    public function permissions()
    {
        return $this->hasMany('QxCMS\Modules\Client\Models\Settings\Roles\Permission');
    }

    public function users()
    {
        return $this->hasMany('QxCMS\Modules\Likod\Models\Clients\User');
    }

    /*
    * Model Custom Functions
    */
    public function role_access($role_id = 1) 
    {
        if ($role_id == 1) {
            return $this->all();
        } else {
            return $this->where('id', '<>', 1)->get();
        }
    }

    public function getDefaultIDs()
    {
        return $defaultIDs = array(
            $this->developer_id,
            $this->administrator_id,
            $this->editor_id,
            $this->field_officer_id
        );
    }

    public function hiddenRoleIds()
    {
        return [
            $this->developer_id
        ];
    }
}PK�8]��m��&Client/Models/Applicants/Applicant.phpnu�Iw��<?php

namespace QxCMS\Modules\Client\Models\Applicants;

use Illuminate\Database\Eloquent\Model;
use Carbon\Carbon;

class Applicant extends Model
{
    protected $connection = 'client';
    protected $table = 'applicants';
    public $module_id = 19;
    
    protected $guarded = [];
    protected $appends = ['hashid', 'full_name'];

    public function getHashidAttribute()
    {
        return hashid($this->id);
    }

    public function getFullNameAttribute()
    {
        return ucwords(strtolower($this->first_name.' '.(($this->middle_name != "") ?  $this->middle_name. ' ':'').$this->last_name));
    }

    public function jobs()
    {
        return $this->hasMany('QxCMS\Modules\Client\Models\Applicants\JobApplied', 'applicant_id');
    }

    public function latestJob()
    {
        return $this->hasOne('QxCMS\Modules\Client\Models\Applicants\JobApplied', 'applicant_id')->latest();
    }
}
PK�8]ݖ�ٺ�'Client/Models/Applicants/JobApplied.phpnu�Iw��<?php

namespace QxCMS\Modules\Client\Models\Applicants;

use Illuminate\Database\Eloquent\Model;
use Carbon\Carbon;

class JobApplied extends Model
{
    protected $connection = 'client';
    protected $table = 'job_applied';
    // public $module_id = ;
    
    protected $guarded = [];
    protected $appends = ['hashid'];

    public function getHashidAttribute()
    {
        return hashid($this->id);
    }

    public function applicant()
    {
        return $this->belongsTo('QxCMS\Modules\Client\Models\Applicants\Applicant', 'applicant_id');
    }

    public function job()
    {
        return $this->belongsTo('QxCMS\Modules\Client\Models\JobOpening\JobOpening', 'job_id');
    }
}
PK�8]Tљ��"Client/Models/Directory/Cities.phpnu�Iw��<?php

namespace QxCMS\Modules\Client\Models\Directory;

use Illuminate\Database\Eloquent\Model;

class Cities extends Model
{
	protected $connection = 'client';
    protected $table = 'cities';
    
    protected $fillable = [
    	'name'
    ];

    public function directory()
    {
        return $this->hasMany('QxCMS\Modules\Client\Models\Directory\Directory', 'city_id');
    }
}
PK�8]�[�ě�*Client/Models/Directory/Municipalities.phpnu�Iw��<?php

namespace QxCMS\Modules\Client\Models\Directory;

use Illuminate\Database\Eloquent\Model;

class Municipalities extends Model
{
	protected $connection = 'client';
    protected $table = 'municipalities';
    
    protected $fillable = [
    	'name'
    ];

    public function directory()
    {
        return $this->hasMany('QxCMS\Modules\Client\Models\Directory\Directory', 'municipality_id');
    }
}
PK�8]���%Client/Models/Directory/Provinces.phpnu�Iw��<?php

namespace QxCMS\Modules\Client\Models\Directory;

use Illuminate\Database\Eloquent\Model;

class Provinces extends Model
{
	protected $connection = 'client';
    protected $table = 'provinces';
    
    protected $fillable = [
    	'name'
    ];

    public function directory()
    {
        return $this->hasMany('QxCMS\Modules\Client\Models\Directory\Directory', 'province_id');
    }
}
PK�8]��Vm��%Client/Models/Directory/Directory.phpnu�Iw��<?php

namespace QxCMS\Modules\Client\Models\Directory;

use Illuminate\Database\Eloquent\Model;
use Carbon\Carbon;

class Directory extends Model
{

    protected $connection = 'client';
    protected $table = 'locations';
    public $module_id = 7;

    protected $guarded = [];
    protected $appends = ['hashid'];

    public function getHashidAttribute()
    {
        return hashid($this->id);
    }

    public function affiliates()
    {
        return $this->belongsTo('QxCMS\Modules\Client\Models\Directory\Affiliates', 'affiliate_id');
    }

    public function specializations()
    {
        return $this->belongsTo('QxCMS\Modules\Client\Models\Directory\Specializations', 'specialization_id');
    }

    public function provinces()
    {
        return $this->belongsTo('QxCMS\Modules\Client\Models\Directory\Provinces', 'province_id');
    }

    public function cities()
    {
        return $this->belongsTo('QxCMS\Modules\Client\Models\Directory\Cities', 'city_id');
    }

    public function municipalities()
    {
        return $this->belongsTo('QxCMS\Modules\Client\Models\Directory\Municipalities', 'municipality_id');
    }
}
PK�8]�tx2��+Client/Models/Directory/Specializations.phpnu�Iw��<?php

namespace QxCMS\Modules\Client\Models\Directory;

use Illuminate\Database\Eloquent\Model;

class Specializations extends Model
{
	protected $connection = 'client';
    protected $table = 'specializations';
    
    protected $fillable = [
    	'name'
    ];

    public function directory()
    {
        return $this->hasMany('QxCMS\Modules\Client\Models\Directory\Directory', 'specialization_id');
    }
}
PK�8]��m~��&Client/Models/Directory/Affiliates.phpnu�Iw��<?php

namespace QxCMS\Modules\Client\Models\Directory;

use Illuminate\Database\Eloquent\Model;

class Affiliates extends Model
{
	protected $connection = 'client';
    protected $table = 'affiliates';
    
    protected $fillable = [
    	'name'
    ];

    public function directory()
    {
        return $this->hasMany('QxCMS\Modules\Client\Models\Directory\Directory', 'affiliate_id');
    }
}
PK�8]�gB�KK%Client/Models/Participants/Answer.phpnu�Iw��<?php

namespace QxCMS\Modules\Client\Models\Participants;

use Illuminate\Database\Eloquent\Model;
use Collective\Html\Eloquent\FormAccessible;
use \Carbon\Carbon;
class Answer extends Model
{
    use FormAccessible;

    protected $connection = 'client';

    protected $table = 'participants_answers';
    
   /* public $module_id = 6;*/

    /*
    * The attributes that are mass assignable.
    *
    * @var array
    */
    protected $guarded = [];

    protected $appends = ['hashid'];
   

    public function getHashidAttribute()
    {
        return hashid($this->id);
    }

}PK�8]f�ͽ�*Client/Models/Participants/Participant.phpnu�Iw��<?php

namespace QxCMS\Modules\Client\Models\Participants;

use Illuminate\Database\Eloquent\Model;
use Collective\Html\Eloquent\FormAccessible;
use \Carbon\Carbon;
class Participant extends Model
{
    use FormAccessible;

    protected $connection = 'client';

    protected $table = 'survey_participants';
    
    //public $module_id = 6;

    /*
    * The attributes that are mass assignable.
    *
    * @var array
    */
    protected $guarded = [];

    protected $appends = ['hashid'];
   

    public function getHashidAttribute()
    {
        return hashid($this->id);
    }


    /*
    * Model Custom Functions
    */
    public function answers()
    {
        return $this->hasMany('QxCMS\Modules\Client\Models\Participants\Answer', 'participant_id');
    }
/*

    public function template()
    {
        return $this->belongsTo('QxCMS\Modules\Client\Models\Questionnaire\Template', 'template_id');
    }

    public function fieldOfficer()
    {
        return $this->belongsTo('QxCMS\Modules\Likod\Models\Clients\User', 'field_officer_assigned');
    }

    public function editor()
    {
        return $this->belongsTo('QxCMS\Modules\Likod\Models\Clients\User', 'editor_assigned');
    }*/
}PK�8]�����&Client/Models/Questionnaire/Answer.phpnu�Iw��<?php

namespace QxCMS\Modules\Client\Models\Questionnaire;

use Illuminate\Database\Eloquent\Model;

class Answer extends Model
{
    protected $connection = 'client';

    protected $table = 'survey_answers';
    
    public $module_id = 5;

    /*
    * The attributes that are mass assignable.
    *
    * @var array
    */
    protected $guarded = [];
    protected $appends = ['hashid'];
   
    /*
    * Model Accessors
    */
    public function getHashidAttribute()
    {
        return hashid($this->id);


    }

    public function question()
    {
        return $this->belongsTo('QxCMS\Modules\Client\Models\Questionnaire\Question', 'question_id');
    }
    /*
    * Model Custom Functions
    */
}PK�8]������(Client/Models/Questionnaire/Template.phpnu�Iw��<?php

namespace QxCMS\Modules\Client\Models\Questionnaire;

use Illuminate\Database\Eloquent\Model;

class Template extends Model
{
    protected $connection = 'client';

    protected $table = 'survey_templates';
    
    public $module_id = 5;

    /*
    * The attributes that are mass assignable.
    *
    * @var array
    */
    protected $guarded = [];
    protected $appends = ['hashid'];
   
    /*
    * Model Accessors
    */
    public function getHashidAttribute()
    {
        return hashid($this->id);
    }


    /*
    * Model Custom Functions
    */

    public function questions()
    {
        return $this->hasMany('QxCMS\Modules\Client\Models\Questionnaire\Question', 'template_id');
    }


    public function scopeSearchByTitle($query, $criteria = null)
    {
        if(!empty($criteria))
        {
            return $query->where('title', 'LIKE', '%'.$criteria.'%');
        }
    }
}PK�8]�Ʉ�MM(Client/Models/Questionnaire/Question.phpnu�Iw��<?php

namespace QxCMS\Modules\Client\Models\Questionnaire;

use Illuminate\Database\Eloquent\Model;

class Question extends Model
{
    protected $connection = 'client';

    protected $table = 'survey_questions';
    
    public $module_id = 5;

    protected $question_types = array(
            1 => 'Open Text Field',
            2 => 'Multiple Choice'
        );
    /*
    * The attributes that are mass assignable.
    *
    * @var array
    */
    protected $guarded = [];
    protected $appends = ['hashid', 'question_type_name'];

    protected $casts = ['required' => 'boolean', 'multiple_select' => 'boolean'];
   
    /*
    * Model Accessors
    */
    public function getHashidAttribute()
    {
        return hashid($this->id);
    }


    /*
    * Model Custom Functions
    */

    public function questionTypes()
    {
        return $this->question_types;
    }

    public function getQuestionTypeNameAttribute()
    {
        return ((isset($this->questionTypes()[$this->question_type])) ? $this->questionTypes()[$this->question_type]:'');
    }

    public function answers()
    {
        return $this->hasMany('QxCMS\Modules\Client\Models\Questionnaire\Answer', 'question_id');
    }

    public function template()
    {
        return $this->belongsTo('QxCMS\Modules\Client\Models\Questionnaire\Template', 'template_id');
    }
}PK�8]5Zݭ
�
Client/Models/Posts/Posts.phpnu�Iw��<?php

namespace QxCMS\Modules\Client\Models\Posts;

use Illuminate\Database\Eloquent\Model;
use Carbon\Carbon;

class Posts extends Model
{
    protected $connection = 'client';
    protected $table = 'posts';
    public $module_id = 9;
    
    protected $guarded = [];
    protected $appends = ['hashid'];

    public function getHashidAttribute()
    {
        return hashid($this->id);
    }

    public function setPublishedAtAttribute($value) 
    {
        if($value <> '') {
            $dateformats = getDateFormatConfig('set');
            return $this->attributes['published_at'] = Carbon::createFromFormat($dateformats['php'], $value)->format('Y-m-d');
        }
        return $this->attributes['published_at'] = '0000-00-00';
    }

    public function getPublishedAtAttribute($value) 
    {
        if($value <> '0000-00-00') {
            $dateformats = getDateFormatConfig('get');
            return Carbon::createFromFormat('Y-m-d', $value)->format($dateformats['php']);
        }
        return;
    }

    public function formPublishedAtAttribute($value)
    {
        if($value <> '0000-00-00') {
            $dateformats = getDateFormatConfig('form');
            return Carbon::createFromFormat('Y-m-d', $value)->format($dateformats['php']);
        }
        return;
    }

    public function setExpiredAtAttribute($value) 
    {
        if($value <> '') {
            $dateformats = getDateFormatConfig('set');
            return $this->attributes['expired_at'] = Carbon::createFromFormat($dateformats['php'], $value)->format('Y-m-d');
        }
        return $this->attributes['expired_at'] = '0000-00-00';
    }

    public function getExpiredAtAttribute($value) 
    {
        if($value <> '0000-00-00') {
            $dateformats = getDateFormatConfig('get');
            return Carbon::createFromFormat('Y-m-d', $value)->format($dateformats['php']);
        }
        return;
    }

    public function formExpiredAtAttribute($value)
    {
        if($value <> '0000-00-00') {
            $dateformats = getDateFormatConfig('form');
            return Carbon::createFromFormat('Y-m-d', $value)->format($dateformats['php']);
        }
        return;
    }

    public function getCreatedAtAttribute($value)
    {
        return Carbon::parse($value)->format('M d, Y @ h:i A');
    }

    public function category()
    {
        return $this->belongsTo('QxCMS\Modules\Client\Models\Posts\PostCategory', 'posts_category_id');
    }

    public function author()
    {
        return $this->belongsTo('QxCMS\Modules\Likod\Models\Clients\User', 'author_id');
    }

    public function subPages()
    {
        return $this->hasMany('QxCMS\Modules\Client\Models\Pages\Pages', 'post_parent_id');
    }
}
PK�8]b����$Client/Models/Posts/PostCategory.phpnu�Iw��<?php

namespace QxCMS\Modules\Client\Models\Posts;

use Illuminate\Database\Eloquent\Model;

class PostCategory extends Model
{
	protected $connection = 'client';
    protected $table = 'posts_category';

    protected $fillable = ['name', 'slug'];

    public function post()
    {
        return $this->hasMany('QxCMS\Modules\Client\Models\Posts\Posts', 'posts_category_id');
    }
}
PK�8]�0Iы�'Client/Models/Products/ProductBrand.phpnu�Iw��<?php

namespace QxCMS\Modules\Client\Models\Products;

use Illuminate\Database\Eloquent\Model;

class ProductBrand extends Model
{
	protected $connection = 'client';
    protected $table = 'product_brand';
    
    protected $fillable = [
    	'name'
    ];

    public function product()
    {
        return $this->hasMany('QxCMS\Modules\Client\Models\Products\Product', 'brand_id');
    }
}
PK�8]�����"Client/Models/Products/Product.phpnu�Iw��<?php

namespace QxCMS\Modules\Client\Models\Products;

use Illuminate\Database\Eloquent\Model;
use Carbon\Carbon;

class Product extends Model
{

    protected $connection = 'client';
    protected $table = 'products';
    public $module_id = 8;

    protected $guarded = [];
    protected $appends = ['hashid'];

    public function getHashidAttribute()
    {
        return hashid($this->id);
    }

    public function brand()
    {
        return $this->belongsTo('QxCMS\Modules\Client\Models\Products\ProductBrand', 'brand_id');
    }

    public function category()
    {
        return $this->belongsTo('QxCMS\Modules\Client\Models\Products\ProductCategory', 'category_id');
    }
}
PK�8]|�D���*Client/Models/Products/ProductCategory.phpnu�Iw��<?php

namespace QxCMS\Modules\Client\Models\Products;

use Illuminate\Database\Eloquent\Model;

class ProductCategory extends Model
{
	protected $connection = 'client';
    protected $table = 'product_categories';
    
    protected $fillable = [
    	'name'
    ];

    public function product()
    {
        return $this->hasMany('QxCMS\Modules\Client\Models\Products\Product', 'category_id');
    }
}
PK�8]jz5��"Client/Middleware/Authenticate.phpnu�Iw��<?php

namespace QxCMS\Modules\Client\Middleware;

use Closure;
use Config;
use Illuminate\Support\Facades\Auth;

class Authenticate
{
    /**
     * Handle an incoming request.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Closure  $next
     * @param  string|null  $guard
     * @return mixed
     */
    public function handle($request, Closure $next, $guard = 'client')
    {
        if (Auth::guard($guard)->guest()) {
            if ($request->ajax() || $request->wantsJson()) {
                return response('Unauthorized.', 401);
            } else {
                return redirect()->guest('client/auth/login');
            }
        }

        $client = Auth::guard($guard)->user()->client;

        config(['auth.defaults.guard' => $guard]);
        config(['account.dateformat.default' => $client->date_picker_format]);
        config(['account.displaydateformat.default' => $client->display_date_format]);

        Config::set('database.connections.client', array(
            'driver'    => 'mysql',
            'host'      => $client->database_host,
            'database'  => env('DB_PREFIX', 'qxcms_').$client->database_name,
            'username'  => $client->database_username,
            'password'  => $client->database_password,
            'charset'   => 'utf8',
            'collation' => 'utf8_unicode_ci',
            'prefix'    => '',
        ));

        Config::set('filesystems.disks.s3', array(
            'driver' => 's3',
            'key'    => $client->s3_key,
            'secret' => $client->s3_secret,
            'region' => $client->s3_region,
            'bucket' => $client->s3_bucket_name,
            'scheme' => 'http',
        ));
        return $next($request);
    }
}
PK�8]Go�$��-Client/Middleware/RedirectIfAuthenticated.phpnu�Iw��<?php

namespace QxCMS\Modules\Client\Middleware;

use Closure;
use Illuminate\Support\Facades\Auth;

class RedirectIfAuthenticated
{
    /**
     * Handle an incoming request.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Closure  $next
     * @param  string|null  $guard
     * @return mixed
     */
    public function handle($request, Closure $next, $guard = 'client')
    {
        if (Auth::guard($guard)->check()) {
            $request->setUserResolver(function () use ($guard) {
                return Auth::guard($guard)->user();
            });
            return redirect('client/dashboard');
        }
        return $next($request);
    }
}PK�8]�&q��Client/Views/logs.blade.phpnu�Iw��<div class="box box-danger">
    <div class="box-header with-border">
        <h3 class="box-title"><i class="fa fa-history"></i> Logs</h3>
    </div>
    <div class="box-body">
	@forelse ($userLogs as $logs)
	    <span>{{$logs->created_at}} - {{$logs->action}} by {{$logs->user ? $logs->user->email : 'n/a'}}</span>
	    <br>
	@empty
	    <span><i>No Logs Found</i></span>
	@endforelse
    </div>                
</div>PK�8]#iT��	�	&Client/Views/applicants/view.blade.phpnu�Iw��@extends('Client::reports-layout')
@section('page-body')
    <!-- Content Header (Page header) -->
    <!-- Main content -->
    <section class="content"> 
        <div class="box box-primary">
            <div class="box-body">
                <form method="get" action="{!! route(config('modules.client').'.applicants.excel', $job->hashid) !!}">
                    <span class="pull-right">
                        <button class="btn btn-danger btn-flat" type="button" onclick="window.close();"><i class="fa fa-times"></i> Close</button>
                        <button class="btn btn-success btn-flat" type="submit"><i class="fa fa-file-excel-o"></i> Export To Excel</button>
                    </span>
                    <h4><b>Applicants for {{ $job->position }} ({{ $job->no_position }})</b></h4>
                </form>
            </div>
        </div>
        <div class="box box-default">
            <div class="box-body">
                <table class="table table-bordered table-striped table-hover data" id="applicants-table" width="100%">
                    <thead>
                        <tr>
                            <th>#</th>
                            <th>Applicant Name</th>
                            <th>Mobile No.</th>
                            <th>Date Applied</th>
                        </tr>
                    </thead>
               </table>
            </div>
        </div>
    </section>
@stop
@section('page-js')
<script type="text/javascript">
$(function() {
    var applicantsTable = $('#applicants-table').DataTable({
        processing: true,
        serverSide: true,
        pagingType: "input",
        iDisplayLength: 25,
        filter: false,
        ajax: {
            url: '{!! route(config('modules.client').'.applicants-list.datatables-index', $job->hashid) !!}',
            method: 'POST',
        },
        columns: [
            {
                width:'10px', searchable: false, orderable: false,
                render: function (data, type, row, meta) {
                    return meta.row + meta.settings._iDisplayStart + 1;
                }
            },
            { data: 'full_name', name: 'full_name', sortable: true, searchable: false},
            { data: 'applicant.mobile_number', name: 'applicant.mobile_number', sortable: false, searchable: false},
            { data: 'apply_date', name: 'apply_date', sortable: true, searchable: false},
        ],
        "order": [[1, "asc"]],
    });
});
</script>
@stopPK�8]#���TT@Client/Views/applicants/includes/applicant-lists-table.blade.phpnu�Iw��@extends('Client::reports-table-layouts')
@section('page-body')
    <table class="table table-bordered table-striped table-hover data" id="applicants-table" width="100%">
        <thead>
            <tr>
                <td colspan="4" style="text-align: center;"><h2><strong>Applicants for {{ $job->position }} ({{ $job->no_position }})</strong></h2></td>
            </tr>
            <tr>
                <td colspan="4"></td>
            </tr>
            <tr>
                <th style="text-align: center;">No.</th>
                <th style="text-align: center;">Applicant Name</th>
                <th style="text-align: center;">Mobile No.</th>
                <th style="text-align: center;">Date Applied</th>
            </tr>
        </thead>
        <tbody>
        @foreach($applicants as $count => $applicant)
            <tr>
                <td width="5" style="text-align: center;">{{++$count}}</td>
                <td width="50">{{$applicant->applicant->last_name}}, {{$applicant->applicant->first_name}} {{$applicant->applicant->middle_name}}</td>
                <td width="25" style="text-align: center;">{{$applicant->applicant->mobile_number}}</td>
                <td width="30" style="text-align: center;">{{date('M d, Y', strtotime($applicant->apply_date))}}</td>
            </tr>
        @endforeach
        </tbody>
   </table>
@stopPK�8]��n���7Client/Views/applicants/source-applicant/view.blade.phpnu�Iw��@extends('Client::reports-layout')
@section('page-body')
    <!-- Main content -->
    <section class="content">
        <div class="box box-primary">
            <div class="box-body">
                <form method="get" action="{{route(config('modules.client').'.source-applicants.excel')}}">
                @foreach(Input::all() as $input => $value)
                    <input type="hidden" name="{{$input}}" value="{{$value}}">
                @endforeach
                    <span class="pull-right">
                        <button class="btn btn-danger btn-flat" type="button" onclick="window.close();"><i class="fa fa-times"></i> Close</button>
                    @can('export', $permissions)
                        <button class="btn btn-success btn-flat" type="submit"><i class="fa fa-file-excel-o"></i> Export To Excel</button>
                    @endcan
                    </span>
                </form>
                <h4><b>Applicant Source Result</b></h4>
                <p style="font-size:17px">Total of applicants found : <b><i>{{ $count }}</i></b></p>
            </div>
        </div>
        <div class="box box-default">
            <div class="box-body">
                <table class="table table-bordered table-striped table-hover data" id="source-applicant-table" width="100%">
                    <thead>
                        <tr>
                            <th>#</th>
                            <th>Name</th>
                            <th>Mobile No.</th>
                            <th>Email</th>
                            <th>Latest Employment</th>
                        </tr>
                    </thead>
               </table>
            </div>
        </div>
    </section>
@stop
@section('page-js')
<script type="text/javascript">
$(function(){
    var sourceTable = $('#source-applicant-table').DataTable({
        "processing": true,
        "serverSide": true,
        "pagingType": "input",
        "filter":false,
        "lengthChange": false,
        "pageLength": 15,
        language: {
            "processing": '<i class=\"fa fa-spinner fa-spin fa-2x\" style=\"color: black;\"></i>',
            "zeroRecords": "No matching records found",
        },
        ajax: {
            url: '{{ route(config('modules.client').'.source-applicants.datatables-index') }}',
            type: 'POST',
            "data": function(d){
                d.position_applied = $('input[name="position_applied"]').val();
                d.school = $('input[name="school"]').val();
                d.recent_emp = $('input[name="recent_emp"]').val();
                d.col_deg = $('input[name="col_deg"]').val();
                d.min_yrs = $('input[name="min_yrs"]').val();
                d.max_yrs = $('input[name="max_yrs"]').val();
                d.work_location = $('input[name="work_location"]').val();
            }
        },
        "dom": "<'row'<'col-sm-6'i><'col-sm-6 text-right'l>>" +
                "<'row'<'col-sm-12'tr>>" +
                "<'row'<'col-sm-5'><'col-sm-7'p>>",
        columns: [
            {
                width:'10px', searchable: false, orderable: false,
                render: function (data, type, row, meta) {
                    return meta.row + meta.settings._iDisplayStart + 1;
                }
            },
            { data: 'full_name', name: 'full_name' , sortable: true, searchable: false},
            { data: 'mobile_number', name: 'mobile_number', sortable: false, searchable: false},
            { data: 'email', name: 'email', sortable: false, searchable: false},
            { data: 'position', name: 'position', sortable: false, searchable: false},
        ],
        fnDrawCallback: function ( oSettings ){
        },
        "order": [[1, "asc"]],
    });
});
</script>
@stopPK�8]yˮ@Client/Views/applicants/source-applicant/includes/form.blade.phpnu�Iw��<div class="form-group">
    <label class="control-label col-md-4">Position Applied:</label>
    <div class="col-md-5">
        {!! Form::text('position_applied', null , ['class'=>'form-control', 'autocomplete'=>'off']) !!}
    </div>
</div>
<div class="form-group">
    <label class="control-label col-md-4">Years of Experience:</label>
    <div class="col-md-8">
        <div class="row">
            <label class="control-label col-md-1"><b>Min</b></label>
            <div class="col-md-2">
                {!! Form::text('min_yrs', null , ['class'=>'form-control', 'autocomplete'=>'off']) !!}
            </div>
            <label class="control-label col-md-1"><b>Max</b></label>
            <div class="col-md-2">
                {!! Form::text('max_yrs', null , ['class'=>'form-control', 'autocomplete'=>'off']) !!}
            </div>
        </div>
    </div>
</div>
<div class="form-group">
    <label class="control-label col-md-4">Recent Employer:</label>
    <div class="col-md-5">
        {!! Form::text('recent_emp', null , ['class'=>'form-control', 'autocomplete'=>'off']) !!}
    </div>
</div>
<div class="form-group">
    <label class="control-label col-md-4">College Degree:</label>
    <div class="col-md-5">
        {!! Form::text('col_deg', null , ['class'=>'form-control', 'autocomplete'=>'off']) !!}
    </div>
</div>
<div class="form-group">
    <label class="control-label col-md-4">School:</label>
    <div class="col-md-5">
        {!! Form::text('school', null , ['class'=>'form-control', 'autocomplete'=>'off']) !!}
    </div>
</div>
<div class="form-group">
    <label class="control-label col-md-4">Preferred Work Location:</label>
    <div class="col-md-5">
        {!! Form::text('work_location', null , ['class'=>'form-control', 'autocomplete'=>'off']) !!}
    </div>
</div>PK�8]i?o##RClient/Views/applicants/source-applicant/includes/source-applicant-table.blade.phpnu�Iw��@extends('Client::reports-table-layouts')
@section('page-body')
    <table class="table table-bordered table-striped table-hover data" id="applicants-table" width="100%">
        <thead>
            <tr>
                <td colspan="5" style="text-align: center;"><h2><strong>Applicant Source Result</strong></h2></td>
            </tr>
            <tr>
                <td colspan="5" style="text-align: center;"><p style="font-size:17px">Total of applicants found : <i>{{ $count }}</i></p></td>
            </tr>
            <tr>
                <td colspan="5"></td>
            </tr>
            <tr>
                <th style="text-align: center;">No.</th>
                <th style="text-align: center;">Name</th>
                <th style="text-align: center;">Mobile No.</th>
                <th style="text-align: center;">Email</th>
                <th style="text-align: center;">Latest Employment</th>
            </tr>
        </thead>
        <tbody>
        @foreach($applicants as $count => $applicant)
            <tr>
                <td width="5" style="text-align: center;">{{++$count}}</td>
                <td width="50">{{$applicant->last_name}}, {{$applicant->first_name}} {{$applicant->middle_name}}</td>
                <td width="25" style="text-align: center;">{{$applicant->mobile_number}}</td>
                <td width="30" style="text-align: center;">{{$applicant->email}}</td>
                <td width="40" style="text-align: center;">{{$applicant->position}}</td>
            </tr>
        @endforeach
        </tbody>
   </table>
@stopPK�8]=�		8Client/Views/applicants/source-applicant/index.blade.phpnu�Iw��@extends('Client::layouts')
@section('page-body')
    <!-- Content Header (Page header) -->
    <section class="content-header">
        <h1>
            <i class="fa fa-{{$pageIcon ? $pageIcon : 'angle-double-right'}}" aria-hidden="true"></i> {{$pageTitle}}
            <br>
            <small>{{$pageDescription}}</small>
        </h1>
        <ol class="breadcrumb">
            <li><a href="{{ route(config('modules.client').'.applicants.index') }}"><i class="fa fa-file-text-o"></i> Applicants</a></li>
            <li class="active"></i> {{$pageTitle}}</li>
        </ol>
    </section>
    <!-- Main content -->
    <section class="content">
        @include('Client::message')
        <div class="box box-default">
            {!! Form::open(array('route' => config('modules.client').'.source-applicants.show', 'class' => 'form-horizontal', 'method' => 'POST', 'id' => 'source-applicant-form', 'target'=>'_blank')) !!}
            <div class="box-body">
                @include('Client::applicants.source-applicant.includes.form')
            </div>
            <div class="box-footer text-center">
                <div class="row">
                    <div class="col-md-4 col-md-offset-7">
                        <button class="btn btn-primary btn-flat btn-md btn-block" type="button" onClick="sourceSubmit()"><i class="fa fa-street-view"></i> Source Applicant</button>
                    </div>
                </div>
           </div>
           {!! Form::close() !!}
        </div>
    </section>
@stop
@section('page-js')
<script type="text/javascript">
function sourceSubmit(){
    var position_applied = $('input[name="position_applied"]').val();
    var min_yrs_exp = $('input[name="min_yrs"]').val();
    var max_yrs_exp = $('input[name="max_yrs"]').val();
    var rec_emp = $('input[name="recent_emp"]').val();
    var col_deg = $('input[name="col_deg"]').val();
    var school = $('input[name="school"]').val();
    var work_location = $('input[name="work_location"]').val();
    
    if(position_applied != '' || min_yrs_exp != '' || max_yrs_exp != '' || rec_emp != '' || col_deg != '' || school != '' || work_location != ''){
        $('#source-applicant-form').submit();
    }else{
        swal('Please fill in at least one field.', '', 'error');
    }
}
</script>
@include('Client::notify')
@stopPK�8]:?U�
�
'Client/Views/applicants/index.blade.phpnu�Iw��@extends('Client::layouts')
@section('page-body')
    <!-- Content Header (Page header) -->
    <section class="content-header">
        <h1>
            <i class="fa fa-{{$pageIcon ? $pageIcon : 'angle-double-right'}}" aria-hidden="true"></i> {{$pageTitle}}
            <br>
            <small>{{$pageDescription}}</small>
        </h1>
        <ol class="breadcrumb">
            <li class="active"><i class="fa fa-{{$pageIcon ? $pageIcon : 'angle-double-right'}}"></i> {{$pageTitle}}</li>           
        </ol>
    </section>
    <!-- Main content -->
    <section class="content"> 
        @include('Client::message')
        <div class="box box-default">
            <div class="box-header with-border">
            </div>
            <div class="box-body">
                <table class="table table-bordered table-striped table-hover" id="applicant-table" width="100%">
                    <thead>
                        <tr>
                            <th>#</th>
                            <th>Job Title</th>
                            <th>Opening Date</th>
                            <th>Closing Date</th>
                            <th>Location</th>
                            <th>No. of Applicant(s)</th>
                        </tr>
                    </thead>
               </table>
            </div>                
        </div>
    </section>
@stop
@section('page-js')
<script type="text/javascript">
    $(document).ready(function() {
        var applicantTable = $('#applicant-table').DataTable({
            "processing": true,
            "serverSide": true,
            "pagingType": "input",
            ajax: {
                url: '{{ route(config('modules.client').'.applicants.datatables-index') }}', 
                type: 'POST',
            },
            columns: [
                {
                    width:'10px', searchable: false, orderable: false,
                    render: function (data, type, row, meta) {
                        return meta.row + meta.settings._iDisplayStart + 1;
                    }
                },
                { data: 'position', name: 'position' },
                { data: 'opening_date', name: 'opening_date', sortable: true, searchable: true},
                { data: 'closing_date', name: 'closing_date', sortable: true, searchable: true},
                { data: 'location', name: 'location', sortable: false, searchable: true},
                { data: 'applicants_count', name: 'applicants_count', sortable: true, searchable: false, className: 'text-center', width:'120px'},
            ],
            fnDrawCallback: function ( oSettings ) {         
            },
            "order": [[1, "desc"]],
        });
    });
</script>
@include('Client::notify')
@stopPK�8]
��_��8Client/Views/applicants/search-applicant/index.blade.phpnu�Iw��@extends('Client::layouts')
@section('page-body')
    <!-- Content Header (Page header) -->
    <section class="content-header">
        <h1>
            <i class="fa fa-{{$pageIcon ? $pageIcon : 'angle-double-right'}}" aria-hidden="true"></i> {{$pageTitle}}
            <br>
            <small>{{$pageDescription}}</small>
        </h1>
        <ol class="breadcrumb">
            <li><a href="{{ route(config('modules.client').'.applicants.index') }}"><i class="fa fa-file-text-o"></i> Applicants</a></li>
            <li class="active"></i> {{$pageTitle}}</li> 
        </ol>
    </section>
    <!-- Main content -->
    <section class="content"> 
        @include('Client::message')
        <div class="box box-default">
            <div class="box-header with-border">
            </div>
            <div class="box-body">
                <div class="col-md-12">
                    <div class="form-group">
                        <label class="control-label col-md-3"></label>
                        <div class="col-md-6">
                            <form action="{{route(config('modules.client').'.search-applicants.index')}}" id="search-filter" method="GET" role="form">
                                <div class="input-group">
                                    <input class="form-control" placeholder="Type first name or last name to search." name="name" type="text" autocomplete="off" value="{{Input::get('name')}}">
                                    <span class="input-group-btn">
                                        <button class="btn btn-primary btn-flat" type="submit"><i class="fa fa-search"></i></button>
                                    </span>
                                </div>
                            </form>
                        </div>
                    </div>
                </div>
                <div class="hidden-xs hidden-sm">
                    <br><br><br>
                </div>
                <div class="search-applicant" style="display:none;">
                    <table class="table table-bordered table-striped table-hover" id="search-applicant-table" width="100%">
                        <thead>
                            <tr>
                                <th>#</th>
                                <th>Name</th>
                                <th>Mobile No.</th>
                                <th>Position Applied</th>
                                <th>Date Applied</th>
                            </tr>
                        </thead>
                   </table>
                </div>
            </div>                
        </div>
    </section>
@stop
@section('page-js')
<script type="text/javascript">
$(document).ready(function(){
    if($('#search-filter [name="name"]').val() != ''){
        var searchTable = $('#search-applicant-table').DataTable({
            "processing": true,
            "serverSide": true,
            "pagingType": "input",
            "filter":false,
            "lengthChange": false,
            "pageLength": 15,
            "scrollCollapse": true,
            "scrollY":"220px",
            language: {
                "processing": '<i class=\"fa fa-spinner fa-spin fa-2x\" style=\"color: black;\"></i>',
                "zeroRecords": "No matching records found",
            },
            ajax: {
                url: '{{ route(config('modules.client').'.search-applicants.datatables-index') }}', 
                type: 'POST',
                "data": function(d){
                    d.name = $('#search-filter [name="name"]').val();
                }
            },
            "dom": "<'row'<'col-sm-6'i><'col-sm-6 text-right'l>>" +
                    "<'row'<'col-sm-12'tr>>" +
                    "<'row'<'col-sm-5'><'col-sm-7'p>>",
            columns: [
                {
                    width:'10px', searchable: false, orderable: false,
                    render: function (data, type, row, meta) {
                        return meta.row + meta.settings._iDisplayStart + 1;
                    }
                },
                { data: 'full_name', name: 'full_name' , sortable: true, searchable: false},
                { data: 'mobile_number', name: 'mobile_number', sortable: false, searchable: false},
                { data: 'position', name: 'position', sortable: false, searchable: false},
                { data: 'apply_date', name: 'apply_date', sortable: false, searchable: false},
            ],
            fnDrawCallback: function ( oSettings ) {         
            },
            "order": [[1, "asc"]],
        });
    }

    function searchApplicant(){
        var search = $('#search-filter [name="name"]').val();
        if(search != ''){
            searchTable.draw();
            $('.search-applicant').show();
        }else{
          $('.search-applicant').hide();
        }
    }
    searchApplicant();
    $('#search-filter').on('submit', function(e){
        searchApplicant();
        e.preventDefault();
    });
});
</script>
@include('Client::notify')
@stopPK�8]`�9��Client/Views/message.blade.phpnu�Iw��<div id="message-wrapper">
    @if(session('logout'))
        <div class="alert alert-success alert-dismissable fade in" style="padding-top: 4px;padding-bottom: 4px; padding-right: 29px; padding-left: 10px;">
            <button type="button" class="close" data-dismiss="alert" aria-hidden="true">&times;</button>
            <i class="fa fa-check"></i>&nbsp;
            {{ session('logout') }}
        </div>
    @endif    
</div>PK�8]	�)�#Client/Views/pages/create.blade.phpnu�Iw��@extends('Client::layouts')
@section('page-body')

    <section class="content-header">
        <h1>
            <i class="fa fa-plus"></i> Add {{$pageModuleName}}
        </h1>
        <ol class="breadcrumb">
            <li><a href="{{ route(config('modules.client').'.pages.index') }}"><i class="fa fa-{{$pageIcon ? $pageIcon : 'angle-double-right'}}"></i> {{$pageTitle}}</a></li>             
            <li class="active">Add</li>           
        </ol>
    </section>

    <section class="content"> 
        @include('Client::message')
        {!! Form::open(array('url'=>url(config('modules.client').'/pages/store'), 'class' => 'form-horizontal', 'method' => 'POST', 'id' => 'page-form','files' => true)) !!}
        <div class="row">
            <div class="col-sm-12">
                <div class="box box-primary">
                    <div class="box-header">
                        <h3 class="box-title">@include('Client::all-fields-are-required')</h3>
                    </div>
                    <div class="box-body">
                       @include('Client::pages.includes.form')
                    </div>
                </div>
            </div>
        </div>
        <div class="row">
            <div class="col-md-4 col-md-offset-7">
                <button class="btn btn-flat btn-lg btn-block btn-primary save-btn" data-loading-text="<i class='fa fa-circle-o-notch fa-spin'></i> Saving..." ><i class="fa fa-save"></i> Save</button>
            </div>
        </div>
        {!! Form::close() !!}
    </section>
@stop
@section('page-css')
    @include('Client::pages.includes.css')
@stop
@section('page-js')
    @include('Client::pages.includes.js')
    @include('Client::notify')
@stopPK�8]d6/��.Client/Views/pages/contact-us/create.blade.phpnu�Iw��@extends('Client::layouts')
@section('page-body')

    <section class="content-header">
        <h1>
            <i class="fa fa-plus"></i> Add {{$pageModuleName}}
        </h1>
        <ol class="breadcrumb">
            <li><a href="{{ route(config('modules.client').'.contact-us.index') }}"><i class="fa fa-{{$pageIcon ? $pageIcon : 'angle-double-right'}}"></i> {{$pageTitle}}</a></li>
            <li class="active">Add</li>
        </ol>
    </section>

    <section class="content">
        @include('Client::message')
        {!! Form::open(array('route'=> config('modules.client').'.contact-us.store', 'class' => 'form-horizontal', 'method' => 'POST', 'id' => 'contact-us-form')) !!}
        <div class="row">
            <div class="col-sm-12">
                <div class="box box-primary">
                    <div class="box-header">
                        <h3 class="box-title">@include('Client::all-fields-are-required')</h3>
                    </div>
                    <div class="box-body">
                       @include('Client::pages.contact-us.includes.form')
                    </div>
                </div>
            </div>
        </div>
        <div class="row">
            <div class="col-md-4 col-md-offset-7">
                <button class="btn btn-flat btn-lg btn-block btn-primary save-btn" data-loading-text="<i class='fa fa-circle-o-notch fa-spin'></i> Saving..." ><i class="fa fa-save"></i> Save</button>
            </div>
        </div>
        {!! Form::close() !!}
    </section>
@stop
@section('page-css')
    @include('Client::pages.contact-us.includes.css')
@stop
@section('page-js')
    @include('Client::pages.contact-us.includes.gmaps')
    @include('Client::pages.contact-us.includes.js')
    @include('Client::notify')
@stopPK�8]����5Client/Views/pages/contact-us/includes/form.blade.phpnu�Iw��<div class="form-group">
    <label class="control-label col-md-3">Name <i class="required">*</i></label>
    <div class="col-md-6">
        {!! Form::text('name', null , ['class'=>'form-control', 'autocomplete'=>'off', 'placeholder'=>'Name']) !!}
    </div>
</div>
<div class="form-group">
    <label class="control-label col-md-3">Email <i class="required">*</i></label>
    <div class="col-md-6">
        {!! Form::text('email', null , ['class'=>'form-control', 'autocomplete'=>'off', 'placeholder'=>'Email']) !!}
    </div>
</div>
<div class="form-group">
    <label class="control-label col-md-3">Contact Number <i class="required">*</i></label>
    <div class="col-md-6">
     <!--    <div class="input-group"> -->
        {!! Form::text('contact', null , ['class'=>'form-control', 'autocomplete'=>'off', 'placeholder'=>'Contact Number']) !!}
  <!--          <span class="input-group-btn">
                <button class="btn btn-primary btn-flat" type="button" data-toggle="tooltip" title=""><i class="fa fa-plus"></i></button>
           </span> -->
       <!--  </div> -->
    </div>
</div>
<div class="form-group">
    <label class="control-label col-md-3">Recruitment Building</label>
    <div class="col-md-4">
    {!! Form::text('building_name', null , ['class'=>'form-control uppercaseFirst', 'autocomplete'=>'off', 'placeholder' => 'Building Name']) !!}
    </div>
    <div class="col-md-2">
    {!! Form::text('building_floor', null , ['class'=>'form-control uppercaseFirst', 'autocomplete'=>'off', 'placeholder' => 'Floor']) !!}
    </div>
</div>
<div class="form-group">
    <label class="control-label col-md-3">Recruitment Office Address <i class="required">*</i></label>
    <div class="col-md-3">
    {!! Form::text('rec_number', null , ['class'=>'form-control', 'autocomplete'=>'off', 'placeholder' => 'Number']) !!}
    </div>
    <div class="col-md-3">
    {!! Form::text('rec_street', null , ['class'=>'form-control pascal', 'autocomplete'=>'off', 'placeholder' => 'Street']) !!}
    </div>
</div>
<div class="form-group">
    <label class="control-label col-md-3"></label>
    <div class="col-md-6">
        {!! Form::text('rec_city', null , ['class'=>'form-control', 'autocomplete'=>'off', 'placeholder'=>'City']) !!}
    </div>
</div>
<!-- <div class="form-group">
    <label class="control-label col-md-3"></label>
    <div class="col-md-6">
        <div class="panel panel-default">
            <div class="panel-body">
                <div class="form-group">
                    <input id="search" type="text" placeholder="Search.." style="width: 150px; height: 30px; margin-top: 10px;">
                    <div id="map" style="width: 100%; height: 250px;"></div>
                </div>
                <div class="form-group">
                    <label class="control-label col-md-3">Latitude: <i class="required">*</i></label>
                    <div class="col-md-8">
                        {!! Form::text('lat', null , ['class'=>'form-control', 'id'=>'lat', 'autocomplete'=>'off']) !!}
                    </div>
                </div>
                <div class="form-group">
                    <label class="control-label col-md-3">Longitude: <i class="required">*</i></label>
                    <div class="col-md-8">
                        {!! Form::text('lng', null , ['class'=>'form-control', 'id'=>'lng', 'autocomplete'=>'off']) !!}
                    </div>
                </div>
            </div>
        </div>
    </div>
</div> -->
<div class="form-group">
    <label class="control-label col-md-3">Status <i class="required">*</i></label>
    <div class="col-md-6">
        {!! Form::select('status',  $status , null ,  ['class'=>'form-control']) !!}
    </div>
</div>PK�8]����6Client/Views/pages/contact-us/includes/gmaps.blade.phpnu�Iw��<script src="http://maps.googleapis.com/maps/api/js?key=AIzaSyB4CBr0reSrrQ9EuBFxPVM_TzbuV3uBow4&libraries=places"></script>
<script>
function initMap(pos) {
	var LatLng = new google.maps.LatLng(pos.lat, pos.lng);
  	map = new google.maps.Map(document.getElementById('map'), {
	    center: LatLng,
	    zoom: 14,
	    mapTypeId: google.maps.MapTypeId.ROADMAP
  	});

  	marker = new google.maps.Marker({
	    position: LatLng,
	    map: map,
	    title: 'Your Location!',
	    draggable:true
  	});

	var input = document.getElementById('search');
  	var searchBox = new google.maps.places.SearchBox(input);
  	map.controls[google.maps.ControlPosition.TOP_LEFT].push(input);

  	// Bias the SearchBox results towards current map's viewport.
  	map.addListener('bounds_changed', function() {
    	searchBox.setBounds(map.getBounds());
  	});

	searchBox.addListener('places_changed', function() {
	    var places = searchBox.getPlaces();

	    if (places.length == 0) {
	      return;
	    }
	    marker.setMap(null);
	  	marker = new google.maps.Marker({
		    position: places[0].geometry.location,
		    map: map,
		    title: 'Recruitment Location!',
		    draggable:true
	  	});
	  	$("#lat").val(marker.getPosition().lat());
        $("#lng").val(marker.getPosition().lng());


	  	map.setCenter(places[0].geometry.location);
  		google.maps.event.addListener(marker, 'dragend', function () {
            $("#lat").val(marker.getPosition().lat());
            $("#lng").val(marker.getPosition().lng());
        });
  	});

  	google.maps.event.addListener(marker, 'dragend', function () {
        $("#lat").val(marker.getPosition().lat());
        $("#lng").val(marker.getPosition().lng());
    });

}

if ($('#map').length)
{
	if ($("input[name=lat]").val() && $("input[name=lng]").val())
	{
		var lat = $("input[name=lat]").val();
		var lng = $("input[name=lng]").val();
		var pos = {
	        lat: lat,
	        lng: lng
	    };
      	initMap(pos);
	}
	else {
		var pos = {
        lat: 14.624520,
        lng: 121.055754
      };

      initMap(pos);
	}
}
</script>PK�8]t�k��3Client/Views/pages/contact-us/includes/js.blade.phpnu�Iw��<script type="text/javascript" src="{{ asset('vendor/jsvalidation/js/jsvalidation.js')}}"></script>
{!! JsValidator::formRequest('QxCMS\Modules\Client\Requests\Pages\ContactUsRequest', 'form#contact-us-form'); !!}
<script type="text/javascript">
$(function(){
	var body = $('body');
    $(".intlphone").intlTelInput({
    	onlyCountries: ["ph"],
          //allowExtensions:true,
        autoFormat:true,
        numberType:"MOBILE",
          //autoPlaceholder:false,
        defaultCountry: "ph",
          //autoHideDialCode: false,
         // nationalMode:true,
        utilsScript: body.data('url')+'/template/AdminLTE/plugins/intlnum/lib/libphonenumber/build/utils.js'
    });
});
</script>PK�8]�� ��4Client/Views/pages/contact-us/includes/css.blade.phpnu�Iw��<style type="text/css">
    .intl-tel-input .selected-flag {
        z-index: 3;
    }
    .intl-tel-input {
         display: initial; 
         position: initial;
    }
    .intl-tel-input .flag-dropdown {
     position: absolute; 
    }
</style>PK�8]E'+22-Client/Views/pages/contact-us/index.blade.phpnu�Iw��@extends('Client::layouts')
@section('page-body')
    <!-- Content Header (Page header) -->
    <section class="content-header">
        <h1>
            <i class="fa fa-{{$pageIcon ? $pageIcon : 'angle-double-right'}}" aria-hidden="true"></i> {{$pageTitle}}
            <br>
            <small>{{$pageDescription}}</small>
        </h1>
        <ol class="breadcrumb">
            <li class="active"><i class="fa fa-{{$pageIcon ? $pageIcon : 'angle-double-right'}}"></i> {{$pageTitle}}</li>
        </ol>
    </section>
    <!-- Main content -->
    <section class="content">
        @include('Client::message')
        <div class="box box-default">
            <div class="box-header with-border">
                @can('create', $permissions)
                    <div class="pull-right">
                        <a href="{{ route(config('modules.client').'.contact-us.create') }}" class="btn btn-primary btn-flat"><i class="fa fa-plus-circle"></i> Add {{$pageModuleName}}</a>
                    </div>
                @endcan
            </div>
            <div class="box-body">
                <table class="table table-bordered table-striped table-hover" id="contact-us-table" width="100%">
                    <thead>
                        <tr>
                            <th>#</th>
                            <th>Name</th>
                            <th>Contact Number</th>
                            <th>Email</th>
                            <th>Address</th>
                            <th>Status</th>
                            <th>Action</th>
                        </tr>
                    </thead>
               </table>
            </div>
        </div>
        @include('Client::logs')
    </section>
@stop
@section('page-js')
<script type="text/javascript">
    $(document).ready(function() {
        var contactUsTable = $('#contact-us-table').DataTable({
            "processing": true,
            "serverSide": true,
            "pagingType": "input",
            ajax: {
                url: '{!! route(config('modules.client').'.contact-us.datatables-index') !!}',
                type: 'POST',
            },
            columns: [
                {
                    width:'10px', searchable: false, orderable: false,
                    render: function (data, type, row, meta) {
                        return meta.row + meta.settings._iDisplayStart + 1;
                    }
                },
                { data: 'name', name: 'name' },
                { data: 'contact', name: 'contact', sortable: false, searchable: true},
                { data: 'email', name: 'email', sortable: false, searchable: true},
                { data: 'address', name: 'address', sortable: false, searchable: true},
                { data: 'status_name', name: 'status_name', sortable: false, searchable: false, width:'60px', className:'text-center'},
                { data: 'action', name: 'action', orderable: false, searchable: false, width:'60px', className:'text-center'},
            ],
            fnDrawCallback: function ( oSettings ) {
                contactUsTable.on("click", '#btn-delete', function() {
                    var action = $(this).data('action');
                    swal({
                        title: 'Are you sure you want to delete?',
                        text: "This will be permanently deleted",
                        type: 'warning',
                        showCancelButton: true,
                        confirmButtonColor: '#3085d6',
                        cancelButtonColor: '#d33',
                        confirmButtonText: 'Yes'
                        }).then(function () {
                        $.ajax({
                            type: "DELETE",
                            url: action,
                            dataType: 'json',
                            success: function(data) {
                                if(data.type == "success") {
                                    contactUsTable.draw();
                                    swal(data.message, '', 'success').catch(swal.noop);
                               }else{
                                    swal(data.message, '', 'error').catch(swal.noop);
                               }
                            },
                            error :function( jqXhr ){
                                swal('Unable to delete.', 'Please try again.', 'error').catch(swal.noop);
                            }
                        });
                    }).catch(swal.noop);
                });
            },
            "order": [[1, "asc"]],
        });
    });
</script>
@include('Client::notify')
@stopPK�8]�N��((,Client/Views/pages/contact-us/edit.blade.phpnu�Iw��@extends('Client::layouts')
@section('page-body')

    <section class="content-header">
         <h1>
            <i class="fa fa-pencil"></i> Edit {{$pageModuleName}}
        </h1>
        <ol class="breadcrumb">
            <li><a href="{{ route(config('modules.client').'.contact-us.index') }}"><i class="fa fa-{{$pageIcon ? $pageIcon : 'angle-double-right'}}"></i> {{$pageTitle}}</a></li>
            <li class="active">Edit</li>
        </ol>
    </section>

    <section class="content">
        @include('Client::message')
        {!! Form::model($contact_us, array('route' => [config('modules.client').'.contact-us.update', $contact_us->hashid], 'method' => 'PUT', 'class'=>'form-horizontal', 'role' => 'form' , 'id'=>'contact-us-form')) !!}
        <div class="row">
            <div class="col-sm-12">
                <div class="box box-primary">
                    <div class="box-header">
                        <h3 class="box-title">@include('Client::all-fields-are-required')</h3>
                    </div>
                    <div class="box-body">
                       @include('Client::pages.contact-us.includes.form')
                    </div>
                </div>
            </div>
        </div>
        <div class="row">
            <div class="col-md-4 col-md-offset-7">
                <button class="btn btn-flat btn-lg btn-block btn-warning save-btn" data-loading-text="<i class='fa fa-circle-o-notch fa-spin'></i> Saving..." ><i class="fa fa-save"></i> Save Changes</button>
            </div>
        </div>
        {!! Form::close() !!}
        <br>
        @include('Client::logs')
    </section>
@stop
@section('page-css')
    @include('Client::pages.contact-us.includes.css')
@stop
@section('page-js')
    @include('Client::pages.contact-us.includes.js')
    @include('Client::notify')
@stopPK�8]���'Client/Views/pages/faq/create.blade.phpnu�Iw��@extends('Client::layouts')
@section('page-body')

    <section class="content-header">
        <h1>
            <i class="fa fa-plus"></i> Add {{$pageModuleName}}
        </h1>
        <ol class="breadcrumb">
            <li><a href="{{ route(config('modules.client').'.faq.index') }}"><i class="fa fa-{{$pageIcon ? $pageIcon : 'angle-double-right'}}"></i> {{$pageTitle}}</a></li>
            <li class="active">Add</li>
        </ol>
    </section>

    <section class="content">
        @include('Client::message')
        {!! Form::open(array('route'=> config('modules.client').'.faq.store', 'class' => 'form-horizontal', 'method' => 'POST', 'id' => 'faq-form')) !!}
        <div class="row">
            <div class="col-sm-12">
                <div class="box box-primary">
                    <div class="box-header">
                        <h3 class="box-title">@include('Client::all-fields-are-required')</h3>
                    </div>
                    <div class="box-body">
                       @include('Client::pages.faq.includes.form')
                    </div>
                </div>
            </div>
        </div>
        <div class="row">
            <div class="col-md-4 col-md-offset-7">
                <button class="btn btn-flat btn-lg btn-block btn-primary save-btn" data-loading-text="<i class='fa fa-circle-o-notch fa-spin'></i> Saving..." ><i class="fa fa-save"></i> Save</button>
            </div>
        </div>
        {!! Form::close() !!}
    </section>
@stop
@section('page-css')
    @include('Client::pages.faq.includes.css')
@stop
@section('page-js')
    @include('Client::pages.faq.includes.js')
    @include('Client::notify')
@stopPK�8]�X����.Client/Views/pages/faq/includes/form.blade.phpnu�Iw��<div class="form-group">
    <label class="control-label col-md-3">Question <i class="required">*</i></label>
    <div class="col-md-6">
        {!! Form::text('title', null , ['class'=>'form-control', 'autocomplete'=>'off']) !!}
    </div>
</div>
<div class="form-group">
    <label class="control-label col-md-3">Answer <i class="required">*</i></label>
    <div class="col-md-6">
        {!! Form::textarea('content', null , ['class'=>'form-control', 'autocomplete'=>'off']) !!}
    </div>
</div>
<div class="form-group">
    <label class="control-label col-md-3">Status <i class="required">*</i></label>
    <div class="col-md-6">
        {!! Form::select('status',  $status , null ,  ['class'=>'form-control']) !!}
    </div>
</div>PK�8]��x��,Client/Views/pages/faq/includes/js.blade.phpnu�Iw��<script type="text/javascript" src="{{ asset('vendor/jsvalidation/js/jsvalidation.js')}}"></script>
{!! JsValidator::formRequest('QxCMS\Modules\Client\Requests\Pages\FAQRequest', 'form#faq-form'); !!}
<script type="text/javascript">
    CKEDITOR.replace( 'content', {
        filebrowserImageBrowseUrl: '/qxcms/laravel/filemanager?type=Images',
        filebrowserBrowseUrl: '/qxcms/laravel/filemanager?type=Files',
        height: '250px',
    });

    var faq_form = $('form#faq-form');
    $('button.save-btn').on('click', function() {
        var btn = $(this);
        btn.button('loading');
        var messageLength = CKEDITOR.instances['content'].getData().replace(/<[^>]*>/gi, '').length;
        
        if(faq_form.valid()){
        	if(!messageLength) {
	            swal('Please enter the answer.', '', 'error').catch(swal.noop);
	            
	            setTimeout(function(){
                btn.button('reset');
	            }, 200);
	            return false;
	        }
	        return true;
        }else{
            setTimeout(function(){
                btn.button('reset');
            }, 200);
           return false;
        }
    });
</script>PK�8]����zz-Client/Views/pages/faq/includes/css.blade.phpnu�Iw��<style>
.panel-heading a:after {
    font-family:'Glyphicons Halflings';
    content:"\e114";
    float: right;
}
</style>PK�8]Bz�  ;Client/Views/pages/faq/includes/faq-details-modal.blade.phpnu�Iw��<div id="faq-details-modal" class="modal fade" role="dialog">
    <div class="modal-dialog">
        <div class="modal-content">
            <div class="modal-header">
                <button type="button" class="close" data-dismiss="modal">&times;</button>
                <h4 class="modal-title">FAQ Details</h4>
            </div>
            <div class="modal-body">
                <table class="table table-condensed" id="details-table" width="100%">
                    <tbody>
                        <tr>
                            <th width="10%">Question:</th>
                            <td width="40%" class="title"></td>
                        </tr>
                        <tr>
                            <th width="10%">Answer:</th>
                            <td width="40%" class="content"></td>
                        </tr>
                        <tr>
                            <th width="10%">Status:</th>
                            <td width="40%" class="status"></td>
                        </tr>
                    </tbody>
                </table>
            </div>
            <div class="modal-footer">
                <button type="button" class="btn btn-default btn-flat close-modal" data-dismiss="modal">Close</button>
            </div>
        </div>
    </div>
</div>PK�8]�ª55&Client/Views/pages/faq/index.blade.phpnu�Iw��@extends('Client::layouts')
@section('page-body')
    <!-- Content Header (Page header) -->
    <section class="content-header">
        <h1>
            <i class="fa fa-{{$pageIcon ? $pageIcon : 'angle-double-right'}}" aria-hidden="true"></i> {{$pageTitle}}
            <br>
            <small>{{$pageDescription}}</small>
        </h1>
        <ol class="breadcrumb">
            <li class="active"><i class="fa fa-{{$pageIcon ? $pageIcon : 'angle-double-right'}}"></i> {{$pageTitle}}</li>
        </ol>
    </section>
    <!-- Main content -->
    <section class="content">
        @include('Client::message')
        <div class="box box-default">
            <div class="box-header with-border">
                <div class="pull-left">
                    <form action="javascript:void(0)" id="faq-filter" method="POST" class="form-inline" role="form">
                        <b>Filter: </b>
                        <div class="form-group">
                            <input type="text" name="title" class="form-control" placeholder="Type question to search." style="width: 300px !important;" autocomplete="off">
                        </div>
                        <div class="form-group">
                            <label class="sr-only" for="">Search FAQ</label>
                            {!! Form::select('status', $status, null, ['class' => 'form-control', 'placeholder'=>'All']) !!}
                        </div>
                        <button type="submit" class="btn btn-primary">Filter</button>
                        <button href="javascript:void(0)" class="btn btn-default" id="reset">Reset</button>
                    </form>
                </div>
                @can('create', $permissions)
                    <div class="pull-right">
                        <a href="{{ route(config('modules.client').'.faq.create') }}" class="btn btn-primary btn-flat"><i class="fa fa-plus-circle"></i> Add {{$pageModuleName}}</a>
                    </div>
                @endcan
            </div>
            <div class="box-body">
                <table class="table table-bordered table-striped table-hover" id="faq-table" width="100%">
                    <thead>
                        <tr>
                            <th>#</th>
                            <th>Question</th>
                            <th>Status</th>
                            <th>Action</th>
                        </tr>
                    </thead>
               </table>
            </div>
        </div>
        @include('Client::logs')
        @include('Client::pages.faq.includes.faq-details-modal')
    </section>
@stop
@section('page-js')
<script type="text/javascript">
    $(document).ready(function() {
        var faqTable = $('#faq-table').DataTable({
            "processing": true,
            "serverSide": true,
            "pagingType": "input",
            ajax: {
                url: '{!! route(config('modules.client').'.faq.datatables-index') !!}',
                type: 'POST',
                "data": function(d){
                    d.title = $('#faq-filter [name="title"]').val();
                    d.status = $('#faq-filter [name="status"]').val();
                }
            },
            "dom": "<'row'<'col-sm-6'i><'col-sm-6 text-right'l>>" +
                "<'row'<'col-sm-12'tr>>" +
                "<'row'<'col-sm-5'><'col-sm-7'p>>",
            columns: [
                {
                    width:'10px', searchable: false, orderable: false,
                    render: function (data, type, row, meta) {
                        return meta.row + meta.settings._iDisplayStart + 1;
                    }
                },
                { data: 'title', name: 'title' },
                { data: 'status_name', name: 'status_name', sortable: false, searchable: false, width:'100px', className:'text-center'},
                { data: 'action', name: 'action', orderable: false, searchable: false, width:'60px', className:'text-center'},
            ],
            fnDrawCallback: function ( oSettings ) {
                faqTable.on("click", '#btn-delete', function() {
                    var action = $(this).data('action');
                    swal({
                        title: 'Are you sure you want to delete?',
                        text: "This will be permanently deleted",
                        type: 'warning',
                        showCancelButton: true,
                        confirmButtonColor: '#3085d6',
                        cancelButtonColor: '#d33',
                        confirmButtonText: 'Yes'
                        }).then(function () {
                        $.ajax({
                            type: "DELETE",
                            url: action,
                            dataType: 'json',
                            success: function(data) {
                                if(data.type == "success") {
                                    faqTable.draw();
                                    swal(data.message, '', 'success').catch(swal.noop);
                               }else{
                                    swal(data.message, '', 'error').catch(swal.noop);
                               }
                            },
                            error :function( jqXhr ){
                                swal('Unable to delete.', 'Please try again.', 'error').catch(swal.noop);
                            }
                        });
                    }).catch(swal.noop);
                });
            },
            "order": [[1, "asc"]],
        });
        $('#faq-filter').on('submit', function(){
            faqTable.draw();
        });
        $('#reset').on('click', function(event) {
            event.preventDefault();
            $('#faq-filter [name="title"]').val('');
            $('#faq-filter [name="status"]').val('');
            faqTable.draw();
        });
    });
</script>
<script type="text/javascript">
    $('#faq-details-modal').on('show.bs.modal', function (event) {
        var modal = $(this);
        var href = $(event.relatedTarget);
        var details_url = href.data('details_url');

        $.ajax({
            url: details_url,
            type: 'GET',
        }).done(function(response){
            modal.find('.title').html(response.title);
            modal.find('.content').html(response.content);
            modal.find('.status').html(response.status_name);
        })
    });

    $('#faq-details-modal').on('hidden.bs.modal', function (event) {
        var modal = $(this);

        modal.find('.title').html('');
        modal.find('.content').html('');
        modal.find('.status').html('');
    });
</script>
@include('Client::notify')
@stopPK�8]������%Client/Views/pages/faq/edit.blade.phpnu�Iw��@extends('Client::layouts')
@section('page-body')

    <section class="content-header">
         <h1>
            <i class="fa fa-pencil"></i> Edit {{$pageModuleName}}
        </h1>
        <ol class="breadcrumb">
            <li><a href="{{ route(config('modules.client').'.faq.index') }}"><i class="fa fa-{{$pageIcon ? $pageIcon : 'angle-double-right'}}"></i> {{$pageTitle}}</a></li>
            <li class="active">Edit</li>
        </ol>
    </section>

    <section class="content">
        @include('Client::message')
        {!! Form::model($faq, array('route' => [config('modules.client').'.faq.update', $faq->hashid], 'method' => 'PUT', 'class'=>'form-horizontal', 'role' => 'form' , 'id'=>'faq-form')) !!}
        <div class="row">
            <div class="col-sm-12">
                <div class="box box-primary">
                    <div class="box-header">
                        <h3 class="box-title">@include('Client::all-fields-are-required')</h3>
                    </div>
                    <div class="box-body">
                       @include('Client::pages.faq.includes.form')
                    </div>
                </div>
            </div>
        </div>
        <div class="row">
            <div class="col-md-4 col-md-offset-7">
                <button class="btn btn-flat btn-lg btn-block btn-warning save-btn" data-loading-text="<i class='fa fa-circle-o-notch fa-spin'></i> Saving..." ><i class="fa fa-save"></i> Save Changes</button>
            </div>
        </div>
        {!! Form::close() !!}
        <br>
        @include('Client::logs')
    </section>
@stop
@section('page-css')
    @include('Client::pages.faq.includes.css')
@stop
@section('page-js')
    @include('Client::pages.faq.includes.js')
    @include('Client::notify')
@stopPK�8]��DR*Client/Views/pages/includes/form.blade.phpnu�Iw��<input type="hidden" name="_token" value="{{ csrf_token() }}">
	<div class="row">
        <div class="col-md-7">
            <div class="col-md-12">
                <div class="form-group {{ ($errors->has('title') ? 'has-error':'') }}">
                    <label class="control-label col-md-2">Title: <i class="required">*</i></label>
                    <div class="col-md-10">
                        {!! Form::text('title', null , ['class'=>'form-control', 'placeholder'=>'Enter Post Title', 'autocomplete'=>'off']) !!}
                        {!! $errors->first('title', '<span class="text-red">:message</span>') !!}
                    </div>
                </div>
                <div class="form-group {{ $errors->has('content') ? ' has-error' : '' }}">
                    <label class="control-label col-md-2">Content:</label>
                    <div class="col-md-12">
                        {!! Form::textarea('content', null , ['class'=>'form-control wysihtml5', 'placeholder'=>'Details here...', 'autocomplete'=>'off']) !!}
                        {!! $errors->first('content', '<span class="text-red">:message</span>') !!}
                    </div>
                </div>
            </div>
        </div>
        <div class="col-md-5">
            <div class="col-md-12">
                <div class="panel-group" id="accordion">
                    <div class="panel panel-default" id="panel1">
                        <div class="panel-heading">Publish</div>
                        <div class="panel-body">
                            <div class="form-group">
                                <label class="control-label col-md-3">Status: </label>
                                <div class="col-md-9">
                                    {!! Form::select('status',  $status , null ,  ['class'=>'input-sm form-control']) !!}
                                    {!! $errors->first('status', '<span class="text-red">:message</span>') !!}
                                </div>
                            </div>
                            <div class="form-group">
                                <label class="control-label col-md-3">Visibility: </label>
                                <div class="col-md-9">
                                    {!! Form::select('visibility',  $visibility , null ,  ['class'=>'input-sm form-control']) !!}
                                    {!! $errors->first('visibility', '<span class="text-red">:message</span>') !!}
                                </div>
                            </div>
                        </div>
                    </div>
                </div>
                <div class="panel-group" id="accordion">
                    <div class="panel panel-default" id="panel1">
                        <div class="panel-heading">
                            <h4 class="panel-title">
                                <a data-toggle="collapse" data-target="#collapseOne" style="cursor: pointer;">Featured Image
                                </a>
                            </h4>
                        </div>
                        <div id="collapseOne" class="panel-collapse collapse in">
                            <div class="panel-body">
                                <div class="form-group">
                                    <div class="col-sm-12">
                                        <div class="input-group">
                                          <span class="input-group-btn">
                                            <a id="image" data-input="featured_image" data-preview="featuredImagePreview" class="btn btn-primary">
                                              <i class="fa fa-picture-o"></i> Choose
                                            </a>
                                          </span>
                                          {!! Form::text('featured_image', null , ['class'=>'form-control', 'id' => 'featured_image', 'readonly' => 'readonly']) !!}
                                        </div>
                                    </div>
                                </div>
                                <br>
                                <img src="" id="featuredImagePreview" alt="Uploaded Image Preview" width="365px" height="290px"/>
                            </div>
                        </div>
                    </div>
                </div>
                <div class="panel-group" id="accordion">
                    <div class="panel panel-default" id="panel1">
                        <div class="panel-heading">
                            <h4 class="panel-title">
                                <a data-toggle="collapse" data-target="#collapseTwo" style="cursor: pointer;">Excerpt
                                </a>
                            </h4>
                        </div>
                        <div id="collapseTwo" class="panel-collapse collapse in">
                            <div class="panel-body">
                                <div class="form-group">
                                    <div class="col-sm-12">
                                        {!! Form::textarea('excerpt', null , ['class'=>'form-control', 'placeholder'=>'Enter Excerpt', 'autocomplete'=>'off', 'rows'=>'3', 'style'=>'resize: vertical;']) !!}
                                        {!! $errors->first('excerpt', '<span class="text-red">:message</span>') !!}
                                    </div>
                                </div>
                            </div>
                        </div>
                    </div>
                </div>
                <div class="panel-group" id="accordion">
                    <div class="panel panel-default" id="panel1">
                        <div class="panel-heading">
                            <h4 class="panel-title">
                                <a data-toggle="collapse" data-target="#collapseThree" style="cursor: pointer;">Page Attributes
                                </a>
                            </h4>
                        </div>
                        <div id="collapseThree" class="panel-collapse collapse in">
                            <div class="panel-body">
                                <div class="form-group">
                                    <label class="control-label col-md-3">Parent: </label>
                                    <div class="col-md-9">
                                        {!! Form::select('post_parent_id',  ['0' => '-- No Parent'] + $pages , null , ['class'=>'input-sm form-control']) !!}
                                        {!! $errors->first('post_parent_id', '<span class="text-red">:message</span>') !!}
                                    </div>
                                </div>
                            </div>
                        </div>
                    </div>
                </div>
            </div>
        </div>
    </div>PK�8]VhX��(Client/Views/pages/includes/js.blade.phpnu�[���<script type="text/javascript" src="{{ asset('vendor/jsvalidation/js/jsvalidation.js')}}"></script>
{!! JsValidator::formRequest('QxCMS\Modules\Client\Requests\Pages\PagesRequest', 'form#page-form'); !!}
<script>
     $('#image').filemanager('image', {prefix: "{{ URL::to('/qxcms/laravel/filemanager') }}"});
</script>
<script type="text/javascript">
    CKEDITOR.replace( 'content', {
        filebrowserImageBrowseUrl: '/qxcms/laravel/filemanager?type=Images',
        filebrowserBrowseUrl: '/qxcms/laravel/filemanager?type=Files',
    });

    var path = $('[name="featured_image"]').val();
    $("#featuredImagePreview").attr("src", path);
</script>PK�8]����zz)Client/Views/pages/includes/css.blade.phpnu�Iw��<style>
.panel-heading a:after {
    font-family:'Glyphicons Halflings';
    content:"\e114";
    float: right;
}
</style>PK�8]�C��,Client/Views/pages/about-us/create.blade.phpnu�Iw��@extends('Client::layouts')
@section('page-body')

    <section class="content-header">
        <h1>
            <i class="fa fa-plus"></i> Add {{$pageModuleName}}
        </h1>
        <ol class="breadcrumb">
            <li><a href="{{ route(config('modules.client').'.about-us.index') }}"><i class="fa fa-{{$pageIcon ? $pageIcon : 'angle-double-right'}}"></i> {{$pageTitle}}</a></li>
            <li class="active">Add</li>
        </ol>
    </section>

    <section class="content">
        @include('Client::message')
        {!! Form::open(array('route'=> config('modules.client').'.about-us.store', 'class' => 'form-horizontal', 'method' => 'POST', 'id' => 'about-us-form')) !!}
        <div class="row">
            <div class="col-sm-12">
                <div class="box box-primary">
                    <div class="box-header">
                        <h3 class="box-title">@include('Client::all-fields-are-required')</h3>
                    </div>
                    <div class="box-body">
                       @include('Client::pages.about-us.includes.form')
                    </div>
                </div>
            </div>
        </div>
        <div class="row">
            <div class="col-md-4 col-md-offset-7">
                <button class="btn btn-flat btn-lg btn-block btn-primary save-btn" data-loading-text="<i class='fa fa-circle-o-notch fa-spin'></i> Saving..." ><i class="fa fa-save"></i> Save</button>
            </div>
        </div>
        {!! Form::close() !!}
    </section>
@stop
@section('page-css')
    @include('Client::pages.about-us.includes.css')
@stop
@section('page-js')
    @include('Client::pages.about-us.includes.js')
    @include('Client::notify')
@stopPK�8]��>�((EClient/Views/pages/about-us/includes/about-us-details-modal.blade.phpnu�Iw��<div id="about-us-details-modal" class="modal fade" role="dialog">
    <div class="modal-dialog">
        <div class="modal-content">
            <div class="modal-header">
                <button type="button" class="close" data-dismiss="modal">&times;</button>
                <h4 class="modal-title">About Us Details</h4>
            </div>
            <div class="modal-body">
                <table class="table table-condensed" id="details-table" width="100%">
                    <tbody>
                        <tr>
                            <th width="10%">Title:</th>
                            <td width="40%" class="title"></td>
                        </tr>
                        <tr>
                            <th width="10%">Content:</th>
                            <td width="40%" class="content"></td>
                        </tr>
                        <tr>
                            <th width="10%">Status:</th>
                            <td width="40%" class="status"></td>
                        </tr>
                    </tbody>
                </table>
            </div>
            <div class="modal-footer">
                <button type="button" class="btn btn-default btn-flat close-modal" data-dismiss="modal">Close</button>
            </div>
        </div>
    </div>
</div>PK�8]Zt����3Client/Views/pages/about-us/includes/form.blade.phpnu�Iw��<div class="form-group">
    <label class="control-label col-md-3">Title <i class="required">*</i></label>
    <div class="col-md-6">
        {!! Form::text('title', null , ['class'=>'form-control', 'autocomplete'=>'off']) !!}
    </div>
</div>
<div class="form-group">
    <label class="control-label col-md-3">Content <i class="required">*</i></label>
    <div class="col-md-6">
        {!! Form::textarea('content', null , ['class'=>'form-control', 'autocomplete'=>'off']) !!}
    </div>
</div>
<div class="form-group">
    <label class="control-label col-md-3">Status <i class="required">*</i></label>
    <div class="col-md-6">
        {!! Form::select('status',  $status , null ,  ['class'=>'form-control']) !!}
    </div>
</div>PK�8]*S���1Client/Views/pages/about-us/includes/js.blade.phpnu�Iw��<script type="text/javascript" src="{{ asset('vendor/jsvalidation/js/jsvalidation.js')}}"></script>
{!! JsValidator::formRequest('QxCMS\Modules\Client\Requests\Pages\AboutUsRequest', 'form#about-us-form'); !!}
<script type="text/javascript">
    CKEDITOR.replace( 'content', {
        filebrowserImageBrowseUrl: '/qxcms/laravel/filemanager?type=Images',
        filebrowserBrowseUrl: '/qxcms/laravel/filemanager?type=Files',
        height: '300px',
    });

    var about_us_form = $('form#about-us-form');
    $('button.save-btn').on('click', function() {
        var btn = $(this);
        btn.button('loading');
        var messageLength = CKEDITOR.instances['content'].getData().replace(/<[^>]*>/gi, '').length;
        
        if(about_us_form.valid()){
        	if(!messageLength) {
	            swal('Please enter a content.', '', 'error').catch(swal.noop);

	            setTimeout(function(){
                btn.button('reset');
	            }, 200);
	            return false;
	        }
	        return true;
        }else{
            setTimeout(function(){
                btn.button('reset');
            }, 200);
           return false;
        }
    });
</script>PK�8]����zz2Client/Views/pages/about-us/includes/css.blade.phpnu�Iw��<style>
.panel-heading a:after {
    font-family:'Glyphicons Halflings';
    content:"\e114";
    float: right;
}
</style>PK�8]00	i��+Client/Views/pages/about-us/index.blade.phpnu�Iw��@extends('Client::layouts')
@section('page-body')
    <!-- Content Header (Page header) -->
    <section class="content-header">
        <h1>
            <i class="fa fa-{{$pageIcon ? $pageIcon : 'angle-double-right'}}" aria-hidden="true"></i> {{$pageTitle}}
            <br>
            <small>{{$pageDescription}}</small>
        </h1>
        <ol class="breadcrumb">
            <li class="active"><i class="fa fa-{{$pageIcon ? $pageIcon : 'angle-double-right'}}"></i> {{$pageTitle}}</li>
        </ol>
    </section>
    <!-- Main content -->
    <section class="content">
        @include('Client::message')
        <div class="box box-default">
            <div class="box-header with-border">
                <div class="pull-left">
                    <form action="javascript:void(0)" id="about-us-filter" method="POST" class="form-inline" role="form">
                        <b>Filter: </b>
                        <div class="form-group">
                            <input type="text" name="title" class="form-control" placeholder="Type title to search." style="width: 300px !important;" autocomplete="off">
                        </div>
                        <div class="form-group">
                            <label class="sr-only" for="">Search About Us</label>
                            {!! Form::select('status', $status, null, ['class' => 'form-control', 'placeholder'=>'All']) !!}
                        </div>
                        <button type="submit" class="btn btn-primary">Filter</button>
                        <button href="javascript:void(0)" class="btn btn-default" id="reset">Reset</button>
                    </form>
                </div>
                @can('create', $permissions)
                    <div class="pull-right">
                        <a href="{{ route(config('modules.client').'.about-us.create') }}" class="btn btn-primary btn-flat"><i class="fa fa-plus-circle"></i> Add {{$pageModuleName}}</a>
                    </div>
                @endcan
            </div>
            <div class="box-body">
                <table class="table table-bordered table-striped table-hover" id="about-us-table" width="100%">
                    <thead>
                        <tr>
                            <th>#</th>
                            <th>Title</th>
                            <th>Status</th>
                            <th>Action</th>
                        </tr>
                    </thead>
               </table>
            </div>
        </div>
        @include('Client::logs')
        @include('Client::pages.about-us.includes.about-us-details-modal')
    </section>
@stop
@section('page-js')
<script type="text/javascript">
    $(document).ready(function() {
        var aboutUsTable = $('#about-us-table').DataTable({
            "processing": true,
            "serverSide": true,
            "pagingType": "input",
            ajax: {
                url: '{!! route(config('modules.client').'.about-us.datatables-index') !!}',
                type: 'POST',
                "data": function(d){
                    d.title = $('#about-us-filter [name="title"]').val();
                    d.status = $('#about-us-filter [name="status"]').val();
                }
            },
            "dom": "<'row'<'col-sm-6'i><'col-sm-6 text-right'l>>" +
                "<'row'<'col-sm-12'tr>>" +
                "<'row'<'col-sm-5'><'col-sm-7'p>>",
            columns: [
                {
                    width:'10px', searchable: false, orderable: false,
                    render: function (data, type, row, meta) {
                        return meta.row + meta.settings._iDisplayStart + 1;
                    }
                },
                { data: 'title', name: 'title' },
                { data: 'status_name', name: 'status_name', sortable: false, searchable: false, width:'100px', className:'text-center'},
                { data: 'action', name: 'action', orderable: false, searchable: false, width:'60px', className:'text-center'},
            ],
            fnDrawCallback: function ( oSettings ) {
                aboutUsTable.on("click", '#btn-delete', function() {
                    var action = $(this).data('action');
                    swal({
                        title: 'Are you sure you want to delete?',
                        text: "This will be permanently deleted",
                        type: 'warning',
                        showCancelButton: true,
                        confirmButtonColor: '#3085d6',
                        cancelButtonColor: '#d33',
                        confirmButtonText: 'Yes'
                        }).then(function () {
                        $.ajax({
                            type: "DELETE",
                            url: action,
                            dataType: 'json',
                            success: function(data) {
                                if(data.type == "success") {
                                    aboutUsTable.draw();
                                    swal(data.message, '', 'success').catch(swal.noop);
                               }else{
                                    swal(data.message, '', 'error').catch(swal.noop);
                               }
                            },
                            error :function( jqXhr ){
                                swal('Unable to delete.', 'Please try again.', 'error').catch(swal.noop);
                            }
                        });
                    }).catch(swal.noop);
                });
            },
            "order": [[1, "asc"]],
        });
        $('#about-us-filter').on('submit', function(){
            aboutUsTable.draw();
        });
        $('#reset').on('click', function(event) {
            event.preventDefault();
            $('#about-us-filter [name="title"]').val('');
            $('#about-us-filter [name="status"]').val('');
            aboutUsTable.draw();
        });
    });
</script>
<script type="text/javascript">
    $('#about-us-details-modal').on('show.bs.modal', function (event) {
        var modal = $(this);
        var href = $(event.relatedTarget);
        var details_url = href.data('details_url');

        $.ajax({
            url: details_url,
            type: 'GET',
        }).done(function(response){
            modal.find('.title').html(response.title);
            modal.find('.content').html(response.content);
            modal.find('.status').html(response.status_name);
        })
    });

    $('#about-us-details-modal').on('hidden.bs.modal', function (event) {
        var modal = $(this);

        modal.find('.title').html('');
        modal.find('.content').html('');
        modal.find('.status').html('');
    });
</script>
@include('Client::notify')
@stopPK�8]I�<�*Client/Views/pages/about-us/edit.blade.phpnu�Iw��@extends('Client::layouts')
@section('page-body')

    <section class="content-header">
         <h1>
            <i class="fa fa-pencil"></i> Edit {{$pageModuleName}}
        </h1>
        <ol class="breadcrumb">
            <li><a href="{{ route(config('modules.client').'.about-us.index') }}"><i class="fa fa-{{$pageIcon ? $pageIcon : 'angle-double-right'}}"></i> {{$pageTitle}}</a></li>
            <li class="active">Edit</li>
        </ol>
    </section>

    <section class="content">
        @include('Client::message')
        {!! Form::model($about_us, array('route' => [config('modules.client').'.about-us.update', $about_us->hashid], 'method' => 'PUT', 'class'=>'form-horizontal', 'role' => 'form' , 'id'=>'about-us-form')) !!}
        <div class="row">
            <div class="col-sm-12">
                <div class="box box-primary">
                    <div class="box-header">
                        <h3 class="box-title">@include('Client::all-fields-are-required')</h3>
                    </div>
                    <div class="box-body">
                       @include('Client::pages.about-us.includes.form')
                    </div>
                </div>
            </div>
        </div>
        <div class="row">
            <div class="col-md-4 col-md-offset-7">
                <button class="btn btn-flat btn-lg btn-block btn-warning save-btn" data-loading-text="<i class='fa fa-circle-o-notch fa-spin'></i> Saving..." ><i class="fa fa-save"></i> Save Changes</button>
            </div>
        </div>
        {!! Form::close() !!}
        <br>
        @include('Client::logs')
    </section>
@stop
@section('page-css')
    @include('Client::pages.about-us.includes.css')
@stop
@section('page-js')
    @include('Client::pages.about-us.includes.js')
    @include('Client::notify')
@stopPK�8]W�x%��"Client/Views/pages/index.blade.phpnu�Iw��@extends('Client::layouts')
@section('page-body')
    <!-- Content Header (Page header) -->
    <section class="content-header">
        <h1>
            <i class="fa fa-{{$pageIcon ? $pageIcon : 'angle-double-right'}}" aria-hidden="true"></i> {{$pageTitle}}
            <br>
            <small>{{$pageDescription}}</small>
        </h1>
        <ol class="breadcrumb">
            <li class="active"><i class="fa fa-{{$pageIcon ? $pageIcon : 'angle-double-right'}}"></i> {{$pageTitle}}</li>           
        </ol>
    </section>
    <!-- Main content -->
    <section class="content"> 
        @include('Client::message')
        <div class="box box-default">
            <div class="box-header with-border">
                <div class="pull-left">
                    <form action="javascript:void(0)" id="page-filter" method="POST" class="form-inline" role="form">
                        <b>Filter: </b>
                        <div class="form-group">
                            {!! Form::text('title', null, ['placeholder' => 'Page Title', 'class' => 'form-control', 'autocomplete' => 'off']) !!}
                        </div>
                        <button type="submit" class="btn btn-primary">Filter</button>
                        <button href="javascript:void(0)" class="btn btn-default" id="reset">Reset</button>
                    </form>
                </div>
                @can('create', $permissions)
                    <div class="pull-right">
                        <a href="/client/pages/create" class="btn btn-primary btn-flat"><i class="fa fa-plus-circle"></i> Add {{$pageModuleName}}</a>
                    </div>
                @endcan
            </div>
            <div class="box-body">
                <table class="table table-bordered table-striped table-hover" id="page-table" width="100%">
                    <thead>
                        <tr>
                            <th>#</th>
                            <th>Title</th>
                            <th>Author</th>
                            <th>Slug</th>
                            <th>Action</th>
                        </tr>
                    </thead>
               </table>
            </div>                
        </div>
        @include('Client::logs')
    </section>
@stop
@section('page-js')
<script type="text/javascript">
    $(document).ready(function() {
        var pageTable = $('#page-table').DataTable({
            "processing": true,
            "serverSide": true,
            "pagingType": "input",
            "bFilter": false,
            ajax: {
                url:'pages/get-page-data', 
                type: 'POST',
                "data": function(d){
                    d.title = $('#page-filter [name="title"]').val();
                }
            },
            "dom": "<'row'<'col-sm-6'i><'col-sm-6 text-right'l>>" +
                "<'row'<'col-sm-12'tr>>" +
                "<'row'<'col-sm-5'><'col-sm-7'p>>",
            columns: [
                {
                    width:'10px', searchable: false, orderable: false,
                    render: function (data, type, row, meta) {
                        return meta.row + meta.settings._iDisplayStart + 1;
                    }
                },
                { data: 'title', name: 'title' },
                { data: 'author', name: 'author', sortable: false, searchable: false},
                { data: 'slug', name: 'slug', sortable: false, searchable: false},
                { data: 'action', name: 'action', orderable: false, searchable: false, width:'60px', className:'text-center'},
            ],
            fnDrawCallback: function ( oSettings ) {
                $('[data-toggle="tooltip"]').tooltip();
                $("#page-table td").on("click", '.deleted', function() {
                    var action = $(this).data('action');
                    swal({
                        title: 'Are you sure you want to delete?',
                        text: "This will be permanently deleted",
                        type: 'warning',
                        showCancelButton: true,
                        confirmButtonColor: '#3085d6',
                        cancelButtonColor: '#d33',
                        confirmButtonText: 'Yes'
                        }).then(function () {                    
                        $.ajax({
                            type: "GET",
                            url: action,
                            dataType: 'json',
                            success: function(data) {
                                if(data.type == "success") {
                                    pageTable.draw();
                                    swal(data.message, '', 'success')
                               }else{
                                    swal(data.message, '', 'error')
                               }
                            },
                            error :function( jqXhr ) {
                                swal('Unable to delete.', 'Please try again.', 'error')
                            }
                        });
                    })              
                });            
            },
            "order": [[1, "asc"]],
        });
        $('#page-filter').on('submit', function(){
            pageTable.draw();
        });
        $('#reset').on('click', function(event) {
            event.preventDefault();
            $('#page-filter [name="title"]').val('');
            pageTable.draw();
        });
    });
</script>
@include('Client::notify')
@stopPK�8]�Px�!Client/Views/pages/edit.blade.phpnu�Iw��@extends('Client::layouts')
@section('page-body')

    <section class="content-header">
         <h1>
            <i class="fa fa-pencil"></i> Edit {{$pageModuleName}}
        </h1>
        <ol class="breadcrumb">
            <li><a href="{{ route(config('modules.client').'.pages.index') }}"><i class="fa fa-{{$pageIcon ? $pageIcon : 'angle-double-right'}}"></i> {{$pageTitle}}</a></li>             
            <li class="active">Edit</li>
        </ol>
    </section>

    <section class="content"> 
        @include('Client::message')
        {!! Form::model($page, array('url' => config('modules.client').'/pages/update/'.$page->hashid, 'method' => 'POST', 'class'=>'form-horizontal', 'role' => 'form' , 'id'=>'page-form', 'files' => true)) !!}
        <div class="row">
            <div class="col-sm-12">
                <div class="box box-primary">
                    <div class="box-header">
                        <h3 class="box-title">@include('Client::all-fields-are-required')</h3>
                    </div>
                    <div class="box-body">
                       @include('Client::pages.includes.form')
                    </div>
                </div>
            </div>
        </div>
        <div class="row">
            <div class="col-md-4 col-md-offset-7">
                <button class="btn btn-flat btn-lg btn-block btn-warning save-btn" data-loading-text="<i class='fa fa-circle-o-notch fa-spin'></i> Saving..." ><i class="fa fa-save"></i> Save Changes</button>
            </div>
        </div>
        {!! Form::close() !!}
        <br>
        @include('Client::logs')
    </section>
@stop
@section('page-css')
    @include('Client::pages.includes.css')
@stop
@section('page-js')
    @include('Client::pages.includes.js')
    @include('Client::notify')
@stopPK�8]e���$$)Client/Views/job-opening/create.blade.phpnu�Iw��@extends('Client::layouts')
@section('page-body')

    <section class="content-header">
        <h1>
            <i class="fa fa-plus"></i> Add {{$pageModuleName}}
        </h1>
        <ol class="breadcrumb">
            <li><a href="{{ route(config('modules.client').'.job-opening.index') }}"><i class="fa fa-{{$pageIcon ? $pageIcon : 'angle-double-right'}}"></i> {{$pageTitle}}</a></li>             
            <li class="active">Add</li>           
        </ol>
    </section>

    <section class="content"> 
        @include('Client::message')
        {!! Form::open(array('route' => config('modules.client').'.job-opening.store', 'class' => 'form-horizontal', 'method' => 'POST', 'id' => 'job-form')) !!}
        <div class="row">
            <div class="col-sm-12">
                <div class="box box-primary">
                    <div class="box-header">
                        <h3 class="box-title">@include('Client::all-fields-are-required')</h3>
                    </div>
                    <div class="box-body">
                       @include('Client::job-opening.includes.form')
                    </div>
                </div>
            </div>
        </div>
        <div class="row">
            <div class="col-md-4 col-md-offset-2">
                <button class="btn btn-flat btn-lg btn-block btn-primary" data-loading-text="<i class='fa fa-circle-o-notch fa-spin'></i> Saving..." name="_save" value="add" id="add-question-btn"><i class="fa fa-save"></i> Save</button>
            </div>
            <div class="col-md-4">
                <button class="btn btn-flat btn-lg btn-block btn-default" data-loading-text="<i class='fa fa-circle-o-notch fa-spin'></i> Saving..." name="_save" value="add_another" id="add-another-question-btn"><i class="fa fa-save"></i> Save & Add Another</button>
            </div>
        </div>
        {!! Form::close() !!}
    </section>
@stop
@section('page-css')
    @include('Client::job-opening.includes.css')
@stop
@section('page-js')
    @include('Client::job-opening.includes.js')
    @include('Client::notify')
@stopPK�8]�XPŬ�0Client/Views/job-opening/includes/form.blade.phpnu�Iw��<h3 class="page-header">&nbsp;Job Opening</h3>

 <div class="form-group">
      <label class="control-label col-md-4">Type of Questionnaire </label>
      <div class="col-md-6">
        {!! Form::select('type_questionnaire', ['0' => '', '1' => 'Taiwan Factory Worker', '2' => 'Singapore Nurse', '3' => 'Domestic Helper', '4' => 'Korea Performing Arts', '5' => 'China English Teacher'], null, ['class' => 'form-control', 'id' => 'type_questionnaire']); !!}
        <small style="font-size:14px"><b>Note:</b> Leave blank if no additional questionnaire needed.</small>
     </div>
</div>

<div class="form-group">
    <label class="control-label col-md-4">Position Title <i class="required">*</i></label>
    <div class="col-md-6">
        {!! Form::text('position', null , ['class'=>'form-control', 'autocomplete'=>'off']) !!}
    </div>
</div>
<div class="form-group">
    <label class="control-label col-md-4">No. of applicants needed <i class="required">*</i></label>
    <div class="col-md-6">
        {!! Form::text('no_position', null , ['class'=>'form-control', 'autocomplete'=>'off']) !!}
    </div>
</div>
<div class="form-group">
    <label class="control-label col-md-4">Proposed Salary <i>(Optional)</i></label>
    <div class="col-md-6">
        {!! Form::text('proposed_salary', null , ['class'=>'form-control', 'autocomplete'=>'off']) !!}
    </div>
</div>
<div class="form-group">
    <label class="control-label col-md-4">Location <i class="required">*</i></label>
    <div class="col-md-6">
        {!! Form::text('location', null , ['class'=>'form-control', 'autocomplete'=>'off']) !!}
    </div>
</div>
<div class="form-group">
    <label class="control-label col-md-4">Country:</label>
    <div class="col-md-6">
        {!! Form::select('country_id' , $country, null ,  ['class'=>'form-control']) !!}
    </div>
</div>

<br>
<h3 class="page-header">&nbsp;Required Qualifications</h3>
<div class="form-group">
    <label class="control-label col-md-4">Gender <i class="required">*</i></label>
    <div class="col-md-1">
        {{ Form::radio('gender', 'Any', true) }}&nbsp;Any
    </div>
    <div class="col-md-1">
        {{ Form::radio('gender', 'Male') }}&nbsp;Male
    </div>
    <div class="col-md-2">
        {{ Form::radio('gender', 'Female') }}&nbsp;Female
    </div>
</div>
<div class="row">
    <div class="form-inline">
        <label class="control-label col-md-4">Age:</label>
        <div class="col-md-3">
            <div class="form-group">
                <label class="control-label col-md-1"><i>Min</i></label>
                <div class="col-md-5">
                    {!! Form::text('min_age', null , ['class'=>'form-control min_age', 'autocomplete'=>'off']) !!}
                </div>
            </div>
        </div>
        <div class="col-md-5">
            <div class="form-group">
                <label class="control-label col-md-1"><i>Max</i></label>
                <div class="col-md-5">
                    {!! Form::text('max_age', null , ['class'=>'form-control max_age', 'autocomplete'=>'off']) !!}
                </div>
            </div>
        </div>
    </div>
</div>
<br>
<h3 class="page-header">&nbsp;Job Status</h3>
<div class="form-group">
    <label class="control-label col-md-4">Status: <i class="required">*</i></label>
    <div class="col-md-6">
        {!! Form::select('status' , $status, null ,  ['class'=>'form-control']) !!}
    </div>
</div>
<div class="form-group">
    <label class="control-label col-md-4">Opening Date: <i class="required">*</i></label>
    <div class="col-md-6">
        <div class="input-group opening_date">
        @if(isset($job->opening_date))
            {!! Form::text('opening_date', null, ['class' => 'form-control', 'id'=>'opening_date', 'data-mask']) !!}
        @else
            {!! Form::text('opening_date', null, ['class' => 'form-control opening_date', 'id'=>'opening_date', 'data-mask']) !!}
        @endif
          <div class="input-group-addon">
              <span class="fa fa-calendar"></span>
          </div>
        </div>
    </div>
</div>
<div class="form-group">
    <label class="control-label col-md-4">Closing Date: <i class="required">*</i></label>
    <div class="col-md-6">
        <div class="input-group closing_date">
        @if(isset($job->closing_date))
            {!! Form::text('closing_date', null, ['class' => 'form-control', 'id'=>'closing_date', 'data-mask']) !!}
        @else
            {!! Form::text('closing_date', null, ['class' => 'form-control closing_date', 'id'=>'closing_date', 'data-mask']) !!}
        @endif
          <div class="input-group-addon">
              <span class="fa fa-calendar"></span>
          </div>
        </div>
    </div>
</div>

<br>
<h3 class="page-header">&nbsp;Job Details</h3>
<div class="form-group">
    <label class="control-label col-md-2"></label>
    <div class="col-md-8">
        {!! Form::textarea('job_details', null , ['class'=>'form-control wysihtml5', 'placeholder'=>'Details here...', 'autocomplete'=>'off']) !!}
    </div>
</div>
PK�8]�*�D��.Client/Views/job-opening/includes/js.blade.phpnu�Iw��<script type="text/javascript" src="{{ asset('vendor/jsvalidation/js/jsvalidation.js')}}"></script>
{!! JsValidator::formRequest('QxCMS\Modules\Client\Requests\JobOpening\JobOpeningRequest', 'form#job-form'); !!}
<script>
$(function(){
    var body = $('body');
    $("#opening_date, #closing_date").inputmask(body.data('datepicker-mask'), {"placeholder": body.data('datepicker-mask')});
    $("#opening_date, #closing_date").datepicker({ 
        yearRange: "1970:+0",
        changeMonth: true,
        changeYear: true,
        minDate: 0,
        dateFormat: body.data('datepicker-format'),
        onSelect: function(datetext){
            $(this).valid();
        }
    });

    var date = new Date();
    date.setMonth(date.getMonth() + 1);
    $(".closing_date").datepicker('setDate', date);
    $('.opening_date').datepicker("setDate", "0");

    $.validator.setDefaults({ ignore: '' });
    $(function(){
        $('textarea[name="job_details"]').wysihtml5({
            toolbar: {
                "font-styles": true, // Font styling, e.g. h1, h2, etc.
                "emphasis": true, // Italics, bold, etc.
                "lists": true, // (Un)ordered lists, e.g. Bullets, Numbers.
                "html": false, // Button which allows you to edit the generated HTML.
                "link": false, // Button to insert a link.
                "image": false, // Button to insert an image.
                "color": false, // Button to change color of font
                "blockquote": false, // Blockquote
            }
        });
    });
    $('input').iCheck({
        checkboxClass: 'icheckbox_square-blue',
        radioClass: 'iradio_square-blue',
        decreaseArea: '20%',
    })

    var min_age = $('.min_age').val();
    var max_age = $('.max_age').val();
    if(min_age == 0){
        $('.min_age').val('');
    }
    if(max_age == 0){
        $('.max_age').val('');
    }

    $('#job-details-modal').on('show.bs.modal', function (event) {
        var modal = $(this);
        var href = $(event.relatedTarget);
        var details_url = href.data('details_url');

        $.ajax({
            url: details_url,
            type: 'GET',
        }).done(function(response){
            modal.find('.position_title').html(response.position);
            modal.find('.applicants_needed').html(response.no_position);
            modal.find('.proposed_salary').html(response.proposed_salary);
            modal.find('.location').html(response.location);
            modal.find('.country').html(response.country.name);
            modal.find('.gender').html(response.gender);
            modal.find('.min_age').html(response.max_age != 0 ? response.max_age : 'N/A');
            modal.find('.max_age').html(response.min_age != 0 ? response.min_age : 'N/A');
            modal.find('.status').html(response.status);
            modal.find('.opening_date').html(moment(response.opening_date).format('MMMM DD, YYYY'));
            modal.find('.closing_date').html(moment(response.closing_date).format('MMMM DD, YYYY'));
            modal.find('.job_details').html(response.job_details != '' ? response.job_details : 'N/A');
        })
    });

    $('#job-details-modal').on('hidden.bs.modal', function (event) {
        var modal = $(this);

        modal.find('.position_title').html('');
        modal.find('.applicants_needed').html('');
        modal.find('.proposed_salary').html('');
        modal.find('.location').html('');
        modal.find('.country').html('');
        modal.find('.gender').html('');
        modal.find('.min_age').html('');
        modal.find('.max_age').html('');
        modal.find('.status').html('');
        modal.find('.opening_date').html('');
        modal.find('.closing_date').html('');
        modal.find('.job_details').html('');
    });
});
</script>PK�8]����zz/Client/Views/job-opening/includes/css.blade.phpnu�Iw��<style>
.panel-heading a:after {
    font-family:'Glyphicons Halflings';
    content:"\e114";
    float: right;
}
</style>PK�8]��t�
�
=Client/Views/job-opening/includes/job-opening-modal.blade.phpnu�Iw��<!-- Modal -->
<div id="job-details-modal" class="modal fade" role="dialog">
    <div class="modal-dialog">
        <div class="modal-content">
            <div class="modal-header">
                <button type="button" class="close" data-dismiss="modal">&times;</button>
                <h4 class="modal-title">Job Opening</h4>
            </div>
            <div class="modal-body">
            <h3 class="page-header">&nbsp;Details</h3>
                <table class="table table-bordered table-condensed table-hover" id="details-table" width="100%">
                    <tbody>
                        <tr>
                            <th width="20%">Position Title</th>
                            <td width="30%" class="position_title"></td>
                        </tr>
                        <tr>
                            <th width="20%">No. of applicants needed</th>
                            <td width="30%" class="applicants_needed"></td>
                        </tr>
                        <tr>
                            <th width="20%">Proposed Salary</th>
                            <td width="30%" class="proposed_salary"></td>
                        </tr>
                        <tr>
                            <th width="20%">Location</th>
                            <td width="30%" class="location"></td>
                        </tr>
                        <tr>
                            <th width="20%">Country</th>
                            <td width="30%" class="country"></td>
                        </tr>
                    </tbody>
                </table>
            <h3 class="page-header">&nbsp;Required Qualifications</h3>
                <table class="table table-bordered table-condensed table-hover" id="details-table" width="100%">
                    <tbody>
                        <tr>
                            <th width="20%">Gender</th>
                            <td width="30%" class="gender"></td>
                        </tr>
                        <tr>
                            <th width="20%">Age</th>
                            <td width="30%"><b>Min:</b> <span class="min_age"></span> 
                                <br><b>Max:</b> <span class="max_age"></span>
                            </td>
                        </tr>
                    </tbody>
                </table>
            <h3 class="page-header">&nbsp;Job Status</h3>
                <table class="table table-bordered table-condensed table-hover" id="details-table" width="100%">
                    <tbody>
                        <tr>
                            <th width="20%">Status</th>
                            <td width="30%" class="status"></td>
                        </tr>
                        <tr>
                            <th width="20%">Opening Date</th>
                            <td width="30%" class="opening_date"></td>
                        </tr>
                        <tr>
                            <th width="20%">Closing Date</th>
                            <td width="30%" class="closing_date"></td>
                        </tr>
                    </tbody>
                </table>
            <h3 class="page-header">&nbsp;Job Details</h3>
                <p class="job_details" style="margin: 20px;"></p>
            </div>
            <div class="modal-footer">
                <button type="button" class="btn btn-default btn-flat close-modal" data-dismiss="modal">Close</button>
            </div>
        </div>
    </div>
</div>PK�8]G�*���(Client/Views/job-opening/index.blade.phpnu�Iw��@extends('Client::layouts')
@section('page-body')
    <!-- Content Header (Page header) -->
    <section class="content-header">
        <h1>
            <i class="fa fa-{{$pageIcon ? $pageIcon : 'angle-double-right'}}" aria-hidden="true"></i> {{$pageTitle}}
            <br>
            <small>{{$pageDescription}}</small>
        </h1>
        <ol class="breadcrumb">
            <li class="active"><i class="fa fa-{{$pageIcon ? $pageIcon : 'angle-double-right'}}"></i> {{$pageTitle}}</li>           
        </ol>
    </section>
    <!-- Main content -->
    <section class="content"> 
        @include('Client::message')
        <div class="box box-default">
            <div class="box-header with-border">
                <div class="pull-left">
                    <form action="javascript:void(0)" id="job-filter" method="POST" class="form-inline" role="form">
                        <b>Filter: </b>
                        <div class="form-group">
                            {!! Form::text('position', null, ['placeholder' => 'Enter Position Title', 'class' => 'form-control', 'autocomplete' => 'off']) !!}
                        </div>
                        <div class="form-group">
                            <label class="sr-only" for="">Search Job</label>
                            {!! Form::select('status', $status, null, ['class' => 'form-control', 'placeholder'=>'All']) !!}
                        </div>
                        <button type="submit" class="btn btn-primary">Filter</button>
                        <button href="javascript:void(0)" class="btn btn-default" id="reset">Reset</button>
                    </form>
                </div>
                @can('create', $permissions)
                    <div class="pull-right">
                        <a href="{{ route(config('modules.client').'.job-opening.create') }}" class="btn btn-primary btn-flat"><i class="fa fa-plus-circle"></i> Add {{$pageModuleName}}</a>
                    </div>
                @endcan
            </div>
            <div class="box-body">
                <table class="table table-bordered table-striped table-hover" id="job-table" width="100%">
                    <thead>
                        <tr>
                            <th>#</th>
                            <th>Position Title</th>
                            <th>Opening Date</th>
                            <th>Closing Date</th>
                            <th>Location</th>
                            <th>Status</th>
                            <th>Action</th>
                        </tr>
                    </thead>
               </table>
            </div>
        </div>
        @include('Client::job-opening.includes.job-opening-modal')
        @include('Client::logs')
    </section>
@stop
@section('page-css')
    @include('Client::job-opening.includes.css')
@stop
@section('page-js')
<script type="text/javascript">
    $(document).ready(function() {
        var jobTable = $('#job-table').DataTable({
            "processing": true,
            "serverSide": true,
            "pagingType": "input",
            ajax: {
                url: '{!! route(config('modules.client').'.job-opening.datatables-index') !!}', 
                type: 'POST',
                "data": function(d){
                    d.position = $('#job-filter [name="position"]').val();
                    d.status = $('#job-filter [name="status"]').val();
                }
            },
            "dom": "<'row'<'col-sm-6'i><'col-sm-6 text-right'l>>" +
                "<'row'<'col-sm-12'tr>>" +
                "<'row'<'col-sm-5'><'col-sm-7'p>>",
            columns: [
                {
                    width:'10px', searchable: false, orderable: false,
                    render: function (data, type, row, meta) {
                        return meta.row + meta.settings._iDisplayStart + 1;
                    }
                },
                { data: 'position', name: 'position'},
                { data: 'opening_date', name: 'opening_date', orderable: true, searchable: false},
                { data: 'closing_date', name: 'closing_date', orderable: true, searchable: false},
                { data: 'location', name: 'location', orderable: false, searchable: true},
                { data: 'status', name: 'status', orderable: false, searchable: false},
                { data: 'action', name: 'action', orderable: false, searchable: false, width:'60px', className:'text-center'},
            ],
            fnDrawCallback: function ( oSettings ) {
                $('[data-toggle="tooltip"]').tooltip();
                jobTable.$("td").on("click", 'a#btn-delete', function() {
                    var action = $(this).data('action');
                    swal({
                        title: 'Are you sure you want to delete?',
                        text: "This will be permanently deleted",
                        type: 'warning',
                        showCancelButton: true,
                        confirmButtonColor: '#3085d6',
                        cancelButtonColor: '#d33',
                        confirmButtonText: 'Yes'
                        }).then(function () {                    
                        $.ajax({
                            type: "DELETE",
                            url: action,
                            dataType: 'json',
                            success: function(data) {
                                if(data.type == "success") {
                                    jobTable.draw();
                                    swal(data.message, '', 'success')
                               }else{
                                    swal(data.message, '', 'error')
                               }
                            },
                            error :function( jqXhr ) {
                                swal('Unable to delete.', 'Please try again.', 'error')
                            }
                        });
                    }).catch(swal.noop);
                });            
            },
            "order": [[1, "asc"]],
        });
        $('#job-filter').on('submit', function(){
            jobTable.draw();
        });
        $('#reset').on('click', function(event) {
            event.preventDefault();
            $('#job-filter [name="position"]').val('');
            $('#job-filter [name="status"]').val('');
            jobTable.draw();
        });
    });
</script>
@include('Client::job-opening.includes.js')
@include('Client::notify')
@stopPK�8]P�S'Client/Views/job-opening/edit.blade.phpnu�Iw��@extends('Client::layouts')
@section('page-body')

    <section class="content-header">
        <h1>
            <i class="fa fa-pencil"></i> Edit {{$pageModuleName}}
        </h1>
        <ol class="breadcrumb">
            <li><a href="{{ route(config('modules.client').'.job-opening.index') }}"><i class="fa fa-{{$pageIcon ? $pageIcon : 'angle-double-right'}}"></i> {{$pageTitle}}</a></li>             
            <li class="active">Edit</li>
        </ol>
    </section>

    <section class="content"> 
        @include('Client::message')
        {!! Form::model($job, array('route' => [config('modules.client').'.job-opening.update', $job->hashid], 'method' => 'PUT', 'class'=>'form-horizontal', 'role' => 'form' , 'id'=>'job-form')) !!}
        <div class="row">
            <div class="col-sm-12">
                <div class="box box-primary">
                    <div class="box-header">
                        <h3 class="box-title">@include('Client::all-fields-are-required')</h3>
                    </div>
                    <div class="box-body">
                       @include('Client::job-opening.includes.form')
                    </div>
                </div>
            </div>
        </div>
        <div class="row">
            <div class="col-md-4 col-md-offset-7">
                <button class="btn btn-flat btn-lg btn-block btn-warning save-btn" data-loading-text="<i class='fa fa-circle-o-notch fa-spin'></i> Saving..." ><i class="fa fa-save"></i> Save Changes</button>
            </div>
        </div>
        {!! Form::close() !!}
        <br>
        @include('Client::logs')
    </section>
@stop
@section('page-css')
    @include('Client::job-opening.includes.css')
@stop
@section('page-js')
    @include('Client::job-opening.includes.js')
    @include('Client::notify')
@stopPK�8])��__(Client/Views/principals/create.blade.phpnu�Iw��@extends('Client::layouts')
@section('page-body')           
     <!-- Content Header (Page header) -->
     <section class="content-header">
          <h1>
               <i class="fa fa-plus-circle" aria-hidden="true"></i> Add Client
          </h1>
          <ol class="breadcrumb">
               <li><a href="{{ route(config('modules.client').'.settings.principals.index') }}"><i class="fa fa-user-o"></i> Client</a></li>
               <li class="active">Add</li>  
          </ol>
     </section>
     <!-- Main content -->
     <section class="content">
          @include('Client::errors')
          @include('Client::message')
          {!! Form::open(['url'=>url(config('modules.client').'/principals'),'method'=>'POST' , 'class'=>'form-horizontal', 'role'=>'form', 'id'=>'principal-form', 'autocomplete'=>'off']) !!}
          <div class="box box-primary">
               <div class="box-header">
                    <h1 class="box-title">@include('Client::all-fields-are-required')</h1>
               </div>     
               <div class="box-body">                
                    @include('Client::principals.includes.form')
               </div>
               <div class="box-footer">
                    <div class="row">
                         
                         <div class="col-md-3 col-md-offset-8 text-center">
                              <button class="btn btn-primary btn-flat btn-lg btn-block save-btn" data-loading-text="<i class='fa fa-circle-o-notch'></i> Saving..."><i class="fa fa-save"></i> Save</button>
                         </div>
                    </div>
               </div>
          </div>
          {!! Form::close() !!}
     </section>
@stop
@section('page-css')
     @include('Client::principals.includes.css')
@stop
@section('page-js')
     @include('Client::principals.includes.js')
     @include('Client::notify')
@stop
PK�8]�r�$��,Client/Views/principals/navigation.blade.phpnu�Iw��<div id="principal-navigation-scrollspy">
    <ul class="nav nav-pills nav-stacked" id="principal-navigation-affix" style="background-color:#fff;">
        <li role="presentation" class="{{ (isset($active) && $active == 'overview') ? 'active':'' }}"><a href="{{ route(config('modules.client').'.settings.principals.overview', $principal->hashid) }}"><i class="fa fa-eye"></i> Overview</a></li>
        <li role="presentation" class="{{ (isset($active) && $active == 'info') ? 'active':'' }}"><a href="{{ route(config('modules.client').'.settings.principals.edit', $principal->hashid) }}"><i class="fa fa-pencil"></i> Update Info</a></li>
        <li role="presentation" class="{{ (isset($active) && $active == 'contact-person') ? 'active':'' }}"><a href="{{ route(config('modules.client').'.principals.contact-persons.index', $principal->hashid) }}"><i class="fa fa-users"></i> Contacts</a></li>
    </ul>
</div>PK�8]�QT�
�
/Client/Views/principals/includes/form.blade.phpnu�Iw��<div class="form-group">
    <label class="control-label col-md-2">Name <i class="required">*</i></label>
    <div class="col-md-9">
        {!! Form::text('name', null , ['class'=>'form-control', 'autocomplete'=>'off']) !!}
    </div>
</div>
<div class="form-group {{ $errors->has('address') ? ' has-error' : '' }}">
    <label class="control-label col-md-2">Address <i class="required">*</i></label>
    <div class="col-md-9">
    {!! Form::text('address', null , ['class'=>'form-control', 'autocomplete'=>'off']) !!}
    </div>
</div>
<div class="form-group {{ $errors->has('email') ? ' has-error' : '' }}">
    <label class="control-label col-md-2">Email <i class="required">*</i></label>
    <div class="col-md-6">
    {!! Form::text('email', null, ['class'=>'form-control']) !!}
    </div>
</div>

<div class="form-group {{ $errors->has('contact_details') ? ' has-error' : '' }}">
    <label class="control-label col-md-2">Contact</label>
    <div class="col-md-6">
        <div class="input-group">
             <input type="text" name="contact_details[{{ ((isset($principal->contact_details[0])) ? $principal->contact_details[0]:'new_1') }}]" value="{{ ((isset($principal->contact_details[0])) ? $principal->contact_details[0]:null) }}" class="form-control intlphone" style="width:100%;" />
            <div class="input-group-btn">
                <button class="btn btn-primary btn-flat add-contact-btn" type="button"><i class="fa fa-plus"></i></button>
            </div>
        </div>
    </div>
</div>
<div class="contact-holder">
    @if(isset($principal->contact_details))
        @if(!empty($principal->contact_details))
            @foreach($principal->contact_details as $num_key => $number)
                @if($num_key <> 0)
                <div class="form-group">
                    <label class="control-label col-md-2"></label>
                    <div class="col-md-6">
                        <div class="input-group">
                            <input type="text" name="contact_details[{{$num_key}}]" value="{{ $number }}" class="form-control intlphone"/>
                            <div class="input-group-btn">
                                <button class="btn btn-danger btn-flat remove-contact-btn" type="button"><i class="fa fa-times"></i></button>
                            </div>
                        </div>
                    </div>
                </div>
                @endif
            @endforeach
        @endif
    @endif
</div>

<div class="form-group {{ $errors->has('status') ? ' has-error' : '' }}">
    <label class="control-label col-md-2">Status</label>
    <div class="col-md-4">
    {!! Form::select('status',  $statuses , null ,  ['class'=>'form-control']) !!}
    </div>
</div>


PK�8]�~x[
[
-Client/Views/principals/includes/js.blade.phpnu�Iw��<script type="text/javascript" src="{{ asset('vendor/jsvalidation/js/jsvalidation.js')}}"></script>
{!! JsValidator::formRequest('QxCMS\Modules\Client\Requests\Principals\PrincipalRequest', '#principal-form'); !!}
<script type="text/javascript">
$(function(){
    var body = $('body');
    var form = $('form#principal-form');
   /* 
    $('#real_password').on('keyup', function(e){
        $('#password').val($(this).val());
        e.preventDefault();
    });
    $('#real_password').attr('type', 'password');
    $('#view-password').on('click', function(e) {
        if($(this).hasClass('open')) {
            $(this).removeClass('open');
            $(this).closest('.input-group').find('input').attr('type', 'password');
            $(this).html('<i class="fa fa-eye-slash"></i>');
        } else {
            $(this).addClass('open');
            $(this).closest('.input-group').find('input').attr('type', 'text');
            $(this).html('<i class="fa fa-eye"></i>');
        }
    });*/

    $(".intlphone").intlTelInput({
          //allowExtensions:true,
        autoFormat:true,
        numberType:"MOBILE",
          //autoPlaceholder:false,
        defaultCountry: "ph",
          //autoHideDialCode: false,
         // nationalMode:true,
        utilsScript: body.data('url')+'/template/AdminLTE/plugins/intlnum/lib/libphonenumber/build/utils.js'
    });



    $('body').on('click', 'button.add-contact-btn', function(e){
        var counter = form.find('input[name^="contact"]').length + 1;

        var limit = 5;
        if (counter > limit)  {
              swal('',"You have reached the maximum limit of contact.", 'error');
              return false
        }
        var new_input = "<div class=\"form-group\">";
                new_input += "<label class=\"control-label col-md-2\"></label>";
                new_input += "<div class=\"col-md-6\">";
                    new_input += "<div class=\"input-group\">"
                        new_input += "<input type=\"text\" name=\"contact_details[new_"+counter+"]\" class=\"form-control intlphone\" style=\"width:100%\">";
                        new_input += "<div class=\"input-group-btn\">";
                            new_input += "<button class=\"btn btn-flat btn-danger remove-contact-btn\" type=\"button\"><i class=\"fa fa-times\"></i></button>";           
                        new_input += "</div>";
                    new_input += "</div>";
                new_input += "</div>";
            new_input += "</div>";

        $('.contact-holder').append(new_input);
        $(".intlphone").intlTelInput({
          //allowExtensions:true,
            autoFormat:true,
            numberType:"MOBILE",
          //autoPlaceholder:false,
            defaultCountry: "ph",
          //autoHideDialCode: false,
         // nationalMode:true,
            utilsScript: body.data('url')+'/template/AdminLTE/plugins/intlnum/lib/libphonenumber/build/utils.js'
        });
        return false;  
        
    });

      $('body').on('click', 'button.remove-contact-btn', function(e){
            $(this).closest('.form-group').remove();
        });

    $('button.save-btn').on('click', function() {
        var btn = $(this);
        btn.button('loading');
        if($('form#principal-form').valid()) return true;

        setTimeout(function(){
            btn.button('reset');
        }, 200);

       return false;
    });
});
</script>PK�8]�� ��.Client/Views/principals/includes/css.blade.phpnu�Iw��<style type="text/css">
    .intl-tel-input .selected-flag {
        z-index: 3;
    }
    .intl-tel-input {
         display: initial; 
         position: initial;
    }
    .intl-tel-input .flag-dropdown {
     position: absolute; 
    }
</style>PK�8]h����
�
0Client/Views/principals/includes/modal.blade.phpnu�Iw��<div class="modal fade" id="principal-modal" tabindex="-1" role="dialog">
    <div class="modal-dialog modal-md">
        <div class="modal-content">
            <div class="modal-header">
                <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
                <h4 class="modal-title"><i class="fa fa-university"></i> Manage Principal</h4>
            </div>
            <div class="modal-body">
                <div id="principal-modal-message-wrapper"></div>
                <div class="row">
                    <div class="col-md-12">
                        <span class="text-danger">All field with <i>(<i class="fa fa-asterisk form-required"></i>)</i> is required</span>
                    </div>
                    <div class="col-md-12">
                        {{ Form::open(['url' => url(config('modules.client')).'/settings/principals', 'method' => 'POST' ,'class' => '', 'id' => 'principal-modal-form']) }}
                            <div class="row">
                                <div class="col-md-8">
                                    <div class="form-group" >
                                        <label>Name <i>(<i class="fa fa-asterisk form-required"></i>)</i></label>
                                        {{ Form::text('name', null, array('class' => 'form-control', 'style'=>'width:100%', 'placeholder' => 'Name')) }}
                                        <div class="name_error error"></div>
                                    </div>
                                </div>
                                <div class="col-md-4">
                                    <div class="form-group">
                                        <label>Code <i>(<i class="fa fa-asterisk form-required"></i>)</i></label>
                                        {{ Form::text('code', null, array('class' => 'form-control', 'placeholder' => 'Code')) }}
                                        <div class="code_error error"></div>
                                    </div>
                                </div>
                            </div>
                            <hr>
                            <div class="row">
                                <div class="col-md-12 text-center">
                                    <div class="form-group">
                                       <button type="submit" class="btn btn-primary btn-flat" id="principal-save-btn"><i class="fa fa-save"></i> Save</button>
                                    </div>
                                </div>
                            </div>
                        {{ Form::close() }}
                    </div>
                </div>
            </div>
        </div>
    </div>
</div>

PK�8]#Y6:�	�	;Client/Views/principals/includes/modal-requiredjs.blade.phpnu�Iw��<script type="text/javascript">

    $(function() {

         $('#principal-modal').on('hide.bs.modal', function () {
           
            var form = $('form#principal-modal-form');
            var formGroup = $('form#principal-modal-form .form-group');
            var formGroupErrorDiv = $('form#principal-modal-form .form-group div.error');
            formGroup.removeClass('has-error');
            formGroup.removeClass('has-success');
            formGroupErrorDiv.html("");
            $('#principal-modal-message-wrapper').html("");
            form[0].reset();

         });


        $('#principal-save-btn').click(function(){
            var form = $(this).closest('form');
            var action = form.attr('action');
            var btn = $(this); 
            var formGroup = form.find('.form-group');
            var formGroupErrorDiv = form.find('.form-group').find('div.error');
                $.ajax({
                    type: "POST",
                    url: action,
                    dataType: 'json',
                    data: form.serialize(),
                    success: function(data) {
                        if(data.type == "success") {
                            formGroup.removeClass('has-error');
                            formGroup.removeClass('has-success');
                            formGroupErrorDiv.html("");
                            $('<option value="'+data.row.id+'">'+data.row.name+'</option>').appendTo('#vessel-modal #principal_id');
                            $('#vessel-modal #principal_id').select2('val', data.row.id);
                            $("#vessel-modal #principal_id").select2('close');
                            form[0].reset();
                            show_alert(data.message, 'success', 'principal-modal-message-wrapper');
                       }else{
                            show_alert(data.message, 'error', 'principal-modal-message-wrapper');
                       }
                    },
                    error :function( jqXhr ) {
                        //
                        if( jqXhr.status === 422 ) {
                            var errors = jqXhr.responseJSON;
                            ajaxValidate(form, formGroup, formGroupErrorDiv, btn, errors)

                        } else {
                            show_alert("Something went wrong. Please report to IRIS Team.", 'error'); 
                        }      
                    }
                });
            return false;
        });
    });
</script>PK�8]{��[[*Client/Views/principals/overview.blade.phpnu�Iw��@extends('Client::layouts')
@section('page-body')
    <!-- Content Header (Page header) -->
    <section class="content-header">
        <h1>
            <i class="fa fa-eye"></i> Client Overview
           
        </h1>
        <ol class="breadcrumb">
            <li><a href="{{ route(config('modules.client').'.settings.principals.index') }}"><i class="fa fa-user-o"></i> Client</a></li>
            <li class="active">Overview</li>           
        </ol>
    </section>
    <!-- Main content -->
    <section class="content"> 
        @include('Client::errors')
        @include('Client::message')
        <div class="row">
            <div class="col-md-3">
                @include('Client::principals.navigation', array('active' => 'overview'))
            </div>
            <div class="col-md-9">
                <div class="box box-primary">
                    <div class="box-body">
                        <div class="page-header">
                             <h1 class="text-info">{{ $principal->name }}</h1>
                             <small><i class="fa fa-map-marker"></i> {{ $principal->address }}</small>
                             <small><i class="fa fa-envelope"></i> {{ $principal->email }}</small>
                        </div>
                    </div>
                </div>
                <div class="box box-default">
                    <div class="box-header">
                        <h1 class="box-title"><a href="{{ route(config('modules.client').'.principals.contact-persons.index', $principal->hashid) }}">List of Contacts</a></h1>
                    </div>

                    <div class="box-body">
                        <table class="table table-bordered table-condensed table-striped" id='contact-persons-table' width="100%">
                            <thead>
                                <tr>
                                    <th>#</th>
                                    <th>Details</th>
                                    <th>Contact Nos.</th>
                                </tr>
                            </thead>
                        </table>
                    </div>
                </div>
            </div>
        </div>
    </section>
@stop
@section('page-js')

<script type="text/javascript">
$(function() {
    var contactTable = $('#contact-persons-table').DataTable({
        processing: true,
        serverSide: true,
        "pagingType": "input",
        filter:false,
        paging:false,
        info:false,
        ajax: "{!! url(config('modules.client').'/principals/'.$principal->hashid.'/get-contact-persons-data') !!}",
        columns: [
            {
                width:'10px', searchable: false, orderable: false,
                render: function (data, type, row, meta) {
                    return meta.row + meta.settings._iDisplayStart + 1;
                }
            },
            { data: 'contact_details', name: 'contact_details', searchable:false},
            { data: 'contact_numbers', name: 'contact_numbers', searchable: false, orderable: false},
        ],
        "order": [[1, "asc"]],
    });
});
</script>
@include('Client::notify')
@stopPK�8]�!��8Client/Views/principals/contact-persons/create.blade.phpnu�Iw��@extends('Client::layouts')
@section('page-body')           
     <!-- Content Header (Page header) -->
     <section class="content-header">
          <h1>
               <i class="fa fa-plus-circle" aria-hidden="true"></i> Add Contact
          </h1>
          <ol class="breadcrumb">
               <li><a href="{{ route(config('modules.client').'.settings.principals.index') }}"><i class="fa fa-user-o"></i> Client</a></li>
               <li><a href="{{ route(config('modules.client').'.principals.contact-persons.index', $principal->hashid) }}"> Contact</a></li>
               <li class="active">Add</li>  
          </ol>
     </section>
     <!-- Main content -->
     <section class="content">
          @include('Client::errors')
          @include('Client::message')
          {!! Form::open(['route'=> [config('modules.client').'.principals.contact-persons.store', $principal->hashid], 'method'=>'POST' ,'class'=>'form-horizontal','role'=>'form','id'=>'contact-person-form']) !!}
          <div class="box box-primary">
               <div class="box-header">
                    <h1 class="box-title">@include('Client::all-fields-are-required')</h1>
               </div>     
               <div class="box-body">                
                    @include('Client::principals.contact-persons.includes.form')
               </div>
               <div class="box-footer">
                    <div class="col-md-3 col-md-offset-8 text-center">
                         <button class="btn btn-primary btn-flat btn-lg btn-block save-btn" data-loading-text="<i class='fa fa-spin fa-circle-o-notch'></i> Saving..."><i class="fa fa-save"></i> Save </button>
                    </div>
               </div>
          </div>
          {!! Form::close() !!}
     </section>
@stop
@section('page-css')
     
     @include('Client::principals.contact-persons.includes.css')
@stop
@section('page-js')
     @include('Client::principals.contact-persons.includes.js')
     @include('Client::notify')
@stop
PK�8]�&׃!	!	?Client/Views/principals/contact-persons/includes/form.blade.phpnu�Iw��<div class="form-group">
    <label class="control-label col-md-2">Name <i class="required">*</i></label>
    <div class="col-md-9">
        {!! Form::text('name', null , ['class'=>'form-control', 'autocomplete'=>'off']) !!}
    </div>
</div>
<div class="form-group {{ $errors->has('position') ? ' has-error' : '' }}">
    <label class="control-label col-md-2">Position <i class="required">*</i></label>
    <div class="col-md-9">
    {!! Form::text('position', null , ['class'=>'form-control', 'autocomplete'=>'off']) !!}
    </div>
</div>
<div class="form-group {{ $errors->has('email') ? ' has-error' : '' }}">
    <label class="control-label col-md-2">Email <i class="required">*</i></label>
    <div class="col-md-9">
    {!! Form::text('email', null, ['class'=>'form-control']) !!}
    </div>
</div>

<div class="form-group {{ $errors->has('contact_no') ? ' has-error' : '' }}">
    <label class="control-label col-md-2">Contact <i class="required">*</i></label>
    <div class="col-md-6">
        <div class="input-group">
             <input type="text" name="contact[{{ ((isset($contact->numbers[0])) ? $contact->numbers[0]->id:'new_1') }}]" value="{{ ((isset($contact->numbers[0])) ? $contact->numbers[0]->contact:null) }}" class="form-control intlphone" style="width:100%;" />
            <div class="input-group-btn">
                <button class="btn btn-primary btn-flat add-contact-btn" type="button"><i class="fa fa-plus"></i></button>
            </div>
        </div>
    </div>
</div>

@if(isset($contact->numbers))
    @if(!empty($contact->numbers))
        @foreach($contact->numbers as $num_key => $number)
            @if($num_key <> 0)
            <div class="form-group">
                <label class="control-label col-md-2"></label>
                <div class="col-md-6">
                    <div class="input-group">
                        <input type="text" name="contact[{{ $number->id }}]" value="{{ $number->contact }}" class="form-control intlphone"/>
                        <div class="input-group-btn">
                            <button class="btn btn-danger btn-flat remove-contact-btn" type="button"><i class="fa fa-times"></i></button>
                        </div>
                    </div>
                </div>
            </div>
            @endif
        @endforeach
    @endif
@endif

PK�8]S�nS00=Client/Views/principals/contact-persons/includes/js.blade.phpnu�Iw��<script type="text/javascript" src="{{ asset('vendor/jsvalidation/js/jsvalidation.js')}}"></script>
{!! JsValidator::formRequest('QxCMS\Modules\Client\Requests\Principals\ContactPersonRequest', '#contact-person-form'); !!}

<script type="text/javascript">
    $(function(){
        var body = $('body');
        var form = $('form#contact-person-form');
        $('button.save-btn').on('click', function() {
            var btn = $(this);
            btn.button('loading');
            if(btn.hasClass('btn-warning')) $('a.btn-cancel').hide();
            if(form.valid()) return true;

            setTimeout(function(){
                btn.button('reset');
                if(btn.hasClass('btn-warning')) $('a.btn-cancel').show();
            }, 200);
            return false;
        }); 

        $(".intlphone").intlTelInput({
              //allowExtensions:true,
            autoFormat:true,
            numberType:"MOBILE",
              //autoPlaceholder:false,
            defaultCountry: "ph",
              //autoHideDialCode: false,
             // nationalMode:true,
            utilsScript: body.data('url')+'/template/AdminLTE/plugins/intlnum/lib/libphonenumber/build/utils.js'
        });

        $('body').on('click', 'button.add-contact-btn', function(e){
            var counter = form.find('input[name^="contact"]').length + 1;

            var limit = 5;
            if (counter > limit)  {
                  swal('',"You have reached the maximum limit of contact.", 'error');
                  return false
            }
            var new_input = "<div class=\"form-group\">";
                    new_input += "<label class=\"control-label col-md-2\"></label>";
                    new_input += "<div class=\"col-md-6\">";
                        new_input += "<div class=\"input-group\">"
                            new_input += "<input type=\"text\" name=\"contact[new_"+counter+"]\" class=\"form-control intlphone\" style=\"width:100%\">";
                            new_input += "<div class=\"input-group-btn\">";
                                new_input += "<button class=\"btn btn-flat btn-danger remove-contact-btn\" type=\"button\"><i class=\"fa fa-times\"></i></button>";           
                            new_input += "</div>";
                        new_input += "</div>";
                    new_input += "</div>";
                new_input += "</div>";

            $(this).closest('.form-group').parent().append(new_input);
            $(".intlphone").intlTelInput({
              //allowExtensions:true,
                autoFormat:true,
                numberType:"MOBILE",
              //autoPlaceholder:false,
                defaultCountry: "ph",
              //autoHideDialCode: false,
             // nationalMode:true,
                utilsScript: body.data('url')+'/template/AdminLTE/plugins/intlnum/lib/libphonenumber/build/utils.js'
            });
            return false;  
            
        });

         $('body').on('click', 'button.remove-contact-btn', function(e){
            $(this).closest('.form-group').remove();
        });
    });
</script>PK�8]�� ��>Client/Views/principals/contact-persons/includes/css.blade.phpnu�Iw��<style type="text/css">
    .intl-tel-input .selected-flag {
        z-index: 3;
    }
    .intl-tel-input {
         display: initial; 
         position: initial;
    }
    .intl-tel-input .flag-dropdown {
     position: absolute; 
    }
</style>PK�8]M�����7Client/Views/principals/contact-persons/index.blade.phpnu�Iw��@extends('Client::layouts')
@section('page-body')           
     <!-- Content Header (Page header) -->
     <section class="content-header">
          <h1>
               <i class="fa fa-pencil" aria-hidden="true"></i> Manage Contacts
          </h1>
          <ol class="breadcrumb">
               <li><a href="{{ route(config('modules.client').'.settings.principals.index') }}"><i class="fa fa-user-o"></i> Client</a></li>
               <li class="active">Contact</li>  
          </ol>
     </section>
     <!-- Main content -->
     <section class="content">
          @include('Client::errors')
          @include('Client::message')
          <div class="row">
               <div class="col-md-3">
                    @include('Client::principals.navigation', array('active' => 'contact-person'))
               </div>
               <div class="col-md-9">
                    <div class="box box-primary">
                         <div class="box-header">
                              <h1 class="box-title">List of Contacts</h1>
                              @can('create', $permissions)
                              <span class="pull-right">
                                   <a href="{{ route(config('modules.client').'.principals.contact-persons.create', $principal->hashid) }}" data-toggle="tooltip" data-placement="top" title="" data-original-title="Add Contact" class="btn btn-primary btn-flat"><i class="fa fa-plus-circle"></i> Add Contact</a>
                              </span>
                              @endcan
                         </div>
                         <div class="box-body">
                              <table class="table table-bordered table-condensed table-striped" id='contact-persons-table' width="100%">
                                   <thead>
                                        <tr>
                                            <th>#</th>
                                            <th>Details</th>
                                            <th>Contact Nos.</th>
                                            <th>Action</th>
                                        </tr>
                                   </thead>
                              </table>
                         </div>
                    </div>
                    @include('Client::logs')
               </div>
          </div>
     </section>
@stop
@section('page-css')
  
@stop
@section('page-js')
<script type="text/javascript">
$(function() {
    var contactTable = $('#contact-persons-table').DataTable({
        processing: true,
        serverSide: true,
        "pagingType": "input",
        ajax: "{!! url(config('modules.client').'/principals/'.$principal->hashid.'/get-contact-persons-data') !!}",
        columns: [
            {
                width:'10px', searchable: false, orderable: false,
                render: function (data, type, row, meta) {
                    return meta.row + meta.settings._iDisplayStart + 1;
                }
            },
            { data: 'contact_details', name: 'contact_details', searchable:false},
            { data: 'contact_numbers', name: 'contact_numbers', searchable: false, orderable: false},
            { data: 'action', name: 'action', orderable: false, searchable: false, width:'50px', className:'text-center'},
        ],
        fnDrawCallback: function ( oSettings ) {
          $('[data-toggle="tooltip"]').tooltip();
          contactTable.$("td").on("click", 'a#btn-delete', function() {
                var action = $(this).data('action');
                swal({
                    title: 'Are you sure you want to delete?',
                    text: "This will be permanently deleted",
                    type: 'warning',
                    showCancelButton: true,
                    confirmButtonColor: '#3085d6',
                    cancelButtonColor: '#d33',
                    confirmButtonText: 'Yes'
                    }).then(function () {                    
                    $.ajax({
                        type: "DELETE",
                        url: action,
                        dataType: 'json',
                        success: function(data) {
                            if(data.type == "success") {
                                contactTable.draw();
                                swal(data.message, '', 'success')
                           }else{
                                swal(data.message, '', 'error')
                           }
                        },
                        error :function( jqXhr ) {
                            swal('Unable to delete.', 'Please try again.', 'error')
                        }
                    });
                })
            });
        },
        "order": [[1, "asc"]],
    });
});
</script>
@include('Client::notify')
@stopPK�8]\��	�	6Client/Views/principals/contact-persons/edit.blade.phpnu�Iw��@extends('Client::layouts')
@section('page-body')           
     <!-- Content Header (Page header) -->
     <section class="content-header">
          <h1>
               <i class="fa fa-pencil" aria-hidden="true"></i> Edit Contact
          </h1>
          <ol class="breadcrumb">
               <li><a href="{{ route(config('modules.client').'.settings.principals.index') }}"><i class="fa fa-user-o"></i> Client</a></li>
               <li><a href="{{ route(config('modules.client').'.principals.contact-persons.index', $principal->hashid) }}"> Contact</a></li>
               <li class="active">Edit</li>  
          </ol>
     </section>
     <!-- Main content -->
     <section class="content">
          @include('Client::errors')
          @include('Client::message')
          {!! Form::model($contact, ['route'=> [config('modules.client').'.principals.contact-persons.update', $principal->hashid, $contact->hashid], 'method'=>'PUT' ,'class'=>'form-horizontal','role'=>'form','id'=>'contact-person-form']) !!}
          <div class="box box-primary">
               <div class="box-header">
                    <h1 class="box-title">@include('Client::all-fields-are-required')</h1>
               </div>     
               <div class="box-body">                
                    @include('Client::principals.contact-persons.includes.form')
               </div>
               <div class="box-footer">
                    <div class="row">
                         <div class="col-md-3 col-md-offset-5">
                              <a href="{{ route(config('modules.client').'.principals.contact-persons.index', $principal->hashid) }}" class="btn btn-default btn-flat btn-lg btn-block btn-cancel"><i class="fa fa-chevron-left"></i> Back</a>
                         </div>
                         <div class="col-md-3 text-center">
                              <button class="btn btn-warning btn-flat btn-lg btn-block save-btn" data-loading-text="<i class='fa fa-spin fa-circle-o-notch'></i> Saving..."><i class="fa fa-save"></i> Save Changes </button>
                         </div>
                    </div>
               </div>
          </div>
          {!! Form::close() !!}
          <br>
          @include('Client::logs')
     </section>
@stop
@section('page-css')
     @include('Client::principals.contact-persons.includes.css')
@stop
@section('page-js')
     @include('Client::principals.contact-persons.includes.js')
     @include('Client::notify')
@stop
PK�8].�P�{{'Client/Views/principals/index.blade.phpnu�Iw��@extends('Client::layouts')
@section('page-body')
    <!-- Content Header (Page header) -->
    <section class="content-header">
        <h1>
            <i class="fa fa-user-o"></i> Manage Clients
            @include('Client::cache.descriptions.'.$permissions->menu_id)
        </h1>
        <ol class="breadcrumb">
            <li class="active"><i class="fa fa-user-o"></i> Client</li>            
        </ol>
    </section>
    <!-- Main content -->
    <section class="content"> 
        @include('Client::message')
        <div class="box box-primary">
            <div class="box-header">
                @can('create', $permissions)
                <span class="pull-right">
                    <a href="{{ url(config('modules.client').'/principals/create') }}" data-toggle="tooltip" data-placement="top" title="" data-original-title="Add Principal"><button class="btn btn-primary btn-flat"><i class="fa fa-plus-circle"></i> Add Client</button></a>
                </span>
                @endcan
            </div>
            <div class="box-body">
                <table class="table table-condensed table-bordered table-striped table-hover" id="principals-table" width="100%">
                <thead>
                    <tr>
                        <th>#</th>
                        <th>Details</th>
                        <th>Status</th>
                        <th>Action</th>
                    </tr>
                </thead>
               </table>
            </div>                
        </div>
        @include('Client::logs')
    </section>
@stop
@section('page-js')

<script type="text/javascript">
$(function() {
    var principalTable = $('#principals-table').DataTable({
        processing: true,
        serverSide: true,
        "pagingType": "input",
        ajax: '{!! url(config('modules.client').'/principals/get-principals-data') !!}',
        columns: [
            {
                width:'10px', searchable: false, orderable: false,
                render: function (data, type, row, meta) {
                    return meta.row + meta.settings._iDisplayStart + 1;
                }
            },
            { data: 'details', name: 'details' },
            { data: 'status', name: 'status', width:'50px', searchable: false, orderable: false},
            { data: 'action', name: 'action', orderable: false, searchable: false, width:'50px', className:'text-center'},
        ],
        fnDrawCallback: function ( oSettings ) {
            $('[data-toggle="tooltip"]').tooltip();
            principalTable.$("td").on("click", 'a#btn-delete', function() {
                var action = $(this).data('action');
                swal({
                    title: 'Are you sure you want to delete?',
                    text: "All related details to this client will be permanently deleted.",
                    type: 'warning',
                    showCancelButton: true,
                    confirmButtonColor: '#3085d6',
                    cancelButtonColor: '#d33',
                    confirmButtonText: 'Yes'
                    }).then(function () {                    
                    $.ajax({
                        type: "DELETE",
                        url: action,
                        dataType: 'json',
                        success: function(data) {
                            if(data.type == "success") {
                                principalTable.draw();
                                swal(data.message, '', 'success')
                           }else{
                                swal(data.message, '', 'error')
                           }
                        },
                        error :function( jqXhr ) {
                            swal('Unable to delete.', 'Please try again.', 'error')
                        }
                    });
                })
            });
        },
        "order": [[1, "asc"]],
    });
});
</script>
@include('Client::notify')
@stopPK�8]��_W	W	&Client/Views/principals/edit.blade.phpnu�Iw��@extends('Client::layouts')
@section('page-body')           
     <!-- Content Header (Page header) -->
     <section class="content-header">
          <h1>
               <i class="fa fa-pencil" aria-hidden="true"></i> Edit Client
          </h1>
          <ol class="breadcrumb">
               <li><a href="{{ route(config('modules.client').'.settings.principals.index') }}"><i class="fa fa-user-o"></i> Client</a></li>
               <li class="active">Edit</li>  
          </ol>
     </section>
     <!-- Main content -->
     <section class="content">
          @include('Client::errors')
          @include('Client::message')
          <div class="row">
               <div class="col-md-3">
                    @include('Client::principals.navigation', array('active' => 'info'))
               </div>
               <div class="col-md-9">
                    {!! Form::model($principal, array('url' => config('modules.client').'/principals/'.$principal->hashid, 'method' => 'PUT', 'class'=>'form-horizontal', 'role' => 'form' , 'id'=>'principal-form')) !!}
                    <div class="box box-primary">
                         <div class="box-header">
                              <h1 class="box-title">@include('Client::all-fields-are-required')</h1>
                         </div>     
                         <div class="box-body">
                              @include('Client::principals.includes.form')
                         </div>
                    
                         <div class="box-footer">
                              <div class="row">
                                   <div class="col-md-3 col-md-offset-8">
                                        <button class="btn btn-warning btn-flat btn-lg btn-block save-btn" data-loading-text="<i class='fa fa-circle-o-notch fa-spin'></i> Saving..."><i class="fa fa-pencil"></i> Save Changes</button>
                                   </div>
                              </div>
                         </div>             
                    </div>
                    {!! Form::close() !!}
                    <br>
                    @include('Client::logs')
               </div>
          </div>
     </section>
@stop
@section('page-css')
     @include('Client::principals.includes.css')
@stop
@section('page-js')
     @include('Client::principals.includes.js')
     @include('Client::notify')
@stopPK�8]TuUtTT*Client/Views/dashboard/dashboard.blade.phpnu�Iw��@extends('Client::layouts')
@section('page-body')
	<!-- Content Header (Page header) -->
    <section class="content-header">
        <h1>
            Dashboard
            <small>Control panel</small>
        </h1>
        <ol class="breadcrumb">
            <li><a href="#"><i class="fa fa-dashboard"></i> Home</a></li>
            <li class="active">Dashboard</li>
        </ol>
    </section>
    <!-- Main content -->
    <section class="content">
    	<h1 class="text-center"><b>Welcome to MIP CMS</b></h1>

    </section>
@stop
@section('page-js')     
    @include('Client::notify')
@stopPK�8]��G��+Client/Views/auth/emails/password.blade.phpnu�Iw��Click here to reset your password: <a href="{{ $link = url('password/reset', $token).'?email='.urlencode($user->getEmailForPasswordReset()) }}"> {{ $link }} </a>
PK�8]��B@��$Client/Views/auth/register.blade.phpnu�Iw��@extends('Client::layouts.app')

@section('content')
<div class="container">
    <div class="row">
        <div class="col-md-8 col-md-offset-2">
            <div class="panel panel-default">
                <div class="panel-heading">Register</div>
                <div class="panel-body">
                    <form class="form-horizontal" role="form" method="POST" action="{{ url('/register') }}">
                        {!! csrf_field() !!}

                        <div class="form-group{{ $errors->has('name') ? ' has-error' : '' }}">
                            <label class="col-md-4 control-label">Name</label>

                            <div class="col-md-6">
                                <input type="text" class="form-control" name="name" value="{{ old('name') }}">

                                @if ($errors->has('name'))
                                    <span class="help-block">
                                        <strong>{{ $errors->first('name') }}</strong>
                                    </span>
                                @endif
                            </div>
                        </div>

                        <div class="form-group{{ $errors->has('email') ? ' has-error' : '' }}">
                            <label class="col-md-4 control-label">E-Mail Address</label>

                            <div class="col-md-6">
                                <input type="email" class="form-control" name="email" value="{{ old('email') }}">

                                @if ($errors->has('email'))
                                    <span class="help-block">
                                        <strong>{{ $errors->first('email') }}</strong>
                                    </span>
                                @endif
                            </div>
                        </div>

                        <div class="form-group{{ $errors->has('password') ? ' has-error' : '' }}">
                            <label class="col-md-4 control-label">Password</label>

                            <div class="col-md-6">
                                <input type="password" class="form-control" name="password">

                                @if ($errors->has('password'))
                                    <span class="help-block">
                                        <strong>{{ $errors->first('password') }}</strong>
                                    </span>
                                @endif
                            </div>
                        </div>

                        <div class="form-group{{ $errors->has('password_confirmation') ? ' has-error' : '' }}">
                            <label class="col-md-4 control-label">Confirm Password</label>

                            <div class="col-md-6">
                                <input type="password" class="form-control" name="password_confirmation">

                                @if ($errors->has('password_confirmation'))
                                    <span class="help-block">
                                        <strong>{{ $errors->first('password_confirmation') }}</strong>
                                    </span>
                                @endif
                            </div>
                        </div>

                        <div class="form-group">
                            <div class="col-md-6 col-md-offset-4">
                                <button type="submit" class="btn btn-primary">
                                    <i class="fa fa-btn fa-user"></i>Register
                                </button>
                            </div>
                        </div>
                    </form>
                </div>
            </div>
        </div>
    </div>
</div>
@endsection
PK�8]j�^&&+Client/Views/auth/passwords/email.blade.phpnu�Iw��<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
        <title>QxCMS | Log-in</title>
        <meta content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no" name="viewport">
        <link rel="stylesheet" href="{{ get_template('bootstrap/css/bootstrap.min.css') }}">
        <link rel="stylesheet" href="{{ get_template('font-awesome-4.5.0/css/font-awesome.min.css') }}">
        <link rel="stylesheet" href="{{ get_template('ionicons-2.0.1/css/ionicons.min.css') }}">
        <link rel="stylesheet" href="{{ get_template('dist/css/AdminLTE.min.css') }}">
        <link rel="stylesheet" href="{{ get_template('plugins/iCheck/square/blue.css') }}">
        <link rel="stylesheet" href="{{ get_template('dist/css/custom.css') }}">
        <!-- HTML5 Shim and Respond.js IE8 support of HTML5 elements and media queries -->
        <!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
        <!--[if lt IE 9]>
        <script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script>
        <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
        <![endif]-->
    </head>
    <body class="hold-transition login-page">
        <div class="container" style="margin-top:100px;">
            <div class="row">
                <div class="col-md-8 col-md-offset-2">
                    <div class="panel panel-default">
                        <div class="panel-heading"><i class="fa fa-lock"></i> Reset Password</div>
                        <div class="panel-body">
                            <form class="form-horizontal" role="form" method="POST" action="{{ url('/password/reset') }}">
                                {!! csrf_field() !!}
                                <div class="form-group">
                                    <label class="col-md-4 control-label">E-mail Address</label>
                                    <div class="col-md-6">
                                        <input type="email" name="email" class="form-control" placeholder="Email" value="{{ old('email') }}">
                                        @if ($errors->has('email'))
                                            <span class="help-block">
                                                {{ $errors->first('email') }}
                                            </span>
                                        @endif
                                    </div>
                                </div>
                                <div class="form-group">
                                    <div class="col-md-6 col-md-offset-4">
                                        <button type="submit" class="btn btn-primary">
                                            <i class="fa fa-btn fa-envelope"></i> Send Password Reset Link
                                        </button>
                                    </div>
                                </div>
                            </form>
                        </div>
                    </div>
                </div>
            </div>
        </div>
        <script src="{{ get_template('plugins/jQuery/jquery-1.12.0.min.js') }}"></script>
        <script type="text/javascript" src="{{ get_template('bootstrap/js/bootstrap.min.js') }}"></script>
        <script type="text/javascript" src="{{ get_template('plugins/iCheck/icheck.min.js') }}"></script>
        <script type="text/javascript" src="{{ asset('vendor/jsvalidation/js/jsvalidation.js')}}"></script>
        {!! $validator !!}
    </body>
</html>PK�8]wl��+Client/Views/auth/passwords/reset.blade.phpnu�Iw��@extends('layouts.app')

@section('content')
<div class="container">
    <div class="row">
        <div class="col-md-8 col-md-offset-2">
            <div class="panel panel-default">
                <div class="panel-heading">Reset Password</div>

                <div class="panel-body">
                    <form class="form-horizontal" role="form" method="POST" action="{{ url('/password/reset') }}">
                        {!! csrf_field() !!}

                        <input type="hidden" name="token" value="{{ $token }}">

                        <div class="form-group{{ $errors->has('email') ? ' has-error' : '' }}">
                            <label class="col-md-4 control-label">E-Mail Address</label>

                            <div class="col-md-6">
                                <input type="email" class="form-control" name="email" value="{{ $email or old('email') }}">

                                @if ($errors->has('email'))
                                    <span class="help-block">
                                        <strong>{{ $errors->first('email') }}</strong>
                                    </span>
                                @endif
                            </div>
                        </div>

                        <div class="form-group{{ $errors->has('password') ? ' has-error' : '' }}">
                            <label class="col-md-4 control-label">Password</label>

                            <div class="col-md-6">
                                <input type="password" class="form-control" name="password">

                                @if ($errors->has('password'))
                                    <span class="help-block">
                                        <strong>{{ $errors->first('password') }}</strong>
                                    </span>
                                @endif
                            </div>
                        </div>

                        <div class="form-group{{ $errors->has('password_confirmation') ? ' has-error' : '' }}">
                            <label class="col-md-4 control-label">Confirm Password</label>
                            <div class="col-md-6">
                                <input type="password" class="form-control" name="password_confirmation">

                                @if ($errors->has('password_confirmation'))
                                    <span class="help-block">
                                        <strong>{{ $errors->first('password_confirmation') }}</strong>
                                    </span>
                                @endif
                            </div>
                        </div>

                        <div class="form-group">
                            <div class="col-md-6 col-md-offset-4">
                                <button type="submit" class="btn btn-primary">
                                    <i class="fa fa-btn fa-refresh"></i>Reset Password
                                </button>
                            </div>
                        </div>
                    </form>
                </div>
            </div>
        </div>
    </div>
</div>
@endsection
PK�8]S�Kd��!Client/Views/auth/login.blade.phpnu�Iw��<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
        <title>MipCMS | Log-in</title>
        <meta content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no" name="viewport">
        <link rel="stylesheet" href="{{ get_template('bootstrap/css/bootstrap.min.css') }}">
        <link rel="stylesheet" href="{{ get_template('font-awesome-4.5.0/css/font-awesome.min.css') }}">
        <link rel="stylesheet" href="{{ get_template('ionicons-2.0.1/css/ionicons.min.css') }}">
        <link rel="stylesheet" href="{{ get_template('dist/css/AdminLTE.min.css') }}">
        <link rel="stylesheet" href="{{ get_template('plugins/iCheck/square/blue.css') }}">
        <link rel="stylesheet" href="{{ get_template('dist/css/custom.css') }}">
        <!-- HTML5 Shim and Respond.js IE8 support of HTML5 elements and media queries -->
        <!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
        <!--[if lt IE 9]>
        <script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script>
        <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
        <![endif]-->
    </head>
    <body class="hold-transition login-page">
        <div class="login-box">
            <div class="login-logo">
                <span><b>MipCMS</b> | Login </span>
            </div>
            @include('Client::message')
            <div class="login-box-body">
                <p class="login-box-msg">Sign in to start your session</p>
                <form role="form" method="POST" action="{{ url('client/auth/login') }}" id="login-form">
                    {!! csrf_field() !!}
                    <!-- <div class="form-group has-feedback"> -->
                    <div class="form-group{{ $errors->has('email') ? ' has-error' : '' }} has-feedback">
                        <input type="email" name="email" class="form-control" placeholder="Email" value="{{ old('email') }}">
                        <span class="glyphicon glyphicon-envelope form-control-feedback"></span>
                        @if ($errors->has('email'))
                            <span class="help-block">
                                {{ $errors->first('email') }}
                            </span>
                        @endif
                    </div>
                    <!-- <div class="form-group has-feedback"> -->
                    <div class="form-group{{ $errors->has('password') ? ' has-error' : '' }} has-feedback">
                        <input type="password" name="password" class="form-control" placeholder="Password">
                        <span class="glyphicon glyphicon-lock form-control-feedback"></span>
                        @if ($errors->has('password'))
                            <span class="help-block">
                                {{ $errors->first('password') }}
                            </span>
                        @endif
                    </div>
                    <div class="row">
                        <div class="col-xs-8" id="checkbox" style="padding-left:35px;">
                        </div>
                        <div class="col-xs-4">
                          <button type="submit" class="btn btn-primary btn-block btn-flat"><i class="fa fa-sign-in"></i> Sign In</button>
                        </div>
                    </div>
                </form>
                <a href="{{ url('/password/reset') }}"><i class="fa fa-lock"></i> Forgot my password?</a><br>
            </div>
        </div>
        <script src="{{ get_template('plugins/jQuery/jquery-1.12.0.min.js') }}"></script>
        <script type="text/javascript" src="{{ get_template('bootstrap/js/bootstrap.min.js') }}"></script>
        <script type="text/javascript" src="{{ get_template('plugins/iCheck/icheck.min.js') }}"></script>
        <script type="text/javascript" src="{{ asset('vendor/jsvalidation/js/jsvalidation.js')}}"></script>
        {!! $validator !!}
    </body>
</html>PK�8]`_��		%Client/Views/reports-layout.blade.phpnu�Iw��<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <meta name="csrf-token" content="{{ csrf_token() }}" />
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <title>QxCMS- {{ isset($title) ? $title:'Dashboard' }}</title>
        <meta content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no" name="viewport">
        <!-- bootstrap 3.0.2 -->
        <link href="{{ get_template('plugins/bootstrap-3.3.7/css/bootstrap.min.css') }}" rel="stylesheet" type="text/css" />
        <!-- font Awesome -->
        <link href="{{ get_template('font-awesome-4.7.0/css/font-awesome.min.css') }}" rel="stylesheet" type="text/css" />
        <!-- Datatables -->
        <link href="{{ get_template('plugins/DataTables-1.10.12/media/css/dataTables.bootstrap.css') }}" rel="stylesheet" type="text/css" />
        <link href="{{ get_template('dist/css/AdminLTE.min.css') }}" rel="stylesheet" type="text/css" />
    </head>
    <body class="skin-blue layout-top-nav">
        <!-- Main content -->
        <div class="wrapper">
            <div class="content-wrapper">
                <div class="container-fluid">
                @yield('page-body')
                </div>
            </div>
        </div>
        <script src="{{ get_template('plugins/jQuery/jQuery-2.1.4.min.js') }}"></script>
        <script src="{{ get_template('plugins/bootstrap-3.3.7/js/bootstrap.min.js') }}" type="text/javascript"></script>
        <script src="{{ get_template('plugins/DataTables-1.10.12/media/js/jquery.dataTables.js') }}" type="text/javascript"></script>
        <script src="{{ get_template('plugins/DataTables-1.10.12/media/js/dataTables.bootstrap.js') }}" type="text/javascript"></script>
        <script type="text/javascript" src="{{ get_template('plugins/DataTables-1.10.12/extensions/Pagination/input_old.js') }}"></script>
        <script src="{{ get_template('dist/js/app.min.js') }}" type="text/javascript"></script>  
        <script type="text/javascript">
        $.ajaxSetup({
            headers: { 
                'X-CSRF-Token' : $('meta[name=csrf-token]').attr('content'),
            }
        });
        </script>
        @yield('page-js')
    </body>
</html>PK�8]jN��		,Client/Views/reports-table-layouts.blade.phpnu�Iw��<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <meta name="csrf-token" content="{{ csrf_token() }}" />
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
        <title>{{$type}}</title>
        <meta content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no" name="viewport">
    </head>
    <body>
         <div class="wrapper">
            <div class="content-wrapper">
                @yield('page-body')
            </div>
        </div>
    </body>
</html>PK�8]����uu.Client/Views/all-fields-are-required.blade.phpnu�Iw��<span class="text-danger">All fields with <i>(<i class="fa fa-asterisk form-required"></i>)</i> are required</span>.
PK�8]��d�&&Client/Views/cache/.gitignorenu�Iw��*
!/descriptions/
!/menus/
!.gitignorePK�8]�4/)

#Client/Views/cache/menus/.gitignorenu�Iw��*
!.gitignorePK�8]��A�		-Client/Views/cache/menus/9/custom_2.blade.phpnu�[���	<ul class="sidebar-menu">
		<li class="header">MAIN NAVIGATION</li>
		<li id="appslidemenu0">
		<a href="/client/dashboard">
		<i class="fa fa-dashboard"></i> <span>Dashboard</span>
		</a>
		</li>
		<li id="appslidemenu1" class="treeview">
			<a href="#"><i class="fa fa-cog"></i> <span>Administration</span> <i class="fa fa-angle-left pull-right"></i></a>
	<ul class="treeview-menu">
			<li id="appslidemenu3"><a href="/client/settings/users"><i class="fa fa-angle-double-right"></i>&nbsp;User Manager&nbsp;</a></li>		</ul>
</li>
		<li id="appslidemenu9">
			<a href="/client/posts"><i class="fa fa-list-alt "></i><span>Posts</a></a>
</li>
		<li id="appslidemenu14">
			<a href="/client/job-opening"><i class="fa fa-newspaper-o "></i><span>Job Openings</a></a>
</li>
		</ul>
PK�8]�4/)

*Client/Views/cache/descriptions/.gitignorenu�Iw��*
!.gitignorePK�8]�妥�Client/Views/notify.blade.phpnu�Iw��@if(session('success'))
<script type="text/javascript">
$(function() {
    /* Notify Success */
    $.notify.addStyle('success', {
        html: "<div><i class=\"fa fa-check-circle\" aria-hidden=\"true\"></i>&nbsp;<span data-notify-text/></div>",
        classes: {
            base: {
              "white-space": "nowrap",
              "background-color": "#dff0d8",
              "padding": "5px"
            },
            supersuccess: {
              "color": "#3c763d",
              "background-color": "#dff0d8"
            }
        }
    });
    $.notify('{{ session("success") }}', {
        style: 'success',
        className: 'supersuccess',
        clickToHide: true,
        position:"top right", 
        autoHide: true, 
        autoHideDelay: 3000, 
        showAnimation: 'slideDown',
        showDuration: 400,
        hideAnimation: 'slideUp',
        hideDuration: 200
    });
});
</script>    
@endif

@if(session('error'))
<script type="text/javascript">
$(function() {
    /* Notify Danger */
    $.notify.addStyle('danger', {
        html: "<div><i class=\"fa fa-times-circle\" aria-hidden=\"true\"></i>&nbsp;<span data-notify-text/></div>",
        classes: {
            base: {
              "white-space": "nowrap",
              "background-color": "#f2dede",
              "padding": "5px"
            },
            superdanger: {
              "color": "#a94442",
              "background-color": "#f2dede"
            }
        }
    });
    $.notify('{{ session("error") }}', {
        style: 'danger',
        className: 'superdanger',
        clickToHide: true,
        position:"top right", 
        autoHide: true, 
        autoHideDelay: 3000, 
        showAnimation: 'slideDown',
        showDuration: 400,
        hideAnimation: 'slideUp',
        hideDuration: 200
    });
});
</script>    
@endif

@if(session('danger'))
<script type="text/javascript">
$(function() {
    /* Notify Danger */
    $.notify.addStyle('danger', {
        html: "<div><i class=\"fa fa-times-circle\" aria-hidden=\"true\"></i>&nbsp;<span data-notify-text/></div>",
        classes: {
            base: {
              "white-space": "nowrap",
              "background-color": "#f2dede",
              "padding": "5px"
            },
            superdanger: {
              "color": "#a94442",
              "background-color": "#f2dede"
            }
        }
    });
    $.notify('{{ session("danger") }}', {
        style: 'danger',
        className: 'superdanger',
        clickToHide: true,
        position:"top right", 
        autoHide: true, 
        autoHideDelay: 3000, 
        showAnimation: 'slideDown',
        showDuration: 400,
        hideAnimation: 'slideUp',
        hideDuration: 200
    });
});
</script>    
@endif

@if(session('info'))
<script type="text/javascript">
$(function() {
    /* Notify Info */
    $.notify.addStyle('info', {
        html: "<div><i class=\"fa fa-info-circle\" aria-hidden=\"true\"></i>&nbsp;<span data-notify-text/></div>",
        classes: {
            base: {
              "white-space": "nowrap",
              "background-color": "#d9edf7",
              "padding": "5px"
            },
            superinfo: {
              "color": "#31708f",
              "background-color": "#d9edf7"
            }
        }
    });
    $.notify('{{ session("info") }}', {
        style: 'info',
        className: 'superinfo',
        clickToHide: true,
        position:"top right", 
        autoHide: true, 
        autoHideDelay: 3000, 
        showAnimation: 'slideDown',
        showDuration: 400,
        hideAnimation: 'slideUp',
        hideDuration: 200
    });
});
</script>    
@endif

@if(session('warning'))
<script type="text/javascript">
$(function() {
    /* Notify Warning */
    $.notify.addStyle('warning', {
        html: "<div><i class=\"fa fa-exclamation-circle\" aria-hidden=\"true\"></i>&nbsp;<span data-notify-text/></div>",
        classes: {
            base: {
              "white-space": "nowrap",
              "background-color": "#fcf8e3",
              "padding": "5px"
            },
            superwarning: {
              "color": "#8a6d3b",
              "background-color": "#fcf8e3"
            }
        }
    });
    $.notify('{{ session("warning") }}', {
        style: 'warning',
        className: 'superwarning',
        clickToHide: true,
        position:"top right", 
        autoHide: true, 
        autoHideDelay: 3000, 
        showAnimation: 'slideDown',
        showDuration: 400,
        hideAnimation: 'slideUp',
        hideDuration: 200
    });
});
</script>
@endif
<script type="text/javascript">
$(function() {
    $("#appslidemenu{{ isset($permissions->menu_id) ? $permissions->menu_id : '0' }}").addClass("active");
    $("#appslidemenu{{ isset($permissions->menu_id) ? $permissions->menu_id : '0' }}").parent('ul').css('display', 'block');
    $("#appslidemenu{{ isset($permissions->menu_id) ? $permissions->menu_id : '0' }}").closest('ul').parent('li').addClass("active");
});
</script>PK�8]F�!'�
�
&Client/Views/officers/create.blade.phpnu�Iw��@extends('Client::layouts')
@section('page-body')

    <section class="content-header">
        <h1>
            <i class="fa fa-plus"></i> Add {{$pageModuleName}}
        </h1>
        <ol class="breadcrumb">
            <li><a href="{{ route(config('modules.client').'.officer.index') }}"><i class="fa fa-{{$pageIcon ? $pageIcon : 'angle-double-right'}}"></i> {{$pageTitle}}</a></li>             
            <li class="active">Add</li>            
        </ol>
    </section>

    <section class="content"> 
        @include('Client::message')
        {!! Form::open(array('route' => config('modules.client').'.officer.store', 'class' => 'form-horizontal', 'method' => 'POST', 'id' => 'officer-form')) !!}
        <div class="row">
            <div class="col-sm-12">
                <div class="box box-primary">
                    <div class="box-header">
                        <h3 class="box-title">@include('Client::all-fields-are-required')</h3>
                    </div>
                    <div class="box-body">
                       @include('Client::officers.includes.form')
                    </div>
                </div>
            </div>
        </div>
        <div class="row">
            <div class="col-md-4 col-md-offset-7">
                <button class="btn btn-flat btn-lg btn-block btn-primary save-btn" data-loading-text="<i class='fa fa-circle-o-notch fa-spin'></i> Saving..." ><i class="fa fa-save"></i> Save</button>
            </div>
        </div>
        {!! Form::close() !!}
    </section>
@stop
@section('page-css')
<style type="text/css">
    .form-group label{
        text-align: left !important;
    }
    label.checkbox-inline ,  label.radio-inline {
        min-height: 20px;
        padding-left: 0px !important; 
        margin-bottom: 0;
        font-weight: bold !important;
        cursor: pointer;
    }
</style>
@stop
@section('page-js')
@include('Client::officers.includes.js')

<script type="text/javascript">
    $(function(){
       /* $('#add-another-question-btn').on('click', function(){
            var btn_another = $(this);
            var btn = $('#add-question-btn');

            btn_another.parent().addClass('col-md-offset-4');

            btn.parent().removeClass('col-md-4').hide();
            btn_another.button("loading");

            if(!$('#question-form').valid()) {
                setTimeout(function(){
                    btn_another.parent().removeClass('col-md-offset-4');
                    
                    btn.parent().addClass('col-md-4').show();
                    btn_another.button("reset");
                }, '300');
                return false;
            }
        });

         $('#add-question-btn').on('click', function(){
            var btn_another = $(this);
            var btn = $('#add-another-question-btn');

            btn_another.parent().removeClass('col-md-offset-2').addClass('col-md-offset-4');
            
            btn.parent().removeClass('col-md-4').hide();
            btn_another.button("loading");

            if(!$('#question-form').valid()) {
                setTimeout(function(){
                    btn_another.parent().removeClass('col-md-offset-4').addClass('col-md-offset-2');
                    btn.parent().addClass('col-md-4').show();
                    btn_another.button("reset");
                }, '300');
                return false;
            }
        });*/
    });
</script>
@include('Client::notify')
@stopPK�8]�9���-Client/Views/officers/includes/form.blade.phpnu�Iw��<div class="form-group {{ ($errors->has('name') ? 'has-error':'') }}">
    <label class="control-label col-sm-3">Name: <i class="required">*</i></label>
    <div class="col-sm-8">
        {!! Form::text('name', null, ['class' => 'form-control ', 'placeholder' => 'Enter field officer / editor name here.', 'data-focus' => 'true']) !!}
        {!! $errors->first('name', '<span class="text-red">:message</span>') !!}
    </div>
</div>

<div class="form-group {{ ($errors->has('access_type') ? 'has-error':'') }}">
    <label class="control-label col-sm-3">Access Type: <i class="required">*</i></label>
    <div class="col-sm-4">
        {!! Form::select('access_type', $access_types, null, array('class' => 'form-control', 'placeholder' => ' - Select - ')) !!}
        {!! $errors->first('access_type', '<span class="text-red">:message</span>') !!}
    </div>
</div>
<div class="access-view-wrapper" style="{{ ((isset($officer->access_type) && $officer->access_type == 'Field Officer' ) ? 'display: block':'display:none')  }}">
    <div class="form-group">
        <label class="control-label col-sm-3">Access View: <i class="required">*</i></label>
        <div class="col-sm-9">
            <label class="radio-inline">
                {!! Form::radio('access_view', 'Web', null) !!} Web
            </label>
            <label class="radio-inline">
                {!! Form::radio('access_view', 'Mobile', null) !!} Mobile
            </label>
        </div>
    </div>
</div>
<div class="form-group {{ $errors->has('email') ? ' has-error' : '' }}">
    <label class="control-label col-md-3">Email: <i class="required">*</i></label>
    <div class="col-md-6">
        {!! Form::text('email', null , ['class'=>'form-control', 'placeholder'=>'Enter email here.', 'autocomplete'=>'off']) !!}
    </div>
</div>

<div class="form-group {{ ($errors->has('username') ? 'has-error':'') }}">
    <label class="control-label col-sm-3">Username: <i class="required">*</i></label>
    <div class="col-sm-6">
        {!! Form::text('username', null, ['class' => 'form-control', 'placeholder' => 'Enter username here.']) !!}
        {!! $errors->first('username', '<span class="text-red">:message</span>') !!}
    </div>
</div>

<div class="form-group {{ $errors->has('password') ? ' has-error' : '' }}">
    <label class="control-label col-md-3">Password: <?php if(!isset($officer->id)) {?><i class="required">*</i><?php } ?></label>
    <div class="col-md-6">
        {!! Form::password('password', ['class'=>'form-control', 'id' => 'password', 'placeholder'=>'Enter password here.']) !!}
    </div>
</div>

<div class="form-group {{ $errors->has('password_confirmation') ? ' has-error' : '' }}">
    <label class="control-label col-md-3">Re-type Password: <?php if(!isset($officer->id)) {?><i class="required">*</i><?php } ?></label>
    <div class="col-md-6">
        {!! Form::password('password_confirmation', ['class'=>'form-control', 'id' => 'password_confirmation' ,'placeholder'=>'Re-type password here.']) !!}
    </div>
</div>

<div class="form-group {{ $errors->has('status') ? ' has-error' : '' }}">
    <label class="control-label col-md-3">Status: <i class="required">*</i></label>
    <div class="col-md-6">
        {!! Form::select('status', [1=>'Active', 0 => 'Inactive'], null, ['class'=>'form-control']) !!}
    </div>
</div>

<div class="form-group has-feedback {{ ($errors->has('validity_date') ? 'has-error':'') }}">
    <label class="control-label col-sm-3">Account Period Validity:</label>
    <div class="col-sm-3">
        {!! Form::text('validity_date', null, ['class' => 'form-control']) !!}
        <span class="fa fa-calendar form-control-feedback" aria-hidden="true"></span>
        {!! $errors->first('validity_date', '<span class="text-red">:message</span>') !!}
    </div>
</div>PK�8]��SGG+Client/Views/officers/includes/js.blade.phpnu�Iw��<script type="text/javascript" src="{{ asset('vendor/jsvalidation/js/jsvalidation.js')}}"></script>
{!! JsValidator::formRequest('QxCMS\Modules\Client\Requests\Officers\OfficerRequest', 'form#officer-form'); !!}
<script type="text/javascript">
    $(function(){
        var body = $('body');
        var officer_form = $('form#officer-form');

        $('input').iCheck({
            checkboxClass: 'icheckbox_square-blue',
            radioClass: 'iradio_square-blue',
            increaseArea: '20%' // optional
        });

        officer_form.find('select[name="access_type"]').on('change', function(){
            $(this).valid();
            var value = $(this).val();
            if(value.toLowerCase() == 'editor')
            {
                $('.access-view-wrapper').css({'display':'none'});
            } else {
                $('.access-view-wrapper').css({'display':'block'});
            }
        });

        officer_form.find("input[name='validity_date']").inputmask(body.data('datepicker-mask'), {"placeholder": body.data('datepicker-mask')});
        officer_form.find("input[name='validity_date']").datepicker({ 
            yearRange: "2017:+5",
            changeMonth: true,
            changeYear: true,
            onSelect: function(dateText) {
                $(this).valid();
            }
        });
    });
</script>PK�8]9J��mm%Client/Views/officers/index.blade.phpnu�Iw��@extends('Client::layouts')
@section('page-body')
    <!-- Content Header (Page header) -->
    <section class="content-header">
        <h1>
            <i class="fa fa-{{$pageIcon ? $pageIcon : 'angle-double-right'}}" aria-hidden="true"></i> {{$pageTitle}}
            <br>
            <small>{{$pageDescription}}</small>
        </h1>
        <ol class="breadcrumb">
            <li class="active"><i class="fa fa-{{$pageIcon ? $pageIcon : 'angle-double-right'}}"></i> {{$pageTitle}}</li>           
        </ol>
    </section>
    <!-- Main content -->
    <section class="content"> 
        @include('Client::message')
        <div class="box box-primary">
            <div class="box-header with-border">
                <h1 class="box-title">
                    <form class="form-inline">
                        <div class="form-group">
                            <label>Access Type</label>
                            {!! Form::select('access_type', $access_types, null, array('class' => 'form-control', 'placeholder' => ' - All - ')) !!}
                        </div>
                    </form>
                </h1>
                @can('create', $permissions)
                    <span class="pull-right">
                        <a href="{{ route(config('modules.client').'.officer.create') }}" class="btn btn-primary btn-flat"><i class="fa fa-plus-circle"></i> Add {{$pageModuleName}}</a>
                    </span>
                @endcan
            </div>
            <div class="box-body">
                <table class="table table-bordered table-striped table-hover" id="officer-table" width="100%">
                    <thead>
                        <tr>
                            <th>#</th>
                            <th>Name</th>
                            <th>Email</th>
                            <th>Access Type</th>
                            <th>Account Validity</th>
                            <th>Status</th>
                            <th>Action</th>
                        </tr>
                    </thead>
               </table>
            </div>                
        </div>
        @include('Client::logs')
    </section>
@stop
@section('page-js')
@include('Client::questionnaire.template.js')
<script type="text/javascript">
$(function() {
    var officerTable = $('#officer-table').DataTable({
        processing: true,
        serverSide: true,
        pagingType:'input',
        "pagingType": "input",
        rowReorder: true,
        ajax: {
            url:'{!! url(config('modules.client').'/officers/get-datatables-index') !!}',
            data: function(d){
                d.access_type = $('select[name="access_type"]').val();
            }            
        },
        columns: [
            {
                width:'10px', searchable: false, orderable: false,
                render: function (data, type, row, meta) {
                    return meta.row + meta.settings._iDisplayStart + 1;
                }
            },
            { data: 'name', name: 'name', orderable:true, searchable: true},
            { data: 'email', name: 'email', orderable:true, searchable: true},
            { data: 'access_type', name: 'access_type', orderable:true, searchable:false},
            { data: 'validity_date', name: 'validity_date', orderable:false, searchable: false, className:'text-center'},
            { data: 'status', name: 'status', orderable: false, searchable: false, className:'text-center'},
            { data: 'action', name: 'action', orderable: false, searchable: false, width:'100px', className:'text-center'},
        ],
        fnDrawCallback: function ( oSettings ) {
            $('[data-toggle="tooltip"]').tooltip();
            officerTable.$("td").on("click", 'a#btn-delete', function() {
                var action = $(this).data('action');
                swal({
                    title: 'Are you sure you want to delete?',
                    text: "This will be permanently deleted.",
                    type: 'warning',
                    showCancelButton: true,
                    confirmButtonColor: '#3085d6',
                    cancelButtonColor: '#d33',
                    confirmButtonText: 'Yes'
                    }).then(function () {                    
                    $.ajax({
                        type: "DELETE",
                        url: action,
                        dataType: 'json',
                        success: function(data) {
                            if(data.type == "success") {
                                officerTable.draw();
                                swal(data.message, '', 'success')
                           }else{
                                swal(data.message, '', 'error')
                           }
                        },
                        error :function( jqXhr ) {
                            swal('Unable to delete.', 'Please try again.', 'error')
                        }
                    });
                });
            });

        
        },
        "order": [[1, "desc"]],
    });

    $('select[name="access_type"]').on('change', function(){
        officerTable.draw();
    });
});
</script>
@include('Client::notify')
@stopPK�8]�LYk��$Client/Views/officers/edit.blade.phpnu�Iw��@extends('Client::layouts')
@section('page-body')

    <section class="content-header">
        <h1>
            <i class="fa fa-pencil"></i> Edit {{$pageModuleName}}
        </h1>
        <ol class="breadcrumb">
            <li><a href="{{ route(config('modules.client').'.officer.index') }}"><i class="fa fa-{{$pageIcon ? $pageIcon : 'angle-double-right'}}"></i> {{$pageTitle}}</a></li>             
            <li class="active">Edit</li>            
        </ol>
    </section>

    <section class="content"> 
        @include('Client::message')
        {!! Form::model($officer, array('route' => [config('modules.client').'.officer.update', $officer->hashid] , 'class' => 'form-horizontal', 'method' => 'PUT', 'id' => 'officer-form')) !!}
        <div class="row">
            <div class="col-sm-12">
                <div class="box box-primary">
                    <div class="box-header">
                        <h3 class="box-title">@include('Client::all-fields-are-required')</h3>
                    </div>
                    <div class="box-body">
                       @include('Client::officers.includes.form')
                    </div>
                </div>
            </div>
        </div>
        <div class="row">
            <div class="col-sm-4 col-sm-offset-7">
                <button class="btn btn-flat btn-lg btn-block btn-warning save-btn" data-loading-text="<i class='fa fa-circle-o-notch fa-spin'></i> Saving..."><i class="fa fa-save"></i> Save Changes</button>
            </div>
        </div>
        {!! Form::close() !!}
        <br>
        @include('Client::logs')
    </section>
@stop
@section('page-css')
<style type="text/css">
    .form-group label{
        text-align: left !important;
    }
    label.checkbox-inline ,  label.radio-inline {
        min-height: 20px;
        padding-left: 0px !important; 
        margin-bottom: 0;
        font-weight: bold !important;
        cursor: pointer;
    }
</style>
@stop
@section('page-js')
@include('Client::officers.includes.js')

<script type="text/javascript">
    $(function(){
        //var principal = $('form#subject-form').find('select[name="principal_id"]');


      
       // var questionnaire = $('form#subject-form').find('select[name="template_id"]');

       /* $('#add-another-question-btn').on('click', function(){
            var btn_another = $(this);
            var btn = $('#add-question-btn');

            btn_another.parent().addClass('col-md-offset-4');

            btn.parent().removeClass('col-md-4').hide();
            btn_another.button("loading");

            if(!$('#question-form').valid()) {
                setTimeout(function(){
                    btn_another.parent().removeClass('col-md-offset-4');
                    
                    btn.parent().addClass('col-md-4').show();
                    btn_another.button("reset");
                }, '300');
                return false;
            }
        });

         $('#add-question-btn').on('click', function(){
            var btn_another = $(this);
            var btn = $('#add-another-question-btn');

            btn_another.parent().removeClass('col-md-offset-2').addClass('col-md-offset-4');
            
            btn.parent().removeClass('col-md-4').hide();
            btn_another.button("loading");

            if(!$('#question-form').valid()) {
                setTimeout(function(){
                    btn_another.parent().removeClass('col-md-offset-4').addClass('col-md-offset-2');
                    btn.parent().addClass('col-md-4').show();
                    btn_another.button("reset");
                }, '300');
                return false;
            }
        });*/
    });
</script>
@include('Client::notify')
@stopPK�8]^��w�4�4Client/Views/layouts.blade.phpnu�Iw��<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <meta name="csrf-token" content="{{ csrf_token() }}" />
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
        <title>MIP CMS- {{ isset($pageTitle) ? $pageTitle :'Dashboard' }}</title>
        <meta content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no" name="viewport">
        <!-- jquery ui 1.11.2 -->
        <link href="{{ get_template('plugins/tablednd/tablednd.css') }}" rel="stylesheet" type="text/css" />
        <link rel="stylesheet" href="{{ get_template('plugins/jquery-ui-1.11.2/jquery-ui.min.css') }}">
        <!-- bootstrap 3.0.2 -->
        <link href="{{ get_template('plugins/bootstrap-3.3.7/css/bootstrap.min.css') }}" rel="stylesheet" type="text/css" />
        <!-- font Awesome -->
        <link href="{{ get_template('font-awesome-4.7.0/css/font-awesome.min.css') }}" rel="stylesheet" type="text/css" />
        <!-- Ionicons -->
        <link href="{{ get_template('ionicons-2.0.1/css/ionicons.min.css') }}" rel="stylesheet" type="text/css" />
        <link href="{{ get_template('plugins/bootstrap-wysihtml5/bootstrap3-wysihtml5.min.css') }}" rel="stylesheet" type="text/css" />
        <link href="{{ get_template('plugins/sweetalert2/dist/sweetalert2.min.css') }}" rel="stylesheet" type="text/css" />
        <link href="{{ get_template('plugins/iCheck/square/_all.css') }}" rel="stylesheet" type="text/css" />
        <link href="{{ get_template('plugins/intlnum/css/intlTelInput.css') }}" rel="stylesheet" type="text/css" />
        <link href="{{ get_template('plugins/bootstrap-tokenfield/dist/css/bootstrap-tokenfield.min.css') }}" rel="stylesheet" type="text/css" />
        <link href="{{ get_template('plugins/bootstrap-tokenfield/dist/css/tokenfield-typeahead.min.css') }}" rel="stylesheet" type="text/css" />
        <!-- Select 2 -->
        <link href="{{ get_template('plugins/select2/select2.min.css') }}" rel="stylesheet" type="text/css" />
        <link href="{{ get_template('plugins/select2/select2.bootstrap.min.css') }}" rel="stylesheet" type="text/css" />
        <!-- Datatables -->
        <link href="{{ get_template('plugins/DataTables-1.10.12/media/css/dataTables.bootstrap.css') }}" rel="stylesheet" type="text/css" />
        <link href="{{ get_template('dist/css/AdminLTE.min.css') }}" rel="stylesheet" type="text/css" />
        <link rel="stylesheet" href="{{ get_template('dist/css/skins/_all-skins.min.css') }}">
        <!-- custom style -->
        <link href="{{ get_template('plugins/notifyjs/notifyjs.css') }}" rel="stylesheet" type="text/css" />
        <link href="{{ get_template('dist/css/custom.css') }}" rel="stylesheet" type="text/css" />
       <!--  <link href="{{ get_template('plugins/daterangepicker/daterangepicker-bs3.css') }}" rel="stylesheet" type="text/css" /> -->
        <link rel="stylesheet" type="text/css" href="//cdn.jsdelivr.net/bootstrap.daterangepicker/2/daterangepicker.css" />
        
        <!-- HTML5 Shim and Respond.js IE8 support of HTML5 elements and media queries -->
        <!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
        <!--[if lt IE 9]>
          <script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
          <script src="https://oss.maxcdn.com/libs/respond.js/1.3.0/respond.min.js"></script>
        <![endif]-->       
        @yield('page-css')
    </head>
    <body class="hold-transition sidebar-mini fixed skin-{{ config('template.skin') }}" data-url="{{ url('/') }}" 
        data-datepicker-format="{{ auth('client')->user()->client->date_picker['date_picker'] }}"
        data-datepicker-date="{{ date(auth('client')->user()->client->date_picker['php']) }}"
        data-datepicker-mask="{{ auth('client')->user()->client->date_picker['mask'] }}">

         <div class="wrapper">
            <header class="main-header">
                <a href="{{ url('client/dashboard') }}" class="logo">
                    <span class="logo-mini"><b>MIP </b><!-- <img src="{{ url('img/dashboard-logo.png') }}"  class="img-responsive" style="margin-top: 10px;"> --></span>
                    <span class="logo-lg"><b>MIP </b>CMS<!-- <img src="{{ url('img/dashboard-logo.png') }}"  class="img-responsive"> --></span>
                </a>
                <nav class="navbar navbar-static-top">
                    <a href="#" class="sidebar-toggle" data-toggle="offcanvas" role="button">
                        <span class="sr-only">Toggle navigation</span>
                    </a>
                    <div class="navbar-custom-menu">
                        <ul class="nav navbar-nav">
                            <li class="dropdown user user-menu">
                                <a href="#" class="dropdown-toggle" data-toggle="dropdown">
                                  <img src="{{ asset('img/user-avatar-male.png') }}" class="user-image" alt="User Image">
                                  <span class="hidden-xs">{{ auth('client')->user()->name }}</span>
                                </a>
                                <ul class="dropdown-menu">
                                    <li class="user-header">
                                        <img src="{{ asset('img/user-avatar-male.png') }}" class="img-circle" alt="User Image">
                                        <p>
                                            {{ auth('client')->user()->name }}
                                            <small>{{ auth('client')->user()->email }}</small>
                                            <small><b>Version:</b> {{ config('app.version') }}</small>
                                        </p>
                                    </li>
                                    <li class="user-footer">
                                        <div class="pull-left">
                                            <a href="#" class="btn btn-default btn-flat">Profile</a>
                                        </div>
                                        <div class="pull-right">
                                            <a href="{{ url(config('modules.client').'/auth/logout') }}" class="btn btn-default btn-flat"><i class="fa fa-sign-out"></i> Sign out</a>
                                        </div>
                                    </li>
                                </ul>
                            </li>
                        </ul>
                    </div>
                </nav>
            </header>
            <aside class="main-sidebar">
               <section class="sidebar">
<!--                     <div class="user-panel">
                        <div class="pull-left image">
                          <img src="{{ asset('img/user-avatar-male.png') }}" class="img-circle" alt="User Image">
                        </div>
                        <div class="pull-left info">
                            <p>{{ auth('client')->user()->name }}</p>
                            <a href="#"><i class="fa fa-circle text-success"></i> Online</a>
                        </div>
                    </div> -->
                    @if(isset($userPermissions[20]) && $userPermissions[20]['can_access'] == 1)
                        <form action="{{route(config('modules.client').'.search-applicants.index')}}" method="get" class="sidebar-form">
                            <div class="input-group">
                                <input type="text" name="name" class="form-control" placeholder="Search applicant name..." autocomplete="off">
                                <span class="input-group-btn">
                                    <button type="submit" id="search-btn" class="btn btn-flat">
                                        <i class="fa fa-search"></i>
                                    </button>
                                </span>
                            </div>
                        </form>
                    @endif
                    @include('Client::cache.menus.'.auth('client')->user()->client_id.'.custom_'.auth('client')->user()->role_id)
                </section>
            </aside>
            <div class="content-wrapper">
                <!-- <div class="container-fluid"> -->
                    @yield('page-body')
                <!-- </div> -->
            </div>

            <footer class="main-footer">
                <div class="container-fluid">
                    <div class="pull-right hidden-xs">
                        <b>Version:</b> {{ config('app.version') }}
                    </div>
                    <strong>Copyright &copy; 2016-{{ Date('Y') + 1}} <a href="http://www.quantumx.com">Quantum X, Inc</a>.</strong>
                </div>
            </footer>
        </div>

        <script src="{{ get_template('plugins/jQuery/jQuery-2.1.4.min.js') }}"></script>
        <script type="text/javascript">
        $(function(){
            $('ul.sidebar-menu li').each(function(index, el){
                var li = $(el);
                if(li.hasClass('treeview')){
                    var a = li.find('a');
                    var a_text = a.find('span').html();
                    if(a_text.toLowerCase() == 'applicants' ||  a_text.toLowerCase() == 'applicant'){
                        if("{{ Request::path() }}" != "client/applicants"){
                            li.find('ul').remove();
                            a.attr('href', "{{ route(config('modules.client').'.applicants.index') }}");
                        }else{
                            li.addClass('active');
                            $('body #appslidemenu0').removeClass('active');
                        }
                    }
                }
            });
        });
        </script>
        <script src="{{ get_template('plugins/jquery-ui-1.11.2/jquery-ui.min.js') }}" type="text/javascript"></script>
        <script src="{{ get_template('plugins/bootstrap-3.3.7/js/bootstrap.min.js') }}" type="text/javascript"></script>
        <script type="text/javascript" src="{{ get_template('plugins/slimScroll/jquery.slimscroll.min.js') }}"></script>
        <script type="text/javascript" src="{{ get_template('plugins/fastclick/fastclick.js') }}"></script>
        <script src="{{ get_template('/plugins/sweetalert2/dist/sweetalert2.min.js') }}" type="text/javascript"></script>
        <script src="{{ get_template('plugins/select2/select2.full.js') }}" type="text/javascript"></script>    
        <script src="{{ get_template('plugins/intlnum/js/intlTelInput.min.js') }}" type="text/javascript"></script>    
        <script src="{{ get_template('plugins/DataTables-1.10.12/media/js/jquery.dataTables.js') }}" type="text/javascript"></script>
        <script src="{{ get_template('plugins/DataTables-1.10.12/media/js/dataTables.bootstrap.js') }}" type="text/javascript"></script>
        <script type="text/javascript" src="{{ get_template('plugins/DataTables-1.10.12/extensions/Pagination/input_old.js') }}"></script>
        <script src="{{ get_template('plugins/bootstrap-wysihtml5/bootstrap3-wysihtml5.all.min.js') }}" type="text/javascript"></script>
        <script src="{{ get_template('plugins/iCheck/icheck.min.js') }}" type="text/javascript"></script>
        <!-- notifyjs -->
        <script src="{{ get_template('plugins/notifyjs/notify.min.js') }}" type="text/javascript"></script>
        <!-- token input -->
        <script type="text/javascript" src="{{ get_template('plugins/bootstrap-tokenfield/dist/bootstrap-tokenfield.min.js') }}"></script>
        <!-- input mask -->
        <script type="text/javascript" src="{{ get_template('plugins/input-mask/jquery.inputmask.js') }}"></script>
        <script type="text/javascript" src="{{ get_template('plugins/input-mask/jquery.inputmask.date.extensions.js') }}"></script>
        <script type="text/javascript" src="{{ get_template('plugins/input-mask/jquery.inputmask.extensions.js') }}"></script>
        <script type="text/javascript" src="{{ get_template('plugins/tablednd/jquery.tablednd.0.7.min.js') }}"></script>
        <!-- <script type="text/javascript" src="{{ get_template('plugins/daterangepicker/daterangepicker.js') }}"></script> -->
        <script type="text/javascript" src="{{ get_template('plugins/daterangepicker/moment.min.js') }}"></script>
        <script type="text/javascript" src="//cdn.jsdelivr.net/bootstrap.daterangepicker/2/daterangepicker.js"></script>
        <script type="text/javascript" src="{{ get_template('plugins/ckeditor/ckeditor.js') }}"></script>
        <script src="{{ asset('vendor/laravel-filemanager/js/lfm.js') }}"></script>


        <!-- AdminLTE App -->
        <script type="text/javascript" src="{{ asset('vendor/datatables/jquery.jeditable.min.js')}}"></script>
        <script src="{{ get_template('dist/js/app.min.js') }}" type="text/javascript"></script>       
        <script type="text/javascript">
        $.ajaxSetup({
            headers: { 
                'X-CSRF-Token' : $('meta[name=csrf-token]').attr('content'),
            }
        });
        $(function () {
          $('[data-toggle="tooltip"]').tooltip();
        });

        $(document).ready(function(){
            $('select').find('option:eq(0)').removeAttr('hidden');
            $('select').find('option:eq(0)').removeAttr('disabled');
        });
        </script>
        <script type="text/javascript" src="{{ get_template('dist/js/helpers.js') }}"></script>
        @yield('page-js')
    </body>
</html>PK�8]~�ƌt
t
%Client/Views/subject/create.blade.phpnu�Iw��@extends('Client::layouts')
@section('page-body')

    <section class="content-header">
        <h1>
            <i class="fa fa-plus"></i> Add {{$pageModuleName}}
        </h1>
        <ol class="breadcrumb">
            <li><a href="{{ route(config('modules.client').'.subject.index') }}"><i class="fa fa-{{$pageIcon ? $pageIcon : 'angle-double-right'}}"></i> {{$pageTitle}}</a></li>
            <li class="active">Add</li>            
        </ol>
    </section>

    <section class="content"> 
        @include('Client::message')
        {!! Form::open(array('route' => config('modules.client').'.subject.store', 'class' => 'form-horizontal', 'method' => 'POST', 'id' => 'subject-form')) !!}
        <div class="row">
            <div class="col-sm-12">
                <div class="box box-primary">
                    <div class="box-header">
                        <h3 class="box-title">@include('Client::all-fields-are-required')</h3>
                    </div>
                    <div class="box-body">
                       @include('Client::subject.includes.form')
                    </div>
                </div>
            </div>
        </div>
        <div class="row">
            <div class="col-md-4 col-md-offset-7">
                <button class="btn btn-flat btn-lg btn-block btn-primary save-btn" data-loading-text="<i class='fa fa-circle-o-notch fa-spin'></i> Saving..." ><i class="fa fa-save"></i> Save</button>
            </div>
        </div>
        {!! Form::close() !!}
    </section>
@stop
@section('page-css')
<style type="text/css">
    .form-group label{
        text-align: left !important;
    }
    /*.checkbox label, .radio label {
        min-height: 20px;
         padding-left: 0px !important; 
        margin-bottom: 0;
        font-weight: bold !important;
        cursor: pointer;
    }*/
</style>
@stop
@section('page-js')
@include('Client::subject.includes.js')

<script type="text/javascript">
    $(function(){
       /* $('#add-another-question-btn').on('click', function(){
            var btn_another = $(this);
            var btn = $('#add-question-btn');

            btn_another.parent().addClass('col-md-offset-4');

            btn.parent().removeClass('col-md-4').hide();
            btn_another.button("loading");

            if(!$('#question-form').valid()) {
                setTimeout(function(){
                    btn_another.parent().removeClass('col-md-offset-4');
                    
                    btn.parent().addClass('col-md-4').show();
                    btn_another.button("reset");
                }, '300');
                return false;
            }
        });

         $('#add-question-btn').on('click', function(){
            var btn_another = $(this);
            var btn = $('#add-another-question-btn');

            btn_another.parent().removeClass('col-md-offset-2').addClass('col-md-offset-4');
            
            btn.parent().removeClass('col-md-4').hide();
            btn_another.button("loading");

            if(!$('#question-form').valid()) {
                setTimeout(function(){
                    btn_another.parent().removeClass('col-md-offset-4').addClass('col-md-offset-2');
                    btn.parent().addClass('col-md-4').show();
                    btn_another.button("reset");
                }, '300');
                return false;
            }
        });*/
    });
</script>
@include('Client::notify')
@stopPK�8]Z�$$,Client/Views/subject/includes/form.blade.phpnu�Iw��<div class="form-group {{ ($errors->has('name') ? 'has-error':'') }}">
    <label class="control-label col-sm-3">Subject Name: <i class="required">*</i></label>
    <div class="col-sm-8">
        {!! Form::text('name', null, ['class' => 'form-control ', 'placeholder' => 'Enter subject name here.', 'data-focus' => 'true']) !!}
        {!! $errors->first('name', '<span class="text-red">:message</span>') !!}
    </div>
</div>

<div class="form-group {{ ($errors->has('principal_id') ? 'has-error':'') }}">
    <label class="control-label col-sm-3">Client Assignment: <i class="required">*</i></label>
    <div class="col-sm-8">
        {!! Form::select('principal_id', array(), null, array('class' => 'form-control select2', 'style' => 'width:100%', 'data-id' => (isset($subject->principal_id) ? $subject->principal_id:''), 'data-text' => (isset($subject->principal->name) ? $subject->principal->name:'') )) !!}
        {!! $errors->first('principal_id', '<span class="text-red">:message</span>') !!}
    </div>
</div>

<div class="form-group {{ ($errors->has('template_id') ? 'has-error':'') }}">
    <label class="control-label col-sm-3">Questionnaire Assigned: <i class="required">*</i></label>
    <div class="col-sm-8">
        {!! Form::select('template_id', array(), null, array('class' => 'form-control select2', 'style' => 'width:100%', 'data-id' => (isset($subject->template_id) ? $subject->template_id:''), 'data-text' => (isset($subject->template->title) ? $subject->template->title:'') )) !!}
        {!! $errors->first('template_id', '<span class="text-red">:message</span>') !!}
    </div>
</div>

<div class="form-group has-feedback {{ ($errors->has('interview_date') ? 'has-error':'') }}">
    <label class="control-label col-sm-3">Interview Date: <i class="required">*</i></label>
    <div class="col-sm-3">
        {!! Form::text('interview_date', null, ['class' => 'form-control']) !!}
        <span class="fa fa-calendar form-control-feedback" aria-hidden="true"></span>
        {!! $errors->first('interview_date', '<span class="text-red">:message</span>') !!}
    </div>
</div>
<!-- <div class="form-group has-feedback {{ ($errors->has('completion_date') ? 'has-error':'') }}">
    <label class="control-label col-sm-3">Interview Date Completion: <i class="required">*</i></label>
    <div class="col-sm-3">
        {!! Form::text('completion_date', null, ['class' => 'form-control']) !!}
        <span class="fa fa-calendar form-control-feedback" aria-hidden="true"></span>
        {!! $errors->first('completion_date', '<span class="text-red">:message</span>') !!}
    </div>
</div> -->

<div class="form-group {{ ($errors->has('field_officer_assigned') ? 'has-error':'') }}">
    <label class="control-label col-sm-3">Field Officer Assigned: <i class="required">*</i></label>
    <div class="col-sm-8">
        {!! Form::select('field_officer_assigned', array(), null, array('class' => 'form-control select2 unique-all', 'style' => 'width:100%', 'data-id' => (isset($subject->field_officer_assigned) ? $subject->field_officer_assigned:''), 'data-text' => (isset($subject->fieldOfficer->name) ? $subject->fieldOfficer->name:'') )) !!}
        {!! $errors->first('field_officer_assigned', '<span class="text-red">:message</span>') !!}
    </div>
</div>

<div class="form-group {{ ($errors->has('editor_assigned') ? 'has-error':'') }}">
    <label class="control-label col-sm-3">Editor Assigned: <i class="required">*</i></label>
    <div class="col-sm-8">
        {!! Form::select('editor_assigned', array(), null, array('class' => 'form-control select2', 'style' => 'width:100%', 'data-id' => (isset($subject->editor_assigned) ? $subject->editor_assigned:''), 'data-text' => (isset($subject->editor->name) ? $subject->editor->name:''))) !!}
        {!! $errors->first('editor_assigned', '<span class="text-red">:message</span>') !!}
    </div>
</div>PK�8]��j22*Client/Views/subject/includes/js.blade.phpnu�Iw��<script type="text/javascript" src="{{ asset('vendor/jsvalidation/js/jsvalidation.js')}}"></script>
{!! JsValidator::formRequest('QxCMS\Modules\Client\Requests\Subject\SubjectRequest', 'form#subject-form'); !!}
<script type="text/javascript">
    $(function(){
        var body = $('body');
        var subject_form = $('form#subject-form');

        $('button.save-btn').on('click', function(){
            var btn = $(this);
            btn.button('loading');
            if(subject_form.valid()){
                return true;
            }
            setTimeout(function(){
                btn.button('reset');
            }, 200);
            
        });

        var principal = subject_form.find("select[name='principal_id']").select2({
            maximumSelectionSize:5,
            placeholder: {
                id: '-1', 
                text: ' - Select - '
            },
            ajax: {
                url: "{!! route(config('modules.client').'.principals.select2') !!}",
                delay:400,
                cache:true,
                data: function (params) {
                  return {
                    name: params.term,
                    placeholder: {
                        id: '-1', 
                        text: ' - Select - '
                    },
                  };
                },
                processResults: function (data, page) {
                  return {
                    results: data
                  };
                }
                
            } 
        }).on('change.select2', function(){
            $(this).valid();
        });

        if(principal.data('id') != '' && typeof principal.data('id') !== 'undefined' && principal.data('id') != null) {
            principal.append($('<option>', {
                value: principal.data('id'), text: principal.data('text')
            }));
        }

 
        var template = subject_form.find("select[name='template_id']").select2({
            maximumSelectionSize:5,
            placeholder: {
                id: '-1', 
                text: ' - Select - '
            },
            ajax: {
                url: "{!! route(config('modules.client').'.questionnaire.select2') !!}",
                delay:400,
                cache:true,
                data: function (params) {
                  return {
                    title: params.term,
                    placeholder: {'text':' - Select -'}
                  };
                },
                processResults: function (data, page) {
                  return {
                    results: data
                  };
                }
            }
        }).on('change.select2', function(){
            $(this).valid();
        });

        if(template.data('id') != '' && typeof template.data('id') !== 'undefined' && template.data('id') != null) {
            template.append($('<option>', {
                value: template.data('id'), text: template.data('text')
            }));
            //template.select2('val', template.data('id'));
        }

        var field_officer = subject_form.find("select[name='field_officer_assigned']").select2({
            maximumSelectionSize:5,
            placeholder: {
                id: '-1', 
                text: ' - Select - '
            },
            ajax: {
                url: "{!! route(config('modules.client').'.users.select2') !!}",
                delay:400,
                cache:true,
                data: function (params) {
                  return {
                    title: params.term,
                    user_type: 'field_officer',
                    placeholder: {'text':' - Select -'}
                  };
                },
                processResults: function (data, page) {
                  return {
                    results: data
                  };
                }
            }
        }).on('change.select2', function(){
            $(this).valid();
        });

        principal.on('change.select2', function() {
            var val = field_officer.val();
            field_officer.val('-1').trigger('change');
            //field_officer.valid();
        });

        template.on('change.select2', function(){
            var val = field_officer.val();
            field_officer.val('-1').trigger('change');
            //field_officer.valid();
        });

        if(field_officer.data('id') != '' && typeof field_officer.data('id') !== 'undefined' && field_officer.data('id') != null) {
            field_officer.append($('<option>', {
                value: field_officer.data('id'), text: field_officer.data('text')
            }));
        }

        var editor = subject_form.find("select[name='editor_assigned']").select2({
            maximumSelectionSize:5,
            placeholder: {
                id: '-1', 
                text: ' - Select - '
            },
            ajax: {
                url: "{!! route(config('modules.client').'.users.select2') !!}",
                delay:400,
                cache:true,
                data: function (params) {
                  return {
                    title: params.term,
                    user_type: 'editor',
                    placeholder: {'text':' - Select -'}
                  };
                },
                processResults: function (data, page) {
                  return {
                    results: data
                  };
                }
            }
        }).on('change.select2', function(){
            $(this).valid();
        });
        

        if(editor.data('id') != '' && typeof editor.data('id') !== 'undefined' && editor.data('id') != null) {
            editor.append($('<option>', {
                value: editor.data('id'), text: editor.data('text')
            }));
        }



        subject_form.find("input[name='interview_date']").inputmask(body.data('datepicker-mask'), {"placeholder": body.data('datepicker-mask')});
        subject_form.find("input[name='interview_date']").datepicker({ 
            yearRange: "2017:+1",
            changeMonth: true,
            changeYear: true
        });

        subject_form.find("input[name='completion_date']").inputmask(body.data('datepicker-mask'), {"placeholder": body.data('datepicker-mask')});
        subject_form.find("input[name='completion_date']").datepicker({ 
            yearRange: "2017:+2",
            changeMonth: true,
            changeYear: true
        });
    });
</script>PK�8]$Y�E$Client/Views/subject/index.blade.phpnu�Iw��@extends('Client::layouts')
@section('page-body')
    <!-- Content Header (Page header) -->
    <section class="content-header">
        <h1>
            <i class="fa fa-{{$pageIcon ? $pageIcon : 'angle-double-right'}}" aria-hidden="true"></i> {{$pageTitle}}
            <br>
            <small>{{$pageDescription}}</small>
        </h1>
        <ol class="breadcrumb">
            <li class="active"><i class="fa fa-{{$pageIcon ? $pageIcon : 'angle-double-right'}}"></i> {{$pageTitle}}</li>           
        </ol>
    </section>
    <!-- Main content -->
    <section class="content"> 
        @include('Client::message')
        <div class="box box-default">
            <div class="box-header with-border">
                @can('create', $permissions)
                    <span class="pull-right">
                        <a href="{{ route(config('modules.client').'.subject.create') }}" class="btn btn-primary btn-flat"><i class="fa fa-plus-circle"></i> Add {{$pageModuleName}}</a>
                    </span>
                @endcan
            </div>
            <div class="box-body">
                <table class="table table-bordered table-striped table-hover" id="subject-table" width="100%">
                    <thead>
                        <tr>
                            <th>#</th>
                            <th>Details</th>
                            <th>Assigned To</th>
                            <th>Action</th>
                        </tr>
                    </thead>
               </table>
            </div>                
        </div>
        @include('Client::logs')
    </section>
@stop
@section('page-js')
@include('Client::questionnaire.template.js')
<script type="text/javascript">
$(function() {
    var subjectTable = $('#subject-table').DataTable({
        processing: true,
        serverSide: true,
        "pagingType": "input",
        rowReorder: true,
        ajax: {
            url:'{!! url(config('modules.client').'/subject/get-datatables-index') !!}',            
        },
        columns: [
            {
                width:'10px', searchable: false, orderable: false,
                render: function (data, type, row, meta) {
                    return meta.row + meta.settings._iDisplayStart + 1;
                }
            },
            { data: 'details', name: 'details', orderable:true, searchable: true},
            { data: 'assigned_to', name: 'assigned_to', orderable: false, searchable: false},
            { data: 'action', name: 'action', orderable: false, searchable: false, width:'100px', className:'text-center'},
        ],
        fnDrawCallback: function ( oSettings ) {
            $('[data-toggle="tooltip"]').tooltip();
            subjectTable.$("td").on("click", 'a#btn-delete', function() {
                var action = $(this).data('action');
                swal({
                    title: 'Are you sure you want to delete?',
                    text: "This will be permanently deleted.",
                    type: 'warning',
                    showCancelButton: true,
                    confirmButtonColor: '#3085d6',
                    cancelButtonColor: '#d33',
                    confirmButtonText: 'Yes'
                    }).then(function () {                    
                    $.ajax({
                        type: "DELETE",
                        url: action,
                        dataType: 'json',
                        success: function(data) {
                            if(data.type == "success") {
                                subjectTable.draw();
                                swal(data.message, '', 'success')
                           }else{
                                swal(data.message, '', 'error')
                           }
                        },
                        error :function( jqXhr ) {
                            swal('Unable to delete.', 'Please try again.', 'error')
                        }
                    });
                })
            });

        
        },
        "order": [[1, "desc"]],
    });
});
</script>
@include('Client::notify')
@stopPK�8]|f��#Client/Views/subject/edit.blade.phpnu�Iw��@extends('Client::layouts')
@section('page-body')

    <section class="content-header">
        <h1>
            <i class="fa fa-plus"></i> Edit {{$pageModuleName}}
        </h1>
        <ol class="breadcrumb">
            <li><a href="{{ route(config('modules.client').'.subject.index') }}"><i class="fa fa-{{$pageIcon ? $pageIcon : 'angle-double-right'}}"></i> {{$pageTitle}}</a></li>               
            <li class="active">Edit</li>            
        </ol>
    </section>

    <section class="content"> 
        @include('Client::message')
        {!! Form::model($subject, array('route' => [config('modules.client').'.subject.update', $subject->hashid] , 'class' => 'form-horizontal', 'method' => 'PUT', 'id' => 'subject-form')) !!}
        <div class="row">
            <div class="col-sm-12">
                <div class="box box-primary">
                    <div class="box-header">
                        <h3 class="box-title">@include('Client::all-fields-are-required')</h3>
                    </div>
                    <div class="box-body">
                       @include('Client::subject.includes.form')
                    </div>
                </div>
            </div>
        </div>
        <div class="row">
            <div class="col-sm-4 col-sm-offset-7">
                <button class="btn btn-flat btn-lg btn-block btn-warning save-btn" data-loading-text="<i class='fa fa-circle-o-notch fa-spin'></i> Saving..."><i class="fa fa-save"></i> Save Changes</button>
            </div>
        </div>
        {!! Form::close() !!}
        <br>
        @include('Client::logs')
    </section>
@stop
@section('page-css')
<style type="text/css">
    .form-group label{
        text-align: left !important;
    }
    /*.checkbox label, .radio label {
        min-height: 20px;
         padding-left: 0px !important; 
        margin-bottom: 0;
        font-weight: bold !important;
        cursor: pointer;
    }*/
</style>
@stop
@section('page-js')
@include('Client::subject.includes.js')

<script type="text/javascript">
    $(function(){
        //var principal = $('form#subject-form').find('select[name="principal_id"]');


      
       // var questionnaire = $('form#subject-form').find('select[name="template_id"]');

       /* $('#add-another-question-btn').on('click', function(){
            var btn_another = $(this);
            var btn = $('#add-question-btn');

            btn_another.parent().addClass('col-md-offset-4');

            btn.parent().removeClass('col-md-4').hide();
            btn_another.button("loading");

            if(!$('#question-form').valid()) {
                setTimeout(function(){
                    btn_another.parent().removeClass('col-md-offset-4');
                    
                    btn.parent().addClass('col-md-4').show();
                    btn_another.button("reset");
                }, '300');
                return false;
            }
        });

         $('#add-question-btn').on('click', function(){
            var btn_another = $(this);
            var btn = $('#add-another-question-btn');

            btn_another.parent().removeClass('col-md-offset-2').addClass('col-md-offset-4');
            
            btn.parent().removeClass('col-md-4').hide();
            btn_another.button("loading");

            if(!$('#question-form').valid()) {
                setTimeout(function(){
                    btn_another.parent().removeClass('col-md-offset-4').addClass('col-md-offset-2');
                    btn.parent().addClass('col-md-4').show();
                    btn_another.button("reset");
                }, '300');
                return false;
            }
        });*/
    });
</script>
@include('Client::notify')
@stopPK�8]d�LLClient/Views/no-data.blade.phpnu�Iw��@extends('Client::reports-layout')
@section('page-body')
    <!-- Content Header (Page header) -->
    <!-- Main content -->
    <section class="content"> 
        <div class="col-md-8" style="margin-top:50px; margin-left: 15%;">
            <div class="box box-danger">
                <div class="box-body">
                    <div class="col-md-12">
                        <center>
                        <h2><i class="fa fa-warning text-yellow"></i> Oops! No result found.</h2>
                          <p>
                            We could not find the logs you were looking for.
                            Try again using different filter.
                          </p>
                        </center>
                        <form class='search-form' style="width: 100%">
                            <div class='input-group' style="width: 100%;">
                                <div class="input-group-btn">
                                <center><button type="submit" name="submit" class="btn btn-danger btn-flat btn-sm" onclick="window.close();"><i class="fa fa-times"></i> Close</button></center>
                                </div>
                            </div>
                        </form>
                    </div>
                </div>
            </div>
        </div>
    </section>
@stop
@section('page-js')
@stopPK�8]�~��4Client/Views/questionnaire/template/action.blade.phpnu�Iw��<div class="btn-group dropup">
    <button type="button" class="btn btn-warning btn-sm dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
        Action <span class="caret"></span>
        <span class="sr-only">Toggle Dropdown</span>
    </button>
    <ul class="dropdown-menu dropdown-menu-right">
        @can('update', $permissions)
        <li><a href="{{ url(config('modules.client').'/questionnaire/'.$template->hashid.'/edit') }} "><i class="fa fa-pencil"></i> Edit Template</a></li>
        <li><a href="{{ url(config('modules.client').'/questionnaire/'.$template->hashid.'/copy') }} " id="copy-template"><i class="fa fa-copy"></i> Duplicate</a></li>
        @endcan
        @can('delete', $permissions)
        <li role="separator" class="divider"></li>
        <li><a href="#delete-{{ $template->hashid }} " id="btn-delete" data-action="{{ url(config('modules.client').'/questionnaire/'.$template->hashid) }}"><i class="fa fa-trash-o"></i> Delete</a></li>
        @endcan
        <li role="separator" class="divider"></li>
        @can('update', $permissions)
        <li><a href="{{ route(config('modules.client').'.questionnaire.question.create', $template->hashid) }}"><i class="fa fa-plus-circle"></i> Add Question</a></li>
        @endcan
        <li><a href="{{ route(config('modules.client').'.questionnaire.preview', $template->hashid) }}"><i class="fa fa-eye"></i> Preview</a></li>
    </ul>
</div>PK�8]�I���2Client/Views/questionnaire/template/form.blade.phpnu�Iw��<div class="form-group {{ $errors->has('title') ? ' has-error' : '' }}">
    <label class="control-label col-md-3">Title: <i class="required">*</i></label>
    <div class="col-md-9">
        {!! Form::text('title', null , ['class'=>'form-control', 'placeholder'=>'Questionnaire template title...', 'autocomplete'=>'off']) !!}
    </div>
</div>

<div class="form-group {{ $errors->has('description') ? ' has-error' : '' }}">
    <label class="control-label col-md-3">Description: <i class="required">*</i></label>
    <div class="col-md-9">
        {!! Form::textarea('description', null , ['class'=>'form-control wysihtml5', 'placeholder'=>'Questionnaire template short description here...', 'autocomplete'=>'off']) !!}
    </div>
</div>PK�8]Ӎ�``0Client/Views/questionnaire/template/js.blade.phpnu�Iw��<script src="http://maps.googleapis.com/maps/api/js?key=AIzaSyB4CBr0reSrrQ9EuBFxPVM_TzbuV3uBow4&libraries=places"></script>
<script type="text/javascript" src="{{ asset('vendor/jsvalidation/js/jsvalidation.js')}}"></script>
{!! JsValidator::formRequest('QxCMS\Modules\Client\Requests\Questionnaire\TemplateRequest', 'form#add-questionnaire-template-modal-form'); !!}
<script type="text/javascript">
    $.validator.setDefaults({ ignore: '' });
    $(function(){
        $('textarea[name="description"]').wysihtml5({
            toolbar: {
                "font-styles": true, // Font styling, e.g. h1, h2, etc.
                "emphasis": true, // Italics, bold, etc.
                "lists": false, // (Un)ordered lists, e.g. Bullets, Numbers.
                "html": false, // Button which allows you to edit the generated HTML.
                "link": false, // Button to insert a link.
                "image": false, // Button to insert an image.
                "color": false, // Button to change color of font
                "blockquote": false, // Blockquote
            }
        });
    });

    
</script>

PK�8]�HA5Client/Views/questionnaire/template/preview.blade.phpnu�Iw��@extends('Client::layouts')
@section('page-body')
    <!-- Content Header (Page header) -->
    <section class="content-header">
        <h1>
            <i class="fa fa-pencil"></i> Preview Questionnaire
        </h1>
        <ol class="breadcrumb">
            <li><a href="{{ route(config('modules.client').'.questionnaire.index') }}"><i class="fa fa-question-circle-o"></i> Questionnaire</a></li>            
            <li class="active">Edit</li>            
        </ol>
    </section>
    <!-- Main content -->
    <section class="content"> 
        @include('Client::message')
       
       
        <div class="row">
            <div class="col-sm-3">
                 @include('Client::questionnaire.nav', array('nav' => 'preview'))
            </div>
            <div class="col-sm-9">
                <div class="nav-tabs-custom">
                    <ul class="nav nav-tabs">
                      <li class="active"><a href="#web_view" data-toggle="tab"><i class="fa fa-globe"></i> Web View</a></li>
                      <li><a href="#mobile_view" data-toggle="tab"><i class="fa fa-mobile"></i> Mobile View</a></li>
                    </ul>
                    <div class="tab-content">
                        <div class="tab-pane active fade in" id="web_view">
                            @include('Client::questionnaire.template.includes.browser')
                        </div>
                        <div class="tab-pane" id="mobile_view">
                            @include('Client::questionnaire.template.includes.mobile')
                        </div>
                    </div>
                </div>
                <input type="text" name="loc_lat">
                <input type="text" name="loc_long">
            </div>
        </div>
       
        
    </section>
@stop
@section('page-css')
@include('Client::questionnaire.template.includes.css')
@stop
@section('page-js')
<script type="text/javascript" src="{{ get_template('plugins/survey-jquery/survey.jquery.min.js') }}"></script>
<script type="text/javascript">
Survey.Survey.cssType = "bootstrap";
var myCss = {
   // "root":'box box-primary',
    "header": "text-center",
    //"body": "box-body",
    "footer": "box-footer  text-center",
   /* "pageTitle":'box-title',*/
   "navigation": {
        "complete": "btn-success",
        "prev": "btn-primary",
        "next": "btn-warning"
    },
    "error": {
        "root": "",
        "icon": "glyphicon glyphicon-exclamation-sign",
        "item": "text-danger"
    },
    navigationButton: "btn btn-lg btn-flat"   
};

function loadSurvey(element)
{
    $.ajax({
        url: '/api/get-questionnaire',
        type: 'GET',
        data: {'template_id': '{{ $template->id }}'},
    })
    .done(function(response) {
        var survey = new Survey.Model(response);
        $("#" + element).Survey({
            model:survey,
            onComplete:sendDataToServer,
            css:myCss
        });
    })
    .fail(function() {
        console.log("error");
    })
    .always(function() {
        console.log("complete");
    });
    
}

loadSurvey('css-device--browser-container');
$('a[data-toggle="tab"').on('shown.bs.tab', function (e) {
    var active = $(e.target);
    var tab = active.attr('href');
    if(tab == '#mobile_view') loadSurvey('css-device--mobile-container');
    else  loadSurvey('css-device--browser-container');
    
})
function sendDataToServer(survey) {
    var resultAsString = JSON.stringify(survey.data);
    var pos = {
        loc_lat:$('input[name="loc_lat"]').val(),
        loc_long:$('input[name="loc_lat"]').val(),
    }
    $.ajax({
    url: '/api/save-participant',
        type: 'GET',
        data: {
            answers:survey.data,
            template_id: '{{ $template->id }}',
            pos:pos
        }
    })
    .done(function(response) {
        
    })
    .fail(function() {
        console.log("error");
    })
    .always(function() {
        console.log("complete");
    });
}


    function initMap() {

        if (navigator.geolocation) {
            navigator.geolocation.getCurrentPosition(function(position) {
                $('input[name="loc_lat"]').val(position.coords.latitude);
                $('input[name="loc_long"]').val(position.coords.longitude);
            });
        } 
    }

   initMap();
</script>



@include('Client::notify')
@stopPK�8]s�	�:Client/Views/questionnaire/template/includes/css.blade.phpnu�Iw��<style type="text/css">
  .box-header>.fa, .box-header>.glyphicon, .box-header>.ion, .box-header .box-title, .box-header h3 {
      display: inline-block;
      font-size: 18px;
      margin: 0;
      line-height: 1;
  }
</style>


<style type="text/css">
    /* =============================================================================
  COMMON STUFF FOR CSS DEVICES
============================================================================= */
.css-device {
  position: relative;
  margin: 0 auto;
  min-height: 500px;
}

.css-device__image {
  display: block;
  margin: 0;
  padding: 0;
  width: 100%;
  height: auto;
}

/* =============================================================================
  BROWSER
============================================================================= */
.css-device--browser {
  width: 100%;
  /* max-width: 100%; set max width here if you need to. */
  border-top: solid 36px #dfdfdf;
  border-right: solid 2px #dfdfdf;
  border-left: solid 2px #dfdfdf;
  border-bottom: solid 2px #dfdfdf;
  border-radius: 4px 4px 0 0;
}

.css-device--browser::before {
  display: block;
  position: absolute;
  top: -24px;
  left: 12px;
  width: 12px;
  height: 12px;
  background-color: #ff3366;
  border-radius: 12px;
  box-shadow: 0 0 0 0 #ff3366, 16px 0 0 0 #ffcc99, 32px 0 0 0 #33ff66;
  content: "";
}

.css-device--browser::after {
  display: block;
  overflow: hidden;
  position: absolute;
  top: -27px;
  right: 12px;
  padding: 0 4px;
  width: 180px;
  height: 18px;
  color: #b3b3b3;
  background-color: #fff;
  font-size: 12px;
  font-style: italic;
  line-height: 18px;
  border-radius: 2px;
  content: attr(data-url);
}

@media all and (min-width: 480px) {
  .css-device--browser {
    border-top: solid 48px #dfdfdf;
  }

  .css-device--browser::before {
    top: -30px;
    box-shadow: 0 0 0 0 #ff3366, 24px 0 0 0 #ffcc99, 48px 0 0 0 #33ff66;
  }

  .css-device--browser::after {
    top: -36px;
    right: 12px;
    padding: 0 8px;
    width: 240px;
    height: 24px;
    line-height: 24px;
  }
}
/* =============================================================================
  TABLET
============================================================================= */
.css-device--tablet {
  position: relative;
  width: 264px;
  border-top: solid 48px #ddd;
  border-left: solid 12px #ddd;
  border-right: solid 12px #ddd;
  border-bottom: solid 48px #ddd;
  border-radius: 12px;
}

.css-device--tablet::before {
  display: block;
  position: absolute;
  top: -26px;
  left: 50%;
  margin-left: -2px;
  width: 4px;
  height: 4px;
  background-color: #bbb;
  border-radius: 4px;
  content: "";
}

.css-device--tablet::after {
  display: block;
  position: absolute;
  bottom: -36px;
  left: 50%;
  margin-left: -12px;
  width: 24px;
  height: 24px;
  background-color: #bbb;
  border-radius: 12px;
  content: "";
}

@media all and (min-width: 720px) {
  .css-device--tablet {
    width: 396px;
    border-top: solid 72px #ddd;
    border-left: solid 18px #ddd;
    border-right: solid 18px #ddd;
    border-bottom: solid 72px #ddd;
    border-radius: 18px;
  }

  .css-device--tablet::before {
    top: -39px;
    margin-left: -3px;
    width: 6px;
    height: 6px;
    border-radius: 6px;
  }

  .css-device--tablet::after {
    bottom: -54px;
    margin-left: -18px;
    width: 36px;
    height: 36px;
    border-radius: 18px;
    content: "";
  }
}
/* =============================================================================
  MOBILE
============================================================================= */
.css-device--mobile {
  width: 184px;
  border-top: solid 24px #ddd;
  border-left: solid 12px #ddd;
  border-right: solid 12px #ddd;
  border-bottom: solid 48px #ddd;
  border-radius: 12px;
}

.css-device--mobile::before {
  display: block;
  position: absolute;
  top: 12px;
  left: -14px;
  width: 2px;
  height: 12px;
  background-color: #bbb;
  box-shadow: 0 0 0 0 #bbb, 0 24px 0 0 #bbb;
  border-radius: 2px 0 0 2px;
  content: "";
}

.css-device--mobile::after {
  display: block;
  position: absolute;
  bottom: -36px;
  left: 50%;
  margin-left: -12px;
  width: 24px;
  height: 24px;
  background-color: #bbb;
  border-radius: 12px;
  content: "";
}

@media all and (min-width: 720px) {
  .css-device--mobile {
    width: 276px;
    border-top: solid 36px #ddd;
    border-left: solid 18px #ddd;
    border-right: solid 18px #ddd;
    border-bottom: solid 72px #ddd;
    border-radius: 18px;
  }

  .css-device--mobile::before {
    top: 18px;
    left: -21px;
    width: 3px;
    height: 18px;
    background-color: #bbb;
    box-shadow: 0 0 0 0 #bbb, 0 36px 0 0 #bbb;
    border-radius: 3px 0 0 3px;
    content: "";
  }

  .css-device--mobile::after {
    bottom: -54px;
    margin-left: -18px;
    width: 36px;
    height: 36px;
    border-radius: 18px;
    content: "";
  }
}

</style>PK�8]�Y�11>Client/Views/questionnaire/template/includes/browser.blade.phpnu�Iw��<div class="component">
  <div class="css-device css-device--browser" data-url="http://">
        <div class="row" style="margin-top:60px;">
            <div class="col-md-8 col-md-offset-2">
                <div id="css-device--browser-container" ></div>
            </div>
        </div>
  </div>
</div>PK�8]}1  ��=Client/Views/questionnaire/template/includes/mobile.blade.phpnu�Iw��<div class="component">
  <div class="css-device css-device--mobile">
    <div class="row" style="margin-top:60px;">
        <div class="col-md-12">
            <div id="css-device--mobile-container"></div>
        </div>
    </div>
  </div>
</div>PK�8]!
��<<:Client/Views/questionnaire/template/create-modal.blade.phpnu�Iw��{!! Form::open(['route' => config('modules.client').'.questionnaire.store', 'method' => 'POST', 'class' => 'form-horizontal', 'id' => 'add-questionnaire-template-modal-form']) !!}
<div class="modal fade" id="add-questionnaire-template-modal" tabindex="-1" role="dialog" aria-labelledby="myAddQuestionnaireTemplateModal">
    <div class="modal-dialog" role="document">
        <div class="modal-content">
            <div class="modal-header">
                <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
                <h4 class="modal-title" id="myAddQuestionnaireTemplateModal"><i class="fa fa-plus"></i> Add Questionnaire Template</h4>
            </div>
            <div class="modal-body">
                @include('Client::questionnaire.template.form')
            </div>
            <div class="modal-footer">
                <button type="submit" class="btn btn-flat btn-primary"><i class="fa fa-save"></i> Save </button>
            </div>
        </div>
    </div>
</div>
{!! Form::close() !!}PK�8]�3�ܼ�3Client/Views/questionnaire/template/index.blade.phpnu�Iw��@extends('Client::layouts')
@section('page-body')
    <!-- Content Header (Page header) -->
    <section class="content-header">
        <h1>
            <i class="fa fa-{{$pageIcon ? $pageIcon : 'angle-double-right'}}" aria-hidden="true"></i> {{$pageTitle}}
            <br>
            <small>{{$pageDescription}}</small>
        </h1>
        <ol class="breadcrumb">
            <li class="active"><i class="fa fa-{{$pageIcon ? $pageIcon : 'angle-double-right'}}"></i> {{$pageTitle}}</li>           
        </ol>
    </section>
    <!-- Main content -->
    <section class="content"> 
        @include('Client::message')
        <div class="box box-default">
            <div class="box-header with-border">
                <h3 class="box-title">List of Questionnaire Template</h3>
                @can('create', $permissions)
                    <span class="pull-right">
                        <a href="#add-questionnaire-template-modal" data-toggle="modal" title="Add Questionnaire Template"><button class="btn btn-primary btn-flat"><i class="fa fa-plus-circle"></i> Add {{$pageModuleName}}</button></a>
                    </span>
                @endcan
            </div>
            <div class="box-body">
                <table class="table table-bordered table-striped table-hover" id="questionnaire-table" width="100%">
                    <thead>
                        <tr>
                            <th>#</th>
                            <th>Title</th>
                            <th>Created At</th>
                            <th>Action</th>
                        </tr>
                    </thead>
               </table>
            </div>                
        </div>
        @include('Client::logs')
    </section>
    @include('Client::questionnaire.template.create-modal')
@stop
@section('page-js')
@include('Client::questionnaire.template.js')
<script type="text/javascript">
$(function() {
    var questionnaireTable = $('#questionnaire-table').DataTable({
        processing: true,
        serverSide: true,
        "pagingType": "input",
        rowReorder: true,
        ajax: {
            url:'{!! url(config('modules.client').'/questionnaire/get-template-data') !!}',            
        },
        columns: [
            {
                width:'10px', searchable: false, orderable: false,
                render: function (data, type, row, meta) {
                    return meta.row + meta.settings._iDisplayStart + 1;
                }
            },
            { data: 'description', name: 'description', orderable: false, searchable: false},
            { data: 'created_at', name: 'created_at', width:'100px', className:'text-center'},
            { data: 'action', name: 'action', orderable: false, searchable: false, width:'100px', className:'text-center'},
        ],
        fnDrawCallback: function ( oSettings ) {
            $('[data-toggle="tooltip"]').tooltip();
            questionnaireTable.$("td").on("click", 'a#btn-delete', function() {
                var action = $(this).data('action');
                swal({
                    title: 'Are you sure you want to delete?',
                    text: "This will be permanently deleted.",
                    type: 'warning',
                    showCancelButton: true,
                    confirmButtonColor: '#3085d6',
                    cancelButtonColor: '#d33',
                    confirmButtonText: 'Yes'
                    }).then(function () {                    
                    $.ajax({
                        type: "DELETE",
                        url: action,
                        dataType: 'json',
                        success: function(data) {
                            if(data.type == "success") {
                                questionnaireTable.draw();
                                swal(data.message, '', 'success')
                           }else{
                                swal(data.message, '', 'error')
                           }
                        },
                        error :function( jqXhr ) {
                            swal('Unable to delete.', 'Please try again.', 'error')
                        }
                    });
                })
            });

            questionnaireTable.$("td").on("click", 'a#copy-template', function() {
                    var action = $(this).attr('href');
                    swal({
                        title: '',
                        text: "Are you sure you want to make a copy of this template?",
                        type: 'warning',
                        showCancelButton: true,
                        confirmButtonColor: '#3085d6',
                        cancelButtonColor: '#d33',
                        confirmButtonText: 'Yes'
                        }).then(function () {             
                            $.ajax({
                                type: "POST",
                                url: action,
                                dataType: 'json',
                                success: function(data) {
                                    questionnaireTable.draw();
                                },
                                error :function( jqXhr ) {
                                    swal('Unable to copy.', 'Please try again.', 'error')
                                }
                            });
                        });
                    return false;
                });
        },
        "order": [[2, "desc"]],
    });
});
</script>
@include('Client::notify')
@stopPK�8]����	�	2Client/Views/questionnaire/template/edit.blade.phpnu�Iw��@extends('Client::layouts')
@section('page-body')
    <!-- Content Header (Page header) -->
    <section class="content-header">
        <h1>
            <i class="fa fa-pencil"></i> Edit Questionnaire
        </h1>
        <ol class="breadcrumb">
            <li><a href="{{ route(config('modules.client').'.questionnaire.index') }}"><i class="fa fa-question-circle-o"></i> Questionnaire</a></li>            
            <li class="active">Edit</li>            
        </ol>
    </section>
    <!-- Main content -->
    <section class="content"> 
        @include('Client::message')
       
        {!! Form::model($template, array('route' => [config('modules.client').'.questionnaire.update', $template->hashid], 'class' => 'form-horizontal', 'method' => 'PUT', 'id' => 'questionnaire-template-form')) !!}
        <div class="row">
            <div class="col-sm-3">
                 @include('Client::questionnaire.nav', array('nav' => 'options'))
            </div>
            <div class="col-sm-9">
                <div class="box box-default">
                    <div class="box-header">
                        <h3 class="box-title">@include('Client::all-fields-are-required')</h3>
                    </div>
                    <div class="box-body">
                        @include('Client::questionnaire.template.form')
                    </div>
                </div>
            </div>
        </div>
        <div class="row">
            <div class="col-sm-offset-9 col-md-3">
                <button class="btn btn-flat btn-warning btn-lg btn-block" data-loading-text="<i class='fa fa-spin fa-circle-o-notch'></i> Saving.." id="template-save-btn"><i class="fa fa-save"></i> Save Changes</button>
            </div>
        </div>
        {!! Form::close() !!}
        <br>
        @include('Client::logs')
    </section>
    @include('Client::questionnaire.template.create-modal')
@stop
@section('page-js')
@include('Client::questionnaire.template.js')
{!! JsValidator::formRequest('QxCMS\Modules\Client\Requests\Questionnaire\TemplateRequest', 'form#questionnaire-template-form'); !!}
<script type="text/javascript">
    $(function(){
        $('#template-save-btn').on('click', function(){
            var btn = $(this);
            btn.button('loading');
            if(!$('#questionnaire-template-form').valid()){
                setTimeout(function(){
                    btn.button('reset');
                }, 500);
                return false;
            }
        });
    });
</script>
@include('Client::notify')
@stopPK�8]�G���4Client/Views/questionnaire/question/create.blade.phpnu�Iw��@extends('Client::layouts')
@section('page-body')

    <section class="content-header">
        <h1>
            <i class="fa fa-plus"></i> Add Question
        </h1>
        <ol class="breadcrumb">
            <li><a href="{{ route(config('modules.client').'.questionnaire.index') }}"><i class="fa fa-question-circle-o"></i> Questionnaire</a></li> 
            <li><a href="{{ route(config('modules.client').'.questionnaire.question.index', $template->hashid) }}">Question</a></li>              
            <li class="active">Add</li>            
        </ol>
    </section>

    <section class="content"> 
        @include('Client::message')
        {!! Form::open(array('route' => [config('modules.client').'.questionnaire.question.store', $template->hashid],'class' => 'form-horizontal', 'method' => 'POST', 'id' => 'question-form')) !!}
        <div class="row">
            <div class="col-sm-12">
                <div class="box box-default">
                    <div class="box-header">
                        <h3 class="box-title">@include('Client::all-fields-are-required')</h3>
                    </div>
                    <div class="box-body">
                       @include('Client::questionnaire.question.form')
                    </div>
                </div>
            </div>
        </div>
        <div class="row">
            <div class="col-md-4 col-md-offset-2">
                <button class="btn btn-flat btn-lg btn-block btn-primary" data-loading-text="<i class='fa fa-circle-o-notch fa-spin'></i> Saving..." name="_save" value="add" id="add-question-btn"><i class="fa fa-save"></i> Save New Question</button>
            </div>
            <div class="col-md-4">
                <button class="btn btn-flat btn-lg btn-block btn-default" data-loading-text="<i class='fa fa-circle-o-notch fa-spin'></i> Saving..." name="_save" value="add_another" id="add-another-question-btn"><i class="fa fa-save"></i> Save & Add New Question</button>
            </div>
        </div>
        {!! Form::close() !!}
    </section>
    @include('Client::questionnaire.template.create-modal')
@stop
@section('page-css')
<style type="text/css">
    .checkbox label, .radio label {
        min-height: 20px;
         padding-left: 0px !important; 
        margin-bottom: 0;
        font-weight: bold !important;
        cursor: pointer;
    }
</style>
@stop
@section('page-js')
@include('Client::questionnaire.template.js')
@include('Client::questionnaire.question.js')
<script type="text/javascript">
    $(function(){
        $('#add-another-question-btn').on('click', function(){
            var btn_another = $(this);
            var btn = $('#add-question-btn');

            btn_another.parent().addClass('col-md-offset-4');

            btn.parent().removeClass('col-md-4').hide();
            btn_another.button("loading");

            if(!$('#question-form').valid()) {
                setTimeout(function(){
                    btn_another.parent().removeClass('col-md-offset-4');
                    
                    btn.parent().addClass('col-md-4').show();
                    btn_another.button("reset");
                }, '300');
                return false;
            }
        });

         $('#add-question-btn').on('click', function(){
            var btn_another = $(this);
            var btn = $('#add-another-question-btn');

            btn_another.parent().removeClass('col-md-offset-2').addClass('col-md-offset-4');
            
            btn.parent().removeClass('col-md-4').hide();
            btn_another.button("loading");

            if(!$('#question-form').valid()) {
                setTimeout(function(){
                    btn_another.parent().removeClass('col-md-offset-4').addClass('col-md-offset-2');
                    btn.parent().addClass('col-md-4').show();
                    btn_another.button("reset");
                }, '300');
                return false;
            }
        });
    });
</script>
@include('Client::notify')
@stopPK�8]ۥK�`
`
2Client/Views/questionnaire/question/form.blade.phpnu�Iw��<div class="form-group">
    <label class="control-label col-sm-2">Title <i class="required">*</i></label>
    <div class="col-sm-10">
        {!! Form::text('title', null, ['class' => 'form-control ', 'placeholder' => 'Enter question title here.', 'data-focus' => 'true']) !!}
        {!! $errors->first('title', '<span class="text-red">:message</span>') !!}
    </div>
</div>

<div class="form-group">
    <div class="col-sm-offset-2 col-sm-9">
        <div class="checkbox">
            <label>
                {!! Form::checkbox('required', 1, null) !!} Required
            </label>

        </div>
    </div>
</div>

<div class="form-group">
    <label class="control-label col-sm-2">Question Type</label>
    <div class="col-sm-4">
        <div class="input-group" style="{{ (isset($question->question_type) && $question->question_type == '2') ? 'display: table;':'display:block;'  }}">
            {!! Form::select('question_type', $question_types, null , array('class' => 'form-control')) !!}
            <div class="input-group-btn multiple-choice-add-btn" style="{{ (isset($question->question_type) && $question->question_type == '2') ? 'display: table-cell;':'display:none;'  }}">
                <button class="btn btn-primary btn-flat" type="button" id="add-answer-btn"><i class="fa fa-plus"></i></button>
            </div>

        </div>
    </div>
</div>
<div class="multiple-choice" style="{{ (isset($question->question_type) && $question->question_type == '2') ? 'display: block;':'display:none;'  }}">
 
    <div class="choices">
        <div class="form-group">
            <label class="control-label col-sm-2">Choice 1. <i class="required">*</i></label>
            <div class="col-sm-10">
                <!-- <div class="input-group"> -->
                    <input type="text" name="name[{{ ((isset($question->answers[0])) ? $question->answers[0]->id:'new_1') }}]" value="{{ ((isset($question->answers[0])) ? $question->answers[0]->name:null) }}" class="form-control" placeholder="New Choice"/>
                <!-- </div> -->
            </div>
        </div>
        @if(isset($question->answers))
            @if(!empty($question->answers))

                @foreach($question->answers as $ans_key => $answer)
                    @if($ans_key <> 0)
                    <div class="form-group">
                        <label class="control-label col-sm-2">Choice {{ $ans_key + 1 }}. <i class="required">*</i></label>
                        <div class="col-sm-10">
                            <div class="input-group">
                                <input type="text" name="name[{{ $answer->id }}]" value="{{ $answer->name }}" class="form-control"/>
                                <div class="input-group-btn">
                                    <button class="btn btn-danger btn-flat" type="button" id="remove-answer-btn"><i class="fa fa-times"></i></button>
                                </div>
                            </div>
                        </div>
                    </div>
                    @endif
                @endforeach
            @endif
        @endif
    </div>
    <div class="form-group">
        <div class="col-sm-offset-2 col-sm-9">
            <div class="checkbox">
                <label>
                    {!! Form::checkbox('multiple_select', 1, null) !!} Select multiple
                </label>
            </div>
        </div>
    </div>
</div>PK�8]��4hh0Client/Views/questionnaire/question/js.blade.phpnu�Iw��<script type="text/javascript" src="{{ asset('vendor/jsvalidation/js/jsvalidation.js')}}"></script>
{!! JsValidator::formRequest('QxCMS\Modules\Client\Requests\Questionnaire\QuestionRequest', 'form#question-form'); !!}
<script type="text/javascript">
    $(function(){
        $('input').iCheck({
          checkboxClass: 'icheckbox_square-blue',
          radioClass: 'iradio_square-blue',
          increaseArea: '20%' // optional
        });

        $('body').on('click', 'button#add-answer-btn', function(e){
            var counter = $('form#question-form input[name^="name"]').length + 1;

            var limit = 10;
            if (counter > limit)  {
                  alert("You have reached the maximum limit of choices.");
                  return false
            }
            var new_input = "<div class=\"form-group\">";
                    new_input += "<label class=\"control-label col-sm-2\">Choice "+ counter +". <i class=\"required\">*</i></label>";
                    new_input += "<div class=\"col-sm-10\">";
                        new_input += "<div class=\"input-group\">"
                            new_input += "<input type=\"text\" name=\"name[new_"+counter+"]\" class=\"form-control\" placeholder=\"New Choice\">";
                            new_input += "<div class=\"input-group-btn\">";
                                new_input += "<button class=\"btn btn-flat btn-danger\" type=\"button\" id=\"remove-answer-btn\"><i class=\"fa fa-times\"></i></button>";           
                            new_input += "</div>";
                        new_input += "</div>";
                       /* new_input += "<div class=\"input-controls\">";
                            new_input += "<i class=\"remove-submit fa fa-times\"></i>";
                            new_input += "<i class=\"sort-submit fa fa-arrows-v\"></i>";
                        new_input += "</div>";*/
                    new_input += "</div>";
                new_input += "</div>";

            $('.choices').append(new_input);
      
            return false;  
            
        });

        $('body').on('click', 'button#remove-answer-btn', function(e){
            $(this).closest('.form-group').remove();
        });

        $('select[name="question_type"]').on('change', function(){
            var selected = $(this).val();
      
            if(selected=='2')
            {
                $('.multiple-choice').css({'display':'block'});
                $('.multiple-choice-add-btn').css({'display':'table-cell'});
                $('.multiple-choice-add-btn').closest('.input-group').css({'display':'table'});
            } else {
                $('.multiple-choice').css({'display':'none'});
                $('.multiple-choice-add-btn').closest('.input-group').css({'display':'block'});
                $('.multiple-choice-add-btn').css({'display':'none'});
            }
        });
    });
</script>PK�8]0֐n��3Client/Views/questionnaire/question/index.blade.phpnu�Iw��@extends('Client::layouts')
@section('page-body')
    <!-- Content Header (Page header) -->
    <section class="content-header">
        <h1>
            <i class="fa fa-question-circle-o"></i> Manage Questions
        </h1>
        <ol class="breadcrumb">
            <li><a href="{{ route(config('modules.client').'.questionnaire.index') }}"><i class="fa fa-question-circle-o"></i> Questionnaire</a></li>            
            <li class="active">Question</li>            
        </ol>
    </section>
    <!-- Main content -->
    <section class="content"> 

        @include('Client::message')
        
        <div class="row">
            <div class="col-sm-3">
                 @include('Client::questionnaire.nav', array('nav' => 'questions'))
            </div>
            <div class="col-sm-9">
                <div class="box box-default">
                    <div class="box-header">
                        <div class="page-header">
                            <h2>{{ $template->title }}</h2>
                        </div>
                        <h3 class="box-title">List of Questions</h3>
                        @can('create', $permissions)
                            <span class="pull-right">
                                <a href="{{ route(config('modules.client').'.questionnaire.question.create', $template->hashid) }}" data-toggle="modal" title="Add Question"><button class="btn btn-primary btn-flat"><i class="fa fa-plus-circle"></i> Add Question</button></a>
                            </span>
                        @endcan
                    </div>
                    <div class="box-body">
                       <table class="table table-bordered table-striped table-hover" id="question-table" width="100%">
                            <thead>
                                <tr>
                                    <th>#</th>
                                    <th>Title</th>
                                    <th>Question Type</th>
                                    <th>Action</th>
                                </tr>
                            </thead>
                       </table>
                    </div>
                </div>
                @include('Client::questionnaire.question.logs')
            </div>
        </div>
    </section>
    @include('Client::questionnaire.template.create-modal')
@stop
@section('page-js')
@include('Client::questionnaire.template.js')
<script type="text/javascript">
    $(function() {
        var questionTable = $('#question-table').DataTable({
            dom:"<'row'<'col-sm-6'l><'col-sm-6'f>>" +
            "<'row'<'col-sm-12'tr>>" +
            "<'row'<'col-sm-5'i><'col-sm-7'p>>",
            processing: true,
            serverSide: true,
            "pagingType": "input",
            rowReorder: true,
            filter:false,
            paging:false,
            scrollY: 200,
            scrollCollapse: true,
            ajax: {
                url:"{!! url(config('modules.client').'/questionnaire/'.$template->hashid.'/get-question-data') !!}",            
            },
            columns: [
                {
                    width:'10px', searchable: false, orderable: false,
                    render: function (data, type, row, meta) {
                        var no = meta.row + meta.settings._iDisplayStart + 1;
                        return 'Q.' + no.toString();
                    }
                },
                { data: 'title', name: 'title', orderable:false, searchable:false},
                { data: 'question_type_name', name: 'question_type', orderable:false,width:'100px',  searchable:false},
                { data: 'action', name: 'action', orderable: false, searchable: false, width:'100px', className:'text-center'},
            ],
            fnDrawCallback: function ( oSettings ) {
                $('[data-toggle="tooltip"]').tooltip();
                @can('update', $permissions)
                $('#question-table').tableDnD({
                    onDrop: function(table, row) {
                        $.post("{!! route(config('modules.client').'.questionnaire.question.sort', $template->hashid) !!}?", $.tableDnD.serialize(),function(data, status){
                            questionTable.draw(false);
                        });
                    }
                });
                @endcan
                questionTable.$("td").on("click", 'a#copy-question', function() {
                    var action = $(this).attr('href');
                    swal({
                        title: '',
                        text: "Are you sure you want to make a copy of this question?",
                        type: 'warning',
                        showCancelButton: true,
                        confirmButtonColor: '#3085d6',
                        cancelButtonColor: '#d33',
                        confirmButtonText: 'Yes'
                        }).then(function () {             
                            $.ajax({
                                type: "POST",
                                url: action,
                                dataType: 'json',
                                success: function(data) {
                                    questionTable.draw();
                                },
                                error :function( jqXhr ) {
                                    swal('Unable to copy.', 'Please try again.', 'error')
                                }
                            });
                        });
                    return false;
                });
                questionTable.$("td").on("click", 'a#btn-delete', function() {
                    var action = $(this).data('action');
                    swal({
                        title: 'Are you sure you want to delete?',
                        text: "This question and its answers will be permanently deleted.",
                        type: 'warning',
                        showCancelButton: true,
                        confirmButtonColor: '#3085d6',
                        cancelButtonColor: '#d33',
                        confirmButtonText: 'Yes'
                        }).then(function () {                    
                        $.ajax({
                            type: "DELETE",
                            url: action,
                            dataType: 'json',
                            success: function(data) {
                                if(data.type == "success") {
                                    questionTable.draw();
                                    swal(data.message, '', 'success')
                               }else{
                                    swal(data.message, '', 'error')
                               }
                            },
                            error :function( jqXhr ) {
                                swal('Unable to delete.', 'Please try again.', 'error')
                            }
                        });
                    })
                });
            },
            "order": [],
        });
    });
</script>
</script>
@include('Client::notify')
@stopPK�8]����2Client/Views/questionnaire/question/edit.blade.phpnu�Iw��@extends('Client::layouts')
@section('page-body')

    <section class="content-header">
        <h1>
            <i class="fa fa-pencil"></i> Edit Question
        </h1>
        <ol class="breadcrumb">
            <li><a href="{{ route(config('modules.client').'.questionnaire.index') }}"><i class="fa fa-question-circle-o"></i> Questionnaire</a></li> 
            <li><a href="{{ route(config('modules.client').'.questionnaire.question.index', $template->hashid) }}">Question</a></li>              
            <li class="active">Edit</li>            
        </ol>
    </section>

    <section class="content">
        @include('Client::message')
        {!! Form::model($question,array('route' => [config('modules.client').'.questionnaire.question.update', $template->hashid, $question->hashid],'class' => 'form-horizontal', 'method' => 'PUT', 'id' => 'question-form')) !!}
        <div class="row">
            <div class="col-sm-12">
                <div class="box box-default">
                    <div class="box-header">
                        <h3 class="box-title">@include('Client::all-fields-are-required')</h3>
                    </div>
                    <div class="box-body">
                        @include('Client::questionnaire.question.form')
                    </div>
                </div>
            </div>
        </div>
        <div class="row">
            <div class="col-md-4 col-md-offset-2">
                <a href="{{ route(config('modules.client').'.questionnaire.question.index', $template->hashid) }}" class="btn btn-flat btn-default btn-block btn-lg" id="cancel-question-btn"><i class="fa fa-chevron-left"></i> Cancel</a>
            </div>
            <div class="col-md-4">
                <button class="btn btn-flat btn-warning btn-block btn-lg" data-loading-text="<i class='fa fa-circle-o-notch fa-spin'></i> Saving..." id="add-question-btn"><i class="fa fa-save"></i> Save Changes</button>
            </div>
        </div>
        {!! Form::close() !!}
        <br>
        @include('Client::logs')
    </section>
    @include('Client::questionnaire.template.create-modal')
@stop
@section('page-css')
<style type="text/css">
    .checkbox label, .radio label {
        min-height: 20px;
         padding-left: 0px !important; 
        margin-bottom: 0;
        font-weight: bold !important;
        cursor: pointer;
    }
</style>
@stop
@section('page-js')
@include('Client::questionnaire.template.js')
@include('Client::questionnaire.question.js')
<script type="text/javascript">
    $(function(){

         $('#add-question-btn').on('click', function(){
            var btn = $(this);
            var btn_cancel = $('#cancel-question-btn');

        
            btn_cancel.parent().removeClass('col-md-offset-2');
            btn_cancel.hide();
            btn.button("loading");

            if(!$('#question-form').valid()) {
                setTimeout(function(){
                    btn_cancel.parent().addClass('col-md-offset-2');
                    btn_cancel.show();
                    btn.button("reset");
                }, '300');
                return false;
            }
        });
    });
</script>
@include('Client::notify')
@stopPK�8]h��2Client/Views/questionnaire/results/index.blade.phpnu�Iw��@extends('Client::layouts')
@section('page-body')
    <!-- Content Header (Page header) -->
    <section class="content-header">
        <h1>
            <i class="fa fa-pencil"></i> Preview Questionnaire
        </h1>
        <ol class="breadcrumb">
            <li><a href="{{ route(config('modules.client').'.questionnaire.index') }}"><i class="fa fa-question-circle-o"></i> Questionnaire</a></li>            
            <li class="active">Edit</li>            
        </ol>
    </section>
    <!-- Main content -->
    <section class="content"> 
        @include('Client::message')
       
       
        <div class="row">
            <div class="col-sm-3">
                 @include('Client::questionnaire.nav', array('nav' => 'result'))
            </div>
            <div class="col-sm-9">
                <div class="nav-tabs-custom">
                    <ul class="nav nav-tabs">
                      <li class="active"><a href="#web_view" data-toggle="tab"><i class="fa fa-question-circle"></i> Questions</a></li>
                      <li><a href="#mobile_view" data-toggle="tab"><i class="fa fa-users"></i> Participants</a></li>
                    </ul>
                    <div class="tab-content">
                        <div class="tab-pane active fade in" id="web_view">
                            @include('Client::questionnaire.template.includes.browser')
                        </div>
                        <div class="tab-pane" id="mobile_view">
                            @include('Client::questionnaire.template.includes.mobile')
                        </div>
                    </div>
                </div>

            </div>
        </div>
       
        
    </section>
@stop
@section('page-css')
@stop
@section('page-js')
</script>

@include('Client::notify')
@stopPK�8]$\*..(Client/Views/questionnaire/nav.blade.phpnu�Iw��
<div class="nav-holder">
    <ul class="nav nav-pills nav-stacked " style="background-color:#fff;">
        <li role="presentation" class="{{ ((isset($nav) && $nav == 'options') ? 'active':'') }}"><a href="{{ route(config('modules.client').'.questionnaire.edit', $template->hashid) }}"><i class="fa fa-cogs"></i> Update</a></li>
        <li role="presentation" class="{{ ((isset($nav) && $nav == 'questions') ? 'active':'') }}"><a href="{{ route(config('modules.client').'.questionnaire.question.index', $template->hashid) }}"><i class="fa fa-question-circle"></i> Questions</a></li>
        <li role="presentation" class="{{ ((isset($nav) && $nav == 'preview') ? 'active':'') }}"><a href="{{ route(config('modules.client').'.questionnaire.preview', $template->hashid) }}"><i class="fa fa-eye"></i> Preview</a></li>
        <li role="presentation" class="{{ ((isset($nav) && $nav == 'results') ? 'active':'') }}"><a href="{{ route(config('modules.client').'.questionnaire.result', $template->hashid) }}"><i class="fa fa-bar-chart"></i> Results</a></li>
    </ul>
</div>PK�8]6)6e��-Client/Views/directory-store/create.blade.phpnu�Iw��@extends('Client::layouts')
@section('page-body')

    <section class="content-header">
        <h1>
            <i class="fa fa-plus"></i> Add {{$pageModuleName}}
        </h1>
        <ol class="breadcrumb">
            <li><a href="{{ route(config('modules.client').'.directory.index') }}"><i class="fa fa-{{$pageIcon ? $pageIcon : 'angle-double-right'}}"></i> {{$pageTitle}}</a></li>             
            <li class="active">Add</li>           
        </ol>
    </section>

    <section class="content"> 
        @include('Client::message')
        {!! Form::open(array('url'=>url(config('modules.client').'/directory-store/store'), 'class' => 'form-horizontal', 'method' => 'POST', 'id' => 'directory-form')) !!}
        <div class="row">
            <div class="col-sm-12">
                <div class="box box-primary">
                    <div class="box-header">
                        <h3 class="box-title">@include('Client::all-fields-are-required')</h3>
                    </div>
                    <div class="box-body">
                       @include('Client::directory-store.includes.form')
                    </div>
                </div>
            </div>
        </div>
        <div class="row">
            <div class="col-md-4 col-md-offset-7">
                <button class="btn btn-flat btn-lg btn-block btn-primary save-btn" data-loading-text="<i class='fa fa-circle-o-notch fa-spin'></i> Saving..." ><i class="fa fa-save"></i> Save</button>
            </div>
        </div>
        {!! Form::close() !!}
    </section>
    @include('Client::directory-store.includes.modal-affiliate')
    @include('Client::directory-store.includes.modal-specialization')
@stop
@section('page-js')
@include('Client::directory-store.includes.js')
@include('Client::directory-store.includes.gmaps')
@include('Client::directory-store.includes.js-modal-affiliates')
@include('Client::directory-store.includes.js-modal-specializations')
@include('Client::notify')
@stopPK�8]3/F&F&4Client/Views/directory-store/includes/form.blade.phpnu�Iw��<input type="hidden" name="_token" value="{{ csrf_token() }}">
    <div class="row">
        <div class="col-md-7">
            <div class="col-md-12">
                <div class="form-group {{ ($errors->has('category') ? 'has-error':'') }}">
                    <label class="control-label col-md-3">Category: <i class="required">*</i></label>
                    <div class="col-md-9">
                        {!! Form::select('category', ['Directory' => 'Directory', 'Store' => 'Store'], null ,['class'=>'input-md form-control', 'id'=>'category']) !!}
                        {!! $errors->first('category', '<span class="text-red">:message</span>') !!}
                    </div>
                </div>
                <div class="form-group {{ ($errors->has('affiliate_id') ? 'has-error':'') }}" id="affiliate">
                    <label class="control-label col-md-3">Affiliate: <i class="required">*</i></label>
                    <div class="col-md-9">
                        <div class="input-group">
                           {!! Form::select('affiliate_id', ['' => '-- Select Affiliate'] + $affiliates , null ,  ['id'=>'selectAffiliate', 'class'=>'form-control']) !!}
                           <span class="input-group-btn">
                                <button class="btn btn-primary btn-flat" type="button" data-toggle="tooltip" title="Add Affiliate" style="cursor:pointer" onclick="doModalAddAffiliate();"><i class="fa fa-plus-circle"></i></button>
                                {!! $errors->first('affiliate_id', '<span class="text-red">:message</span>') !!}
                           </span>
                        </div>
                    </div>
                </div>
                <div class="form-group {{ ($errors->has('specialization_id') ? 'has-error':'') }}" id="specialization">
                    <label class="control-label col-md-3">Specialization:</label>
                    <div class="col-md-9">
                        <div class="input-group">
                           {!! Form::select('specialization_id', ['0' => '-- Select Specialization'] + $specializations , null ,  ['id'=>'selectSpecialization', 'class'=>'form-control']) !!}
                           <span class="input-group-btn">
                                <button class="btn btn-primary btn-flat" type="button" data-toggle="tooltip" title="Add Specialization" style="cursor:pointer" onclick="doModalAddSpecialization();"><i class="fa fa-plus-circle"></i></button>
                                {!! $errors->first('specialization_id', '<span class="text-red">:message</span>') !!}
                           </span>
                        </div>
                    </div>
                </div>
                <div class="form-group {{ ($errors->has('name') ? 'has-error':'') }}">
                    <label class="control-label col-md-3" id="nameLabel">Directory Name: <i class="required">*</i></label>
                    <div class="col-md-9">
                        {!! Form::text('name', null , ['class'=>'form-control', 'placeholder'=>'Enter Directory Name', 'autocomplete'=>'off', 'id'=>'name']) !!}
                        {!! $errors->first('name', '<span class="text-red">:message</span>') !!}
                    </div>
                </div>
                <div class="form-group {{ ($errors->has('tel_no') ? 'has-error':'') }}">
                    <label class="control-label col-md-3">Telephone no.: <i class="required">*</i></label>
                    <div class="col-md-9">
                        {!! Form::text('tel_no', null , ['class'=>'form-control', 'placeholder'=>'Enter telephone number', 'autocomplete'=>'off']) !!}
                        {!! $errors->first('tel_no', '<span class="text-red">:message</span>') !!}
                    </div>
                </div>
                <div class="form-group {{ ($errors->has('email') ? 'has-error':'') }}" id="email">
                    <label class="control-label col-md-3">Email:</label>
                    <div class="col-md-9">
                        {!! Form::email('email', null , ['class'=>'form-control', 'placeholder'=>'Enter Email Address', 'autocomplete'=>'off']) !!}
                        {!! $errors->first('email', '<span class="text-red">:message</span>') !!}
                    </div>
                </div>
                <div class="form-group">
                    <label class="control-label col-md-3" id="address">Address: <i class="required">*</i></label>
                    <div class="col-md-9">
                        {!! Form::text('address_number', null , ['class'=>'form-control', 'placeholder'=>'Address #', 'autocomplete'=>'off']) !!}
                    </div>
                </div>
                <div class="form-group">
                <div class="col-md-3"></div>
                    <div class="col-md-4">
                        {!! Form::text('street', null , ['class'=>'form-control', 'placeholder'=>'Street', 'autocomplete'=>'off']) !!}
                        {!! $errors->first('street', '<span class="text-red">:message</span>') !!}
                    </div>
                    <div class="col-md-4">
                        {!! Form::text('barangay', null , ['class'=>'form-control', 'placeholder'=>'Barangay', 'autocomplete'=>'off']) !!}
                        {!! $errors->first('barangay', '<span class="text-red">:message</span>') !!}
                    </div>
                </div>
                <div class="form-group {{ ($errors->has('city_id') ? 'has-error':'') }}">
                    <label class="control-label col-md-3">City:</label>
                    <div class="col-md-9">
                        {!! Form::select('city_id', ['0' => '-- Select City'] + $cities , null ,  ['class'=>'form-control']) !!}
                        {!! $errors->first('city_id', '<span class="text-red">:message</span>') !!}
                    </div>
                </div>
                <div class="form-group {{ ($errors->has('municipality_id') ? 'has-error':'') }}">
                    <label class="control-label col-md-3">Municipality:</label>
                    <div class="col-md-9">
                        {!! Form::select('municipality_id', ['0' => '-- Select Municipality'] + $municipalities , null ,  ['class'=>'form-control']) !!}
                        {!! $errors->first('municipality_id', '<span class="text-red">:message</span>') !!}
                    </div>
                </div>
                <div class="form-group {{ ($errors->has('province_id') ? 'has-error':'') }}">
                    <label class="control-label col-md-3" id="province">Province: <i class="required">*</i></label>
                    <div class="col-md-9">
                        {!! Form::select('province_id', ['' => '-- Select Province'] + $provinces , null ,  ['class'=>'form-control']) !!}
                        {!! $errors->first('province_id', '<span class="text-red">:message</span>') !!}
                    </div>
                </div>
                <div class="form-group {{ ($errors->has('zip_code') ? 'has-error':'') }}">
                    <label class="control-label col-md-3">Zip Code:</label>
                    <div class="col-md-9">
                        {!! Form::text('zip_code', null , ['class'=>'form-control', 'autocomplete'=>'off']) !!}
                        {!! $errors->first('zip_code', '<span class="text-red">:message</span>') !!}
                    </div>
                </div>
                <div class="form-group {{ $errors->has('details') ? ' has-error' : '' }}">
                    <label class="control-label col-md-3" id="details">Details: <i class="required">*</i></label>
                    <div class="col-md-9">
                        {!! Form::textarea('details', null , ['class'=>'form-control wysihtml5', 'placeholder'=>'Details here...', 'autocomplete'=>'off']) !!}
                        {!! $errors->first('details', '<span class="text-red">:message</span>') !!}
                    </div>
                </div>
            </div>
        </div>
        <div class="col-md-5">
            <div class="col-md-12">
                <div class="panel panel-default">
                    <div class="panel-heading">Location</div>
                    <div class="panel-body">
                        <div class="form-group">
                            <input id="search" type="text" placeholder="Search.." style="width: 150px; height: 30px; margin-top: 10px;">
                            <div id="map" style="width: 100%; height: 250px;"></div>
                        </div>
                        <div class="form-group {{ ($errors->has('lat') ? 'has-error':'') }}">
                            <label class="control-label col-md-4">Latitude: <i class="required">*</i></label>
                            <div class="col-md-8">
                                {!! Form::text('lat', null , ['class'=>'form-control', 'id'=>'lat', 'autocomplete'=>'off']) !!}
                                {!! $errors->first('lat', '<span class="text-red">:message</span>') !!}
                            </div>
                        </div>
                        <div class="form-group {{ ($errors->has('lng') ? 'has-error':'') }}">
                            <label class="control-label col-md-4">Longitude: <i class="required">*</i></label>
                            <div class="col-md-8">
                                {!! Form::text('lng', null , ['class'=>'form-control', 'id'=>'lng', 'autocomplete'=>'off']) !!}
                                {!! $errors->first('lng', '<span class="text-red">:message</span>') !!}
                            </div>
                        </div>
                    </div>
                </div>
            </div>
        </div>
    </div>PK�8]������CClient/Views/directory-store/includes/js-modal-affiliates.blade.phpnu�Iw��<!-- Affiliate js -->
<script type="text/javascript">
var affiliate_datatable;
$( document ).ready( function() {

	$('#addbutton_affiliate').click( function() {
        var name = $('#affiliate_name').val();
		if(name=='') {
			swal("Error!", "Name is required!", "error");
			$('#affiliate_name').focus();
			return false;
		} else {
			$("#hide_onclick_modal").hide();
			$("#show_onclick_modal").show();
			$.ajax({
	        	type: "post",
	          	url: "{{URL::Route('storeAffiliates')}}",
	          	data: {
	            	name: $("#affiliate_name").val()
	          	},
	          	success: function(result) {	    
	          		var table = $('#affiliateTable').DataTable();   
	          		table.ajax.reload(); 	          		   
	          		$("#hide_onclick_modal").show();
					$("#show_onclick_modal").hide();
	            	$('#selectAffiliate').append($('<option>', {
		                value: result.id,
		                text: result.name,
		                selected: true
		            }));
	            	$('#affiliateModal').modal('hide');	            
	          	},
	          	error :function( xhr ) {
	                if( xhr.status === 422 ) {
	                    var errors = JSON.parse(xhr.responseText);
	                    alert(errors['name'][0]);	                    
	                } else {
	                	swal("Error!", "Error occured please try again.", "error");
	                }
	                $("#hide_onclick_modal").show();
					$("#show_onclick_modal").hide();
	            }
	        });
		}
    }); 

});
function initializeAffiliate()
{
		affiliate_datatable = 1;
		table = $('#affiliateTable').DataTable({
        "processing": true,
        "serverSide": true,
        ajax: {
            url:'{{URL::Route("getAffiliatesData")}}', 
            type: 'POST',
        },
		"bAutoWidth": false,
		"iDisplayLength": 10,
		columns: [
			{data: 'name', name: 'name', className:'editable'},
			{data: 'action', name: 'action', orderable:false, searchable:false, width:'60px', className:'text-center'},
		],
		fnDrawCallback: function ( oSettings ) {
			$('#affiliateTable tbody td.editable').editable('/client/modals/affiliates/update', {
                callback: function( sValue, y ) {
		           table.draw();
				},
				onsubmit: function(settings, original) {
		            if ((original.revert == $('input',this).val()) || $('input',this).val() == "") {
		            	original.reset();
		            	$(original).parents('tr').find('td.hide_me').show();
		            	return false;
		        	}
				},
				submitdata: function (value, settings) {
	            	var id = $(this).parents('tr').find('a.btn-edit').data('id');
			        return {
			              'id':id
			        };
				},
				onerror:  function(settings, original, xhr) {
	                if( xhr.status === 422 ) {
	                      var errors = JSON.parse(xhr.responseText);
	                      alert(errors['name'][0]);
	                      original.reset(); 
	                      $(original).parents('tr').find('td.hide_me').show();
	                } else {
	                    swal("Error!", "Error occured please try again.", "error");
	                }
		        },
				onblur:'submit',
				event:'custom_event',
				height:"30px",
				width:'100%',
				name : 'name'
			});

			$("#affiliateTable tbody td").on("click", 'a.btn-edit', function() {
  				$(this).parents('tr').find('td.editable').trigger("custom_event");
  				$(this).parent('td').addClass('hide_me').hide();
			});

			$("#affiliateTable tbody td").on("click", 'a.btn-delete', function() {
				var action = $(this).data('action');
				swal({
                    title: 'Are you sure you want to delete?',
                    text: "This will be permanently deleted",
                    type: 'warning',
                    showCancelButton: true,
                    confirmButtonColor: '#3085d6',
                    cancelButtonColor: '#d33',
                    confirmButtonText: 'Yes'
                    }).then(function () {                    
                    $.ajax({
                        type: "GET",
                        url: action,
                        dataType: 'json',
                        success: function(data) {
                           if(data.success == "yes") {
                                table.draw();
                                swal("Deleted!", "Affiliate successfuly deleted!", "success");
                                $("#selectAffiliate option[value='"+data.id+"']").remove();
                           }else{
                                swal("Error!", "Cannot delete it is being used in database.", "error");
                           }
                        },
                        error :function( jqXhr ) {
                            swal('Unable to delete.', 'Please try again.', 'error')
                        }
                    });
                })  
			});
		}
	});

	$('#affiliate_name').val('');
    $('#affiliateModal').modal({'backdrop':'static'});
}

function doModalAddAffiliate()
{	
	if(affiliate_datatable != 1) {
		initializeAffiliate();
	}
	else {
		$('#affiliate_name').val('');
    	$('#affiliateModal').modal({'backdrop':'static'});
	}
}
</script>
<!-- End of Affiliate js -->PK�8]�N��5Client/Views/directory-store/includes/gmaps.blade.phpnu�Iw��<script src="http://maps.googleapis.com/maps/api/js?key=AIzaSyB4CBr0reSrrQ9EuBFxPVM_TzbuV3uBow4&libraries=places"></script>
<script>
function initMap(pos) {
	var LatLng = new google.maps.LatLng(pos.lat, pos.lng);
  	map = new google.maps.Map(document.getElementById('map'), {
	    center: LatLng,
	    zoom: 14,
	    mapTypeId: google.maps.MapTypeId.ROADMAP
  	});

  	marker = new google.maps.Marker({
	    position: LatLng,
	    map: map,
	    title: 'Your Location!',
	    draggable:true
  	});

	var input = document.getElementById('search');
  	var searchBox = new google.maps.places.SearchBox(input);
  	map.controls[google.maps.ControlPosition.TOP_LEFT].push(input);

  	// Bias the SearchBox results towards current map's viewport.
  	map.addListener('bounds_changed', function() {
    	searchBox.setBounds(map.getBounds());
  	});

	searchBox.addListener('places_changed', function() {
	    var places = searchBox.getPlaces();

	    if (places.length == 0) {
	      return;
	    }
	    marker.setMap(null);
	  	marker = new google.maps.Marker({
		    position: places[0].geometry.location,
		    map: map,
		    title: 'Store Location!',
		    draggable:true
	  	});
	  	$("#lat").val(marker.getPosition().lat());
        $("#lng").val(marker.getPosition().lng());


	  	map.setCenter(places[0].geometry.location);
  		google.maps.event.addListener(marker, 'dragend', function () {
            $("#lat").val(marker.getPosition().lat());
            $("#lng").val(marker.getPosition().lng());
        });
  	});

  	google.maps.event.addListener(marker, 'dragend', function () {
        $("#lat").val(marker.getPosition().lat());
        $("#lng").val(marker.getPosition().lng());
    });

}

if ($('#map').length)
{
	if ($("input[name=lat").val() && $("input[name=lng").val())
	{
		var lat = $("input[name=lat").val();
		var lng = $("input[name=lng").val();
		var pos = {
	        lat: lat,
	        lng: lng
	    };
      	initMap(pos);
	}
	else {
		var pos = {
        lat: 14.624520,
        lng: 121.055754
      };

      initMap(pos);
	}
}
</script>PK�8]l�2Client/Views/directory-store/includes/js.blade.phpnu�Iw��<script type="text/javascript" src="{{ asset('vendor/jsvalidation/js/jsvalidation.js')}}"></script>
{!! JsValidator::formRequest('QxCMS\Modules\Client\Requests\Directory\DirectoryRequest', 'form#directory-form'); !!}
<script type="text/javascript">
    $.validator.setDefaults({ ignore: '' });
    $(function(){
        $('textarea[name="details"]').wysihtml5({
            toolbar: {
                "font-styles": true, // Font styling, e.g. h1, h2, etc.
                "emphasis": false, // Italics, bold, etc.
                "lists": true, // (Un)ordered lists, e.g. Bullets, Numbers.
                "html": false, // Button which allows you to edit the generated HTML.
                "link": false, // Button to insert a link.
                "image": false, // Button to insert an image.
                "color": false, // Button to change color of font
                "blockquote": false, // Blockquote
            }
        });
    });
</script>
<script>
$(document).ready(function() {
    $('#affiliate').show();
    $('#specialization').show();

    var category = $( "#category option:selected" ).val();

    if(category == 'Store'){
            $('#selectAffiliate').val(0);
            $('#affiliate').hide();
            $('#specialization').hide();
            $('#nameLabel').html('Store Name: <i class="required">*</i>');
            $('#details').html('Details:');
            $('#address').html('Address:');
            $('#province').html('Province:');
            $('#title').text(' Edit Store');
            $('#name').attr("placeholder", "Enter Store Name");
        }else{
            $('#affiliate').show();
            $('#specialization').show();
            $('#title').text(' Edit Directory');
            $('#details').html('Details: <i class="required">*</i>');
            $('#address').html('Address: <i class="required">*</i>');
            $('#province').html('Province: <i class="required">*</i>');
            $('#nameLabel').html('Directory Name: <i class="required">*</i>');
            $('#name').attr("placeholder", "Enter Directory Name");
        }

    $('#category').change(function(){
        var value = $(this).val();

        if(value == 'Store'){
            $('#selectAffiliate').val(0);
            $('#affiliate').hide();
            $('#specialization').hide();
            $('#details').html('Details:');
            $('#address').html('Address:');
            $('#province').html('Province:');
            $('#nameLabel').html('Store Name: <i class="required">*</i>');
            $('#name').attr("placeholder", "Enter Store Name");
        }else{
            $('#affiliate').show();
            $('#specialization').show();
            $('#details').html('Details: <i class="required">*</i>');
            $('#address').html('Address: <i class="required">*</i>');
            $('#province').html('Province: <i class="required">*</i>');
            $('#nameLabel').html('Directory Name: <i class="required">*</i>');
            $('#name').attr("placeholder", "Enter Directory Name");
        }
    });
});
</script>PK�8]���y��DClient/Views/directory-store/includes/modal-specialization.blade.phpnu�Iw��<!-- Modal for Adding Specialization -->
<div class="modal fade bs-example-modal-md" id="specializationModal" tabindex="-1" role="dialog" aria-labelledby="mySmallModalLabel">
    <div class="modal-dialog modal-md">
        <div class="modal-content">
            <div class="modal-header">
                <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
                <h4 class="modal-title" id="myModalLabel">Add New Specialization</h4>
            </div>
            <div class="modal-body form-horizontal">
                <div class="form-group form-group-sm">
                    <label for="inputEmail3" class="col-sm-3 control-label">Specialization Name</label>
                    <div class="col-sm-9">
                        {!! Form::text('name', null, ['class'=>'form-control', 'id'=>'specialization_name', 'autocomplete'=>'off']) !!}
                    </div>
                </div>
                <div class="form-group">
                    <div class="col-sm-offset-3 col-sm-9">
                        <div id="hide_onclick_modal">
                            <button type="button" class="btn btn-primary btn-sm" id="addbutton_specialization">Add Specialization</button>
                            <button type="button" class="btn btn-default btn-sm" data-dismiss="modal">Close</button>
                        </div>
                        <div id="show_onclick_modal" style="display:none">
                            <button class="btn btn-sm btn-primary"><span class="fa fa-refresh fa-spin"></span> Loading ...</button>
                        </div>
                    </div>
                </div>
                <hr>
                <table class="table table-bordered table-striped table-hover" id="specializationTable" width="100%">
                <thead>
                <tr>
                    <th>Name</th>
                    <th>Action</th>
                </tr>
                </thead>
                <tbody>            
                </tbody>
                </table>
            </div>
        </div>
    </div>
</div>
<!-- Modal for Adding SpecializationPK�8]���=��?Client/Views/directory-store/includes/modal-affiliate.blade.phpnu�Iw��<!-- Modal for Adding Affiliate -->
<div class="modal fade bs-example-modal-md" id="affiliateModal" tabindex="-1" role="dialog" aria-labelledby="mySmallModalLabel">
    <div class="modal-dialog modal-md">
        <div class="modal-content">
            <div class="modal-header">
                <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
                <h4 class="modal-title" id="myModalLabel">Add New Affiliate</h4>
            </div>
            <div class="modal-body form-horizontal">
                <div class="form-group form-group-sm">
                    <label for="inputEmail3" class="col-sm-3 control-label">Affiliate Name</label>
                    <div class="col-sm-9">
                        {!! Form::text('name', null, ['class'=>'form-control', 'id'=>'affiliate_name', 'autocomplete'=> 'off']) !!}
                    </div>
                </div>
                <div class="form-group">
                    <div class="col-sm-offset-3 col-sm-9">
                        <div id="hide_onclick_modal">
                            <button type="button" class="btn btn-primary btn-sm" id="addbutton_affiliate">Add Affiliate</button>
                            <button type="button" class="btn btn-default btn-sm" data-dismiss="modal">Close</button>
                        </div>
                        <div id="show_onclick_modal" style="display:none">
                            <button class="btn btn-sm btn-primary"><span class="fa fa-refresh fa-spin"></span> Loading ...</button>
                        </div>
                    </div>
                </div>
                <hr>
                <table class="table table-bordered table-striped table-hover" id="affiliateTable" width="100%">
                    <thead>
                        <tr>
                            <th>Name</th>
                            <th>Action</th>
                        </tr>
                    </thead>
                <tbody>            
                </tbody>
                </table>
            </div>
        </div>
    </div>
</div>
<!-- Modal for Adding AffiliatePK�8]~l6�55HClient/Views/directory-store/includes/js-modal-specializations.blade.phpnu�Iw��<!-- Specialization js -->
<script type="text/javascript">
var specialization_datatable;
$( document ).ready( function() {

	$('#addbutton_specialization').click( function() {
        var name = $('#specialization_name').val();
		if(name=='') {
			swal("Error!", "Name is required!", "error");
			$('#specialization_name').focus();
			return false;
		} else {
			$("#hide_onclick_modal").hide();
			$("#show_onclick_modal").show();
			$.ajax({
	        	type: "post",
	          	url: "{{URL::Route('storeSpecializations')}}",
	          	data: {
	            	name: $("#specialization_name").val()
	          	},
	          	success: function(result) {	    
	          		var table = $('#specializationTable').DataTable();   
	          		table.ajax.reload(); 	          		   
	          		$("#hide_onclick_modal").show();
					$("#show_onclick_modal").hide();
	            	$('#selectSpecialization').append($('<option>', {
		                value: result.id,
		                text: result.name,
		                selected: true
		            }));
	            	$('#specializationModal').modal('hide');	            
	          	},
	          	error :function( xhr ) {
	                if( xhr.status === 422 ) {
	                    var errors = JSON.parse(xhr.responseText);
	                    alert(errors['name'][0]);	                    
	                } else {
	                    swal("Error!", "Error occured please try again.", "error");
	                }
	                $("#hide_onclick_modal").show();
					$("#show_onclick_modal").hide();
	            }
	        });
		}
    }); 

});
function initializeSpecialization()
{
		specialization_datatable = 1;
		var table = $('#specializationTable').DataTable( {
		"processing": true,
        "serverSide": true,
        ajax: {
            url:'{{URL::Route("getSpecializationsData")}}', 
            type: 'POST',
        },
		"bAutoWidth": false,
		"iDisplayLength": 10,
		columns: [
			{data: 'name', name: 'name', className:'editable'},
			{data: 'action', name: 'action', orderable:false, searchable:false, width:'60px', className:'text-center'},
		],
		fnDrawCallback: function ( oSettings ) {
			$('#specializationTable tbody td.editable').editable('/client/modals/specialization/update', {
                callback: function( sValue, y ) {
		           table.draw();
				},
				onsubmit: function(settings, original) {
		            if ((original.revert == $('input',this).val()) || $('input',this).val() == "") {
		            	original.reset();
		            	$(original).parents('tr').find('td.hide_me').show();
		            	return false;
		        	}
				},
				submitdata: function (value, settings) {
	            	var id = $(this).parents('tr').find('a.btn-edit').data('id');
			        return {
			              'id':id
			        };
				},
				onerror:  function(settings, original, xhr) {
	                if( xhr.status === 422 ) {
	                      var errors = JSON.parse(xhr.responseText);
	                      alert(errors['name'][0]);
	                      original.reset(); 
	                      $(original).parents('tr').find('td.hide_me').show();
	                } else {
	                    swal("Error!", "Error occured please try again.", "error");
	                }
		        },
				onblur:'submit',
				event:'custom_event',
				height:"30px",
				width:'100%',
				name : 'name'
			});

			$("#specializationTable tbody td").on("click", 'a.btn-edit', function() {
  				$(this).parents('tr').find('td.editable').trigger("custom_event");
  				$(this).parent('td').addClass('hide_me').hide();
			});

			$("#specializationTable tbody td").on("click", 'a.btn-delete', function() {
				var action = $(this).data('action');
				swal({
                    title: 'Are you sure you want to delete?',
                    text: "This will be permanently deleted",
                    type: 'warning',
                    showCancelButton: true,
                    confirmButtonColor: '#3085d6',
                    cancelButtonColor: '#d33',
                    confirmButtonText: 'Yes'
                    }).then(function () {                    
                    $.ajax({
                        type: "GET",
                        url: action,
                        dataType: 'json',
                        success: function(data) {
                           if(data.success == "yes") {
                                table.draw();
                                swal("Deleted!", "Specialization successfuly deleted!", "success");
                                $("#selectSpecialization option[value='"+data.id+"']").remove();
                           }else{
                                swal("Error!", "Cannot delete it is being used in database.", "error");
                           }
                        },
                        error :function( jqXhr ) {
                            swal('Unable to delete.', 'Please try again.', 'error')
                        }
                    });
                })  
			});
		}
	});

	$('#specialization_name').val('');
    $('#specializationModal').modal({'backdrop':'static'});
}

function doModalAddSpecialization()
{	
	if(specialization_datatable != 1) {
		initializeSpecialization();
	}
	else {
		$('#specialization_name').val('');
    	$('#specializationModal').modal({'backdrop':'static'});
	}
}
</script>
<!-- End of Specialization js -->PK�8]�R0��,Client/Views/directory-store/index.blade.phpnu�Iw��@extends('Client::layouts')
@section('page-body')
    <!-- Content Header (Page header) -->
    <section class="content-header">
        <h1>
            <i class="fa fa-{{$pageIcon ? $pageIcon : 'angle-double-right'}}" aria-hidden="true"></i> {{$pageTitle}}
            <br>
            <small>{{$pageDescription}}</small>
        </h1>
        <ol class="breadcrumb">
            <li class="active"><i class="fa fa-{{$pageIcon ? $pageIcon : 'angle-double-right'}}"></i> {{$pageTitle}}</li>           
        </ol>
    </section>
    <!-- Main content -->
    <section class="content"> 
        @include('Client::message')
        <div class="box box-default">
            <div class="box-header with-border">
                <div class="pull-left">
                    <form action="javascript:void(0)" id="category-filter" method="POST" class="form-inline" role="form">
                        <b>Filter: </b>
                        <div class="form-group">
                            <label class="sr-only" for="">Search Category</label>
                            {!! Form::select('category', $categories, null, ['class' => 'form-control', 'placeholder'=>'All']) !!}
                        </div>
                        <div class="form-group">
                            {!! Form::text('name', null, ['placeholder' => 'Enter Name', 'class' => 'form-control', 'autocomplete' => 'off']) !!}
                        </div>
                        <button type="submit" class="btn btn-primary">Filter</button>
                        <button href="javascript:void(0)" class="btn btn-default" id="reset">Reset</button>
                    </form>
                </div>
                @can('create', $permissions)
                    <div class="pull-right">
                        <a href="/client/directory-store/create" class="btn btn-primary btn-flat"><i class="fa fa-plus-circle"></i> Add {{$pageModuleName}}</a>
                    </div>
                @endcan
            </div>
            <div class="box-body">
                <table class="table table-bordered table-striped table-hover" id="directory-table" width="100%">
                    <thead>
                        <tr>
                            <th>#</th>
                            <th>Category</th>
                            <th>Name</th>
                            <th>Information</th>
                            <th>Location</th>
                            <th>Contacts</th>
                            <th>Action</th>
                        </tr>
                    </thead>
               </table>
            </div>                
        </div>
        @include('Client::logs')
    </section>
@stop
@section('page-js')
<script type="text/javascript">
    $(document).ready(function() {
        var directoryTable = $('#directory-table').DataTable({
            "processing": true,
            "serverSide": true,
            "pagingType": "input",
            ajax: {
                url:'directory-store/get-directories-data', 
                type: 'POST',
                "data": function(d){
                    d.name = $('#category-filter [name="name"]').val();
                    d.category = $('#category-filter [name="category"]').val();
                }
            },
            "dom": "<'row'<'col-sm-6'i><'col-sm-6 text-right'l>>" +
                "<'row'<'col-sm-12'tr>>" +
                "<'row'<'col-sm-5'><'col-sm-7'p>>",
            columns: [
                {
                    width:'10px', searchable: false, orderable: false,
                    render: function (data, type, row, meta) {
                        return meta.row + meta.settings._iDisplayStart + 1;
                    }
                },
                { data: 'category', name: 'category' },
                { data: 'name', name: 'name' },
                { data: 'affiliates-specializations.name', name: 'affiliates-specializations.name', sortable: false, searchable: false},
                { data: 'locations', name: 'locations', sortable: false, searchable: false},
                { data: 'contacts', name: 'contacts', sortable: false, searchable: false, width:'250px'},
                { data: 'action', name: 'action', orderable: false, searchable: false, width:'60px', className:'text-center'},
            ],
            fnDrawCallback: function ( oSettings ) {
                $('[data-toggle="tooltip"]').tooltip();
                $("#directory-table td").on("click", '.deleted', function() {
                    var action = $(this).data('action');
                    swal({
                        title: 'Are you sure you want to delete?',
                        text: "This will be permanently deleted",
                        type: 'warning',
                        showCancelButton: true,
                        confirmButtonColor: '#3085d6',
                        cancelButtonColor: '#d33',
                        confirmButtonText: 'Yes'
                        }).then(function () {                    
                        $.ajax({
                            type: "GET",
                            url: action,
                            dataType: 'json',
                            success: function(data) {
                                if(data.type == "success") {
                                    directoryTable.draw();
                                    swal(data.message, '', 'success')
                               }else{
                                    swal(data.message, '', 'error')
                               }
                            },
                            error :function( jqXhr ) {
                                swal('Unable to delete.', 'Please try again.', 'error')
                            }
                        });
                    })              
                });            
            },
            "order": [[2, "asc"]],
        });
        $('#category-filter').on('submit', function(){
            directoryTable.draw();
        });
        $('#reset').on('click', function(event) {
            event.preventDefault();
            $('#category-filter [name="name"]').val('');
            $('#category-filter [name="category"]').val('');
            directoryTable.draw();
        });
    });
</script>
@include('Client::directory-store.includes.js')
@include('Client::notify')
@stopPK�8]�~�+Client/Views/directory-store/edit.blade.phpnu�Iw��@extends('Client::layouts')
@section('page-body')

    <section class="content-header">
        <h1>
            <i class="fa fa-pencil"></i> Edit {{$pageModuleName}}
        </h1>
        <ol class="breadcrumb">
            <li><a href="{{ route(config('modules.client').'.directory.index') }}"><i class="fa fa-{{$pageIcon ? $pageIcon : 'angle-double-right'}}"></i> {{$pageTitle}}</a></li>             
            <li class="active">Edit</li>
        </ol>
    </section>

    <section class="content"> 
        @include('Client::message')
        {!! Form::model($directory, array('url' => config('modules.client').'/directory-store/update/'.$directory->hashid, 'method' => 'POST', 'class'=>'form-horizontal', 'role' => 'form' , 'id'=>'directory-form')) !!}
        <div class="row">
            <div class="col-sm-12">
                <div class="box box-primary">
                    <div class="box-header">
                        <h3 class="box-title">@include('Client::all-fields-are-required')</h3>
                    </div>
                    <div class="box-body">
                       @include('Client::directory-store.includes.form')
                    </div>
                </div>
            </div>
        </div>
        <div class="row">
            <div class="col-md-4 col-md-offset-7">
                <button class="btn btn-flat btn-lg btn-block btn-warning save-btn" data-loading-text="<i class='fa fa-circle-o-notch fa-spin'></i> Saving..." ><i class="fa fa-save"></i> Save Changes</button>
            </div>
        </div>
        {!! Form::close() !!}
        <br>
        @include('Client::logs')
    </section>
    @include('Client::directory-store.includes.modal-affiliate')
    @include('Client::directory-store.includes.modal-specialization')
@stop
@section('page-js')
@include('Client::directory-store.includes.js')
@include('Client::directory-store.includes.gmaps')
@include('Client::directory-store.includes.js-modal-affiliates')
@include('Client::directory-store.includes.js-modal-specializations')
@include('Client::notify')
@stopPK�8]L,g
g
.Client/Views/reports/audittrail/view.blade.phpnu�Iw��@extends('Client::reports-layout')
@section('page-body')
    <!-- Content Header (Page header) -->
    <!-- Main content -->
    <section class="content"> 
        <div class="box box-primary">
            <div class="box-body">
            <form method="get" action="{{route(config('modules.client').'.audittrail.excel')}}">
                @can('export', $permissions)
                    @foreach(Input::all() as $input => $value)
                     <input type="hidden" name="{{$input}}" value="{{$value}}">
                    @endforeach
                    <span class="pull-right">
                        <button class="btn btn-danger btn-flat" type="button" onclick="window.close();"><i class="fa fa-times"></i> Close</button>
                        <button class="btn btn-success btn-flat" type="submit"><i class="fa fa-file-excel-o"></i> Export To Excel</button>
                    </span>
                @endcan
                    <h4><b>Audit Trail Report List by {{$type}}</b></h4>
                    <span>From {{$date}}</span>
                </form>
            </div>

        </div>
        <div class="box box-default">
            <div class="box-body">
                <table class="table table-bordered table-striped table-hover data" id="logs-table" width="100%">
                    <thead>
                        <tr>
                            <th>#</th>
                            <th>Date</th>
                            <th>Module</th>
                            <th>Action</th>
                            <th>Name</th>
                            <th>Email</th>
                            <th>IP Address</th>
                        </tr>
                    </thead>
               </table>
            </div>
        </div>
    </section>
@stop
@section('page-js')
<script type="text/javascript">
$(function() {
    var subjectTable = $('#logs-table').DataTable({
        processing: true,
        serverSide: true,
        pagingType: "input",
        iDisplayLength: 25,
        filter: false,
        ajax: {
            url: 'get-user-report-data ',
            method: 'POST',
            "data": function(d){
                d.report_type = "{{Input::get('report_type')}}";
                d.user_id = "{{Input::get('user_id')}}";
                d.start_date = "{{Input::get('start_date')}}";
                d.end_date = "{{Input::get('end_date')}}";
            }
        },
        columns: [
            {
                width:'10px', searchable: false, orderable: false,
                render: function (data, type, row, meta) {
                    return meta.row + meta.settings._iDisplayStart + 1;
                }
            },
            { data: 'created_at', name: 'created_at', sortable: true, searchable: false},
            { data: 'module', name: 'module', sortable: false, searchable: false, visible: '<?php echo $visibleUser?>'},
            { data: 'action', name: 'action', sortable: false, searchable: false, visible: '<?php echo $visibleUser?>'},
            { data: 'user', name: 'user', sortable: false, searchable: false},
            { data: 'username', name: 'username', sortable: false, searchable: false, visible: '<?php echo $visibleLogin?>'},
            { data: 'ipaddress', name: 'ipaddress', sortable: false, searchable: false, visible: '<?php echo $visibleLogin?>'},
        ],
        "order": [[1, "desc"]],
    });
});
</script>
@stopPK�8]�Q�oo7Client/Views/reports/audittrail/includes/form.blade.phpnu�Iw��<div class="form-group">
    <label class="control-label col-md-3">Report Type:</label>
    <div class="col-md-6">
        {!! Form::select('report_type',  $type , null ,  ['id'=>'selectType', 'class'=>'form-control']) !!}
    </div>
</div>
<div class="form-group">
    <label class="control-label col-md-3">Username:</label>
    <div class="col-md-6">
        {!! Form::select('user_id', ['' => 'All'] + $users , null , ['class'=>'form-control']) !!}
    </div>
</div>
<div class="form-group form-group-md audittrail_report_joyride_step3" id="rangeField">
    <label class="control-label col-md-3">Date:</label>
    <div class="col-md-6">
        <div class="input-group">
            <div class="input-group-addon"><i class="fa fa-calendar"></i></div>
            {!! Form::text('date_range', null , ['class'=>'form-control', 'id'=>'reportrange', 'autocomplete'=>'off']) !!}
        </div>
        {!! Form::hidden('start_date', null , ['class'=>'form-control', 'id'=>'start', 'autocomplete'=>'off']) !!}
        {!! Form::hidden('end_date', null , ['class'=>'form-control', 'id'=>'end', 'autocomplete'=>'off']) !!}
    </div>
</div>PK�8]u���5Client/Views/reports/audittrail/includes/js.blade.phpnu�Iw��<script type="text/javascript">
$(document).ready(function(){
    $('#reportrange').daterangepicker(
        {
            startDate: moment().startOf('week'),
            endDate: moment().endOf('week'),
            showDropdowns: true,
            ranges: {
            'This Week': [moment().startOf('week'), moment().endOf('week')],
            'Last Week': [moment().subtract(1, 'week').startOf('week'), moment().subtract(1, 'week').endOf('week')],
            'This Month': [moment().startOf('month'), moment().endOf('month')],
            'Last Month': [moment().subtract(1, 'month').startOf('month'), moment().subtract(1, 'month').endOf('month')],
            'This Year': [moment().startOf('year'), moment().endOf('year')],
            'Last Year': [moment().subtract(1, 'year').startOf('year'), moment().subtract(1, 'year').endOf('year')]
            },
        },
        function(start, end) {
            $('#start').val(start.format('YYYY-MM-DD'));
            $('#end').val(end.format('YYYY-MM-DD'));
         }
    );
    $('#start').val(moment().startOf('week').format('YYYY-MM-DD'));
    $('#end').val(moment().endOf('week').format('YYYY-MM-DD'));
});
</script>PK�8]��[OOBClient/Views/reports/audittrail/includes/user-logs-table.blade.phpnu�Iw��@extends('Client::reports-table-layouts')
@section('page-body')
    <table class="table table-bordered table-striped table-hover data" id="logs-table" width="100%">
        <thead>
            <tr>
                <td colspan="5" style="text-align: center;"><h2><strong>Audit Trail Report by {{$type}}</strong></h2></td>
            </tr>
            <tr>
                <td colspan="5" style="text-align: center;">From {{$date}}</td>
            </tr>
            <tr>
                <td colspan="5"></td>
            </tr>
            <tr>
                <th style="text-align: center;">No.</th>
                <th style="text-align: center;">Date</th>
                <th style="text-align: center;">Module</th>
                <th style="text-align: center;">Action</th>
                <th style="text-align: center;">Name</th>
            </tr>
        </thead>
        <tbody>
        @foreach($userLogs as $count => $logs)
            <tr>
                <td width="5" style="text-align: center;">{{++$count}}</td>
                <td width="30">{{$logs->created_at}}</td>
                <td width="25">{{$logs->module->title}}</td>
                <td width="20" style="text-align: center;">{{$logs->action}}</td>
                <td width="20">{{$logs->user->name}}</td>
            </tr>
        @endforeach
        </tbody>
   </table>
@stopPK�8]V���JJCClient/Views/reports/audittrail/includes/login-logs-table.blade.phpnu�Iw��@extends('Client::reports-table-layouts')
@section('page-body')
    <table class="table table-bordered table-striped table-hover data" id="logs-table" width="100%">
        <thead>
            <tr>
                <td colspan="5" style="text-align: center;"><h2><strong>Audit Trail Report by {{$type}}</strong></h2></td>
            </tr>
            <tr>
                <td colspan="5" style="text-align: center;">From {{$date}}</td>
            </tr>
            <tr>
                <td colspan="5"></td>
            </tr>
            <tr>
                <th style="text-align: center;">No.</th>
                <th style="text-align: center;">Date</th>
                <th style="text-align: center;">Name</th>
                <th style="text-align: center;">Email</th>
                <th style="text-align: center;">IP Address</th>
            </tr>
        </thead>
        <tbody>
        @foreach($userLogs as $count => $logs)
            <tr>
                <td width="5" style="text-align: center;">{{++$count}}</td>
                <td width="30">{{$logs->created_at}}</td>
                <td width="20">{{$logs->name}}</td>
                <td width="30">{{$logs->username}}</td>
                <td width="20" style="text-align: center;">{{$logs->ipaddress}}</td>
            </tr>
        @endforeach
        </tbody>
   </table>
@stopPK�8]�_]˩�/Client/Views/reports/audittrail/index.blade.phpnu�Iw��@extends('Client::layouts')
@section('page-body')

    <section class="content-header">
        <h1>
            <i class="fa fa-{{$pageIcon ? $pageIcon : 'angle-double-right'}}" aria-hidden="true"></i> {{$pageTitle}}
             <br>
             <small>{{$pageDescription}}</small>
        </h1>
        <ol class="breadcrumb">
            <li><a href="#"><i class="fa fa-file-text-o"></i> Reports</a></li>
            <li class="active"></i> {{$pageTitle}}</li> 
        </ol>
    </section>
    <!-- Main content -->
    <section class="content">        
        @include('Client::message')
        <div class="box box-primary">
            {!! Form::open(array('url'=>url(config('modules.client').'/reports/audittrail/view'), 'class' => 'form-horizontal', 'target' => '_blank', 'method' => 'post', 'id' => 'audit-form')) !!}
            <div class="box-body">
                @include('Client::reports.audittrail.includes.form')
            </div>
            <div class="box-footer text-center">
                <div class="row">
                    <div class="col-md-2 col-md-offset-7">
                        <button class="btn btn-primary btn-flat btn-md btn-block" type="submit">Create</button>
                    </div>
                </div>
           </div> 
           {!! Form::close() !!}
        </div>
    </section>
@stop
@section('page-js')
@include('Client::notify')
@include('Client::reports.audittrail.includes.js')
@stopPK�8]�<���,Client/Views/settings/users/create.blade.phpnu�Iw��@extends('Client::layouts')
@section('page-body')
     <!-- Content Header (Page header) -->
     <section class="content-header">
        <h1>
            <i class="fa fa-plus-circle" aria-hidden="true"></i> Add {{$pageModuleName}}
        </h1>
        <ol class="breadcrumb">
            <li><a href="{{ url(config('modules.client').'/settings/users') }}"><i class="fa fa-{{$pageIcon ? $pageIcon : 'angle-double-right'}}"></i> {{$pageTitle}}</a></li>
          <li class="active">Add</li>
        </ol>
     </section>
     <!-- Main content -->
     <section class="content">
          @include('Client::errors')
          @include('Client::message')
          {!! Form::open(['url'=>url(config('modules.client').'/settings/users'),'method'=>'POST','class'=>'form-horizontal','role'=>'form','id'=>'user-form']) !!}
          <div class="box box-default">
               <div class="box-header">
                  <h1 class="box-title">@include('Client::all-fields-are-required')</h1>
               </div>
               <div class="box-body">
                    @include('Client::settings.users.includes.form')
               </div>
               <div class="box-footer text-center">
                    <div class="row">
                        <div class="col-md-4 col-md-offset-7">
                           <button class="btn btn-primary btn-flat btn-lg btn-block"><i class="fa fa-save"></i>&nbsp;Save</button>
                        </div>
                    </div>
               </div>
          </div>
          {!! Form::close() !!}
     </section>
@stop
@section('page-js')
    @include('Client::settings.users.includes.js')
    @include('Client::notify')
@stopPK�8]@b����3Client/Views/settings/users/includes/form.blade.phpnu�Iw��<div class="form-group {{ $errors->has('name') ? ' has-error' : '' }}">
    <label class="control-label col-md-3">Name: <i class="required">*</i></label>
    <div class="col-md-6">
        {!! Form::text('name', null , ['class'=>'form-control', 'placeholder'=>'Name', 'autocomplete'=>'off']) !!}
    </div>
</div>
<div class="form-group {{ $errors->has('email') ? ' has-error' : '' }}">
    <label class="control-label col-md-3">Email: <i class="required">*</i></label>
    <div class="col-md-6">
        {!! Form::text('email', null , ['class'=>'form-control', 'placeholder'=>'Email', 'autocomplete'=>'off']) !!}
    </div>
</div>
<div class="form-group {{ $errors->has('role_id') ? ' has-error' : '' }}">
    <label class="control-label col-md-3">Role: <i class="required">*</i></label>
    <div class="col-md-6">
        {!! Form::select('role_id', $roles, null, ['placeholder' => ' - Select -', 'class'=>'form-control']) !!}
    </div>
</div>
<div class="form-group {{ $errors->has('status') ? ' has-error' : '' }}">
    <label class="control-label col-md-3">Status: <i class="required">*</i></label>
    <div class="col-md-6">
        {!! Form::select('status', [1=>'Active', 0 => 'Inactive'], null, ['class'=>'form-control']) !!}
    </div>
</div>
<div class="form-group {{ $errors->has('password') ? ' has-error' : '' }}">
    <label class="control-label col-md-3">Password: <?php if(!isset($id)) {?><i class="required">*</i><?php } ?></label>
    <div class="col-md-6">
        {!! Form::password('password', ['class'=>'form-control', 'id' => 'password', 'placeholder'=>'Password']) !!}
    </div>
</div>
<div class="form-group {{ $errors->has('password_confirmation') ? ' has-error' : '' }}">
    <label class="control-label col-md-3">Re-type Password: <?php if(!isset($id)) {?><i class="required">*</i><?php } ?></label>
    <div class="col-md-6">
        {!! Form::password('password_confirmation', ['class'=>'form-control', 'id' => 'password_confirmation' ,'placeholder'=>'Re-type Password']) !!}
    </div>
</div>PK�8]�br8��1Client/Views/settings/users/includes/js.blade.phpnu�Iw��<script type="text/javascript" src="{{ asset('vendor/jsvalidation/js/jsvalidation.js')}}"></script>
{!! JsValidator::formRequest('QxCMS\Modules\Client\Requests\Settings\UserRequest', '#user-form'); !!}PK�8]�+���+Client/Views/settings/users/index.blade.phpnu�Iw��@extends('Client::layouts')
@section('page-body')
    <!-- Content Header (Page header) -->
    <section class="content-header">
        <h1>
            <i class="fa fa-{{$pageIcon ? $pageIcon : 'angle-double-right'}}" aria-hidden="true"></i> {{$pageTitle}}
            <br>
            <small>{{$pageDescription}}</small>
        </h1>
        <ol class="breadcrumb">
            <li><a href="#"><i class="fa fa-{{$pageIcon ? $pageIcon : 'angle-double-right'}}"></i> {{$pageTitle}}</a></li>            
            <li class="active">User</li>  
        </ol>
    </section>
    <!-- Main content -->
    <section class="content">
        @include('Client::message')
        
        <div class="box box-primary">
            <div class="box-header with-border">
                <h1 class="box-title">List of Users</h1>
                @can('create', $permissions)
                <span class="pull-right">
                    <a href="{{ url(config('modules.client').'/settings/users/create') }}" data-toggle="tooltip" data-placement="top" title="" data-original-title="Add User" class="btn btn-primary btn-flat"><i class="fa fa-plus-circle"></i> Add User</a>
                </span>
                @endcan
            </div>
            <div class="box-body">
               <table class="table table-condensed table-bordered table-striped table-hover" id="users-table" width="100%">
                    <thead>
                        <tr>
                            <th>#</th>
                            <th>Name</th>
                            <th>Email</th>
                            <th>Role</th>
                            <th>Status</th>
                            <th>Action</th>
                        </tr>
                    </thead>
               </table>
            </div>
        </div>
        @include('Client::logs')
    </section>
@stop
@section('page-js')
<script type="text/javascript">
$(function() {
    var userTable = $('#users-table').DataTable({
        processing: true,
        serverSide: true,
        "pagingType": "input",
        ajax: '{!! url(config('modules.client').'/settings/users/get-users-data') !!}',
        columns: [
            {
                width:'10px', searchable: false, orderable: false,
                render: function (data, type, row, meta) {
                    return meta.row + meta.settings._iDisplayStart + 1;
                }
            },
            { data: 'name', name: 'name' },
            { data: 'email', name: 'email', searchable: false},
            { data: 'role.name', name: 'role.name', searchable: false, orderable: false},
            { data: 'status', name: 'status', searchable: false, orderable: false},
            { data: 'action', name: 'action', orderable: false, searchable: false, width:'50px', className:'text-center'},
        ],
        fnDrawCallback: function ( oSettings ) {
            $('[data-toggle="tooltip"]').tooltip();
            $("#users-table td").on("click", 'a#btn-delete', function() {
                var action = $(this).data('action');
                swal({
                    title: 'Are you sure you want to delete?',
                    text: "This will be permanently deleted",
                    type: 'warning',
                    showCancelButton: true,
                    confirmButtonColor: '#3085d6',
                    cancelButtonColor: '#d33',
                    confirmButtonText: 'Yes'
                    }).then(function () {                    
                    $.ajax({
                        type: "DELETE",
                        url: action,
                        dataType: 'json',
                        success: function(data) {
                            if(data.type == "success") {
                                userTable.draw();
                                swal(data.message, '', 'success')
                           }else{
                                swal(data.message, '', 'error')
                           }
                        },
                        error :function( jqXhr ) {
                            swal('Unable to delete.', 'Please try again.', 'error')
                        }
                    });
                })
            });
        },
        "order": [[1, "asc"]],
    });
});
</script>
@include('Client::notify')
@stopPK�8]��BB*Client/Views/settings/users/edit.blade.phpnu�Iw��@extends('Client::layouts')
@section('page-body')             
     <!-- Content Header (Page header) -->
     <section class="content-header">
          <h1>
              <i class="fa fa-pencil" aria-hidden="true"></i> Edit {{$pageModuleName}}
          </h1>
          <ol class="breadcrumb">
              <li><a href="{{ url(config('modules.client').'/settings/users') }}"><i class="fa fa-{{$pageIcon ? $pageIcon : 'angle-double-right'}}"></i> {{$pageTitle}}</a></li>
              <li class="active">Edit</li>
          </ol>
     </section>
     <!-- Main content -->
     <section class="content">
          @include('Client::errors')
          @include('Client::message')
              
          {!! Form::model($user, array('url' => config('modules.client').'/settings/users/'.$user->hashid, 'method' => 'PUT', 'class'=>'form-horizontal', 'role' => 'form' , 'id'=>'user-form')) !!}
          <div class="box box-primary">
                <div class="box-header">
                  <h3 class="box-title">@include('Client::all-fields-are-required')</h3>
                </div>
               <div class="box-body">                
                    @include('Client::settings.users.includes.form', ['id' => $user->id])
               </div>
               <div class="box-footer text-center">
                    <div class="row">
                         <div class="col-md-4 col-md-offset-7">
                              <button class="btn btn-warning btn-flat btn-lg btn-block"><i class="fa fa-save"></i>&nbsp;Save Changes</button>
                         </div>
                    </div>
               </div>
          </div>
          {!! Form::close() !!}
          <br>
          @include('Client::logs')
     </section>
@stop
@section('page-js') 
    @include('Client::settings.users.includes.js')
    @include('Client::notify')
@stopPK�8];3b�RR,Client/Views/settings/roles/create.blade.phpnu�Iw��@extends('Client::layouts')
@section('page-body')             
    <!-- Content Header (Page header) -->
    <section class="content-header">
        <h1>
            <i class="fa fa-plus-circle" aria-hidden="true"></i> Add Role
            <br>
            <small>Create role and its permissions.</small>
        </h1>
        <ol class="breadcrumb">
            <li><a href="#"><i class="fa fa-cog"></i> Settings</a></li>
            <li><a href="{{ url(config('modules.client').'/settings/roles') }}">Role</a></li>
            <li class="active">Add</li>  
        </ol>
    </section>
    <!-- Main content -->
    <section class="content">
        @include('Client::errors')
        @include('Client::message')
        
        {!! Form::open(['url'=>url(config('modules.client').'/settings/roles'),'method'=>'POST','class'=>'form-horizontal','role'=>'form','id'=>'role-form']) !!}
        <div class="box box-default">
            <div class="box-header">
                <h3 class="box-title"> @include('Client::all-fields-are-required')</h3>
            </div>
            <div class="box-body">                
                @include('Client::settings.roles.includes.form')
                @include('Client::settings.roles.includes.user_permissions')
            </div>
            <div class="box-footer text-center">
                <div class="row">
                    <div class="col-md-4 col-md-offset-7">
                        <button class="btn btn-primary btn-flat btn-lg btn-block"><i class="fa fa-save"></i>&nbsp;Save</button>
                    </div>
                </div>
            </div>
        </div>
        {!! Form::close() !!}
    </section>
@stop
@section('page-css') 
    @include('Client::settings.roles.includes.css')
@stop
@section('page-js') 
    @include('Client::settings.roles.includes.js')
    @include('Client::notify')
@stopPK�8]]f�B��3Client/Views/settings/roles/includes/form.blade.phpnu�Iw��<div class="form-group {{ $errors->has('name') ? ' has-error' : '' }}">
    <label class="control-label col-md-2">Name <span class="required">*</span></label>
    <div class="col-md-4">
        {!! Form::text('name', null , ['class'=>'form-control', 'placeholder'=>'Title', 'autocomplete'=>'off']) !!}
    </div>
</div>
<div class="form-group {{ $errors->has('display_name') ? ' has-error' : '' }}">
    <label class="control-label col-md-2">Display Name <span class="required">*</span></label>
    <div class="col-md-4">
        {!! Form::text('display_name', null , ['class'=>'form-control', 'placeholder'=>'Display Name', 'autocomplete'=>'off']) !!}
    </div>
</div>
<div class="form-group {{ $errors->has('title') ? ' has-error' : '' }}">
    <label class="control-label col-md-2">Description</label>
    <div class="col-md-4">
        {!! Form::text('description', null , ['class'=>'form-control', 'placeholder'=>'Description', 'autocomplete'=>'off']) !!}
    </div>
</div>PK�8]��]9KK1Client/Views/settings/roles/includes/js.blade.phpnu�Iw��<script type="text/javascript" src="{{ asset('vendor/jsvalidation/js/jsvalidation.js')}}"></script>
{!! JsValidator::formRequest('QxCMS\Modules\Client\Requests\Settings\RoleRequest', '#role-form'); !!}
<script type="text/javascript">
$(function () {
    $('input.main-menu').iCheck({
        checkboxClass: 'icheckbox_square-purple',
        radioClass: 'iradio_square-purple',
        increaseArea: '10%' // optional
    }).on('ifChecked', function(e){
       // $(this).parents('.panel').find('input.sub-menu').iCheck('check');
        //$(this).parents('.panel').find('input.icheck').iCheck('check');
    }).on('ifUnchecked', function(e){
       // $(this).parents('.panel').find('input.sub-menu').iCheck('uncheck');
       // $(this).parents('.panel').find('input.icheck').iCheck('uncheck');
    }).end();
    $('input.sub-menu').iCheck({
        checkboxClass: 'icheckbox_square-purple',
        radioClass: 'iradio_square-purple',
        increaseArea: '10%' // optional
    }).on('ifChecked', function() {
       //$(this).closest('.panel').find('input.main-menu').iCheck('check');
       //$(this).closest('.panel').find('input.icheck').iCheck('check');
    }).on('ifUnchecked', function(e){
       //$(this).closest('.panel').find('input.icheck').iCheck('uncheck');
    }).end();

    $('input.icheck').iCheck({
        checkboxClass: 'icheckbox_square-purple',
        radioClass: 'iradio_square-purple',
        increaseArea: '10%' // optional
    }).on('ifChecked', function() {
      // $(this).closest('.panel').find('input.sub-menu').iCheck('check');
      // $(this).closest('.panel').find('input.icheck').iCheck('check');
    }).end();  
});
$(document).ready(function() {
    function getChildren($row) {
        var children = [];
        while($row.next().hasClass('child')) {
             children.push($row.next());
             $row = $row.next();
        }            
        return children;
    }        
    $('.parent').on('click', function() {
        var children = getChildren($(this));
        $.each(children, function() {
            $(this).slideToggle();
        })
    });
})
</script>PK�8]
�=dd2Client/Views/settings/roles/includes/css.blade.phpnu�Iw��<style type="text/css">
.parent{
    cursor: pointer;
}
.parent td {background-color:#ccc;}
</style>PK�8]�=V(��?Client/Views/settings/roles/includes/user_permissions.blade.phpnu�Iw��<div class="row">
    <div class="col-md-12">
        <p class="help-block text-blue">*Note: Please tick the permission that associate to the role.</p>
        {!! $role_permissions !!}
    </div>
</div>PK�8],R�|��+Client/Views/settings/roles/index.blade.phpnu�Iw��@extends('Client::layouts')
@section('page-body')

    <section class="content-header">
        <h1>
            <i class="fa fa-ban"></i> Role Manager
             @include('Client::cache.descriptions.'.$permissions->menu_id)
        </h1>
        <ol class="breadcrumb">
            <li><a href="#"><i class="fa fa-cog"></i> Settings</a></li>
            <li class="active">Role</li>
        </ol>
    </section>
    <!-- Main content -->
    <section class="content">        
        @include('Client::message')
        <div class="box box-default">
            <div class="box-header">
                <h3 class="box-title">List of Roles</h3>
                @can('create', $permissions)
                    <a href="{{ url(config('modules.client').'/settings/roles/create') }}" class="btn btn-primary btn-flat pull-right" data-toggle="tooltip" data-placement="top" title="" data-original-title="Add Role"><i class="fa fa-plus-circle"></i> Add Role</a>
                @endcan
            </div>
            <div class="box-body">
                <table class="table table-condensed table-bordered table-striped table-hover" id="roles-table" width="100%">
                    <thead>
                        <tr>
                            <th>#</th>
                            <th>Name</th>
                            <th>Display Name</th>
                            <th>Action</th>
                        </tr>
                    </thead>
               </table>
            </div>                
        </div>
        @include('Client::logs')
    </section>
@stop
@section('page-js')

<script type="text/javascript">
$(function() {
    var roleTable = $('#roles-table').DataTable({
    processing: true,
    serverSide: true,
    "pagingType": "input",
    ajax: '{!! url(config('modules.client').'/settings/roles/get-roles-data') !!}',
    columns: [
        {
            width:'10px', searchable: false, orderable: false,
            render: function (data, type, row, meta) {
                return meta.row + meta.settings._iDisplayStart + 1;
            }
        },
        { data: 'name', name: 'name' },
        { data: 'display_name', name: 'display_name', sortable: false, searchable: false},
        { data: 'action', name: 'action', orderable: false, searchable: false, width:'50px', className:'text-center'},
    ],
    fnDrawCallback: function ( oSettings ) {
        $('[data-toggle="tooltip"]').tooltip();
        $("#roles-table td").on("click", 'a#btn-delete', function() {
            var action = $(this).data('action');
            swal({
                title: 'Are you sure you want to delete?',
                text: "This will be permanently deleted",
                type: 'warning',
                showCancelButton: true,
                confirmButtonColor: '#3085d6',
                cancelButtonColor: '#d33',
                confirmButtonText: 'Yes'
                }).then(function () {                    
                $.ajax({
                    type: "DELETE",
                    url: action,
                    dataType: 'json',
                    success: function(data) {
                        if(data.type == "success") {
                            roleTable.draw();
                            swal(data.message, '', 'success')
                       }else{
                            swal(data.message, '', 'error')
                       }
                    },
                    error :function( jqXhr ) {
                        swal('Unable to delete.', 'Please try again.', 'error')
                    }
                });
            })                
        });
    },
    "order": [[1, "asc"]],
    });
});
</script>
@include('Client::notify')
@stopPK�8]��ɘ�*Client/Views/settings/roles/edit.blade.phpnu�Iw��@extends('Client::layouts')
@section('page-body')             
    <!-- Content Header (Page header) -->
    <section class="content-header">
        <h1>
            <i class="fa fa-pencil" aria-hidden="true"></i> Edit Role
            <br>
            <small>Update role and its permissiosns.</small>
        </h1>
        <ol class="breadcrumb">
            <li><a href="#"><i class="fa fa-cog"></i> Settings</a></li>
            <li><a href="{{ url(config('modules.client').'/settings/roles') }}">Role</a></li>
            <li class="active">Edit</li>  
        </ol>
    </section>
    <!-- Main content -->
    <section class="content">
        @include('Client::errors')
        @include('Client::message')
         
        {!! Form::model($role, array('url' => config('modules.client').'/settings/roles/'.$role->hashid, 'method' => 'PUT', 'class'=>'form-horizontal', 'role' => 'form' , 'id'=>'role-form')) !!}
        <div class="box box-default">
            <div class="box-header">    
                <h3 class="box-title">@include('Client::all-fields-are-required')</h3>
            </div>
            <div class="box-body">
                @include('Client::settings.roles.includes.form')
                @include('Client::settings.roles.includes.user_permissions')
            </div>
            <div class="box-footer text-center">
                <div class="row">
                    <div class="col-md-4 col-md-offset-7">
                        <button class="btn btn-warning btn-flat btn-lg btn-block"><i class="fa fa-save"></i>&nbsp;Save Changes</button>
                    </div>
                </div>
            </div>
        </div>
       {!! Form::close() !!}
       <br>
       @include('Client::logs')
    </section>
@stop
@section('page-css') 
    @include('Client::settings.roles.includes.css')
@stop
@section('page-js') 
    @include('Client::settings.roles.includes.js')
    @include('Client::notify')
@stopPK�8]��Client/Views/errors.blade.phpnu�Iw��@if (count($errors) > 0)
<div class="callout callout-danger">
    <h4>Oh snap! Change a few things up and try submitting again.</h4>
    <ul>
        @foreach ($errors->all() as $error)
            <li>{{ $error }}</li>
        @endforeach
    </ul>
</div>
@endif PK�8]�sG_��%Client/Views/product/create.blade.phpnu�Iw��@extends('Client::layouts')
@section('page-body')

    <section class="content-header">
        <h1>
            <i class="fa fa-plus"></i> Add {{$pageModuleName}}
        </h1>
        <ol class="breadcrumb">
            <li><a href="{{ route(config('modules.client').'.products.index') }}"><i class="fa fa-{{$pageIcon ? $pageIcon : 'angle-double-right'}}"></i> {{$pageTitle}}</a></li>             
            <li class="active">Add</li>           
        </ol>
    </section>

    <section class="content"> 
        @include('Client::message')
        {!! Form::open(array('url'=>url(config('modules.client').'/products/store'), 'class' => 'form-horizontal', 'method' => 'POST', 'id' => 'product-form','files' => true)) !!}
        <div class="row">
            <div class="col-sm-12">
                <div class="box box-primary">
                    <div class="box-header">
                        <h3 class="box-title">@include('Client::all-fields-are-required')</h3>
                    </div>
                    <div class="box-body">
                       @include('Client::product.includes.form')
                    </div>
                </div>
            </div>
        </div>
        <div class="row">
            <div class="col-md-4 col-md-offset-7">
                <button class="btn btn-flat btn-lg btn-block btn-primary save-btn" data-loading-text="<i class='fa fa-circle-o-notch fa-spin'></i> Saving..." ><i class="fa fa-save"></i> Save</button>
            </div>
        </div>
        {!! Form::close() !!}
    </section>
    @include('Client::product.includes.modal-brand')
    @include('Client::product.includes.modal-category')
@stop
@section('page-css')
    @include('Client::product.includes.css')
@stop
@section('page-js')
    @include('Client::product.includes.js')
    @include('Client::product.includes.js-modal-brand')
    @include('Client::product.includes.js-modal-category')
    @include('Client::notify')
@stopPK�8]�E),Client/Views/product/includes/form.blade.phpnu�Iw��<input type="hidden" name="_token" value="{{ csrf_token() }}">
	<div class="row">
        <div class="col-md-7">
            <div class="col-md-12">
                <div class="form-group {{ ($errors->has('name') ? 'has-error':'') }}">
                    <label class="control-label col-md-3">Product Name: <i class="required">*</i></label>
                    <div class="col-md-9">
                        {!! Form::text('name', null , ['class'=>'form-control', 'placeholder'=>'Enter Product Name', 'autocomplete'=>'off']) !!}
                        {!! $errors->first('name', '<span class="text-red">:message</span>') !!}
                    </div>
                </div>
                <div class="form-group {{ ($errors->has('category_id') ? 'has-error':'') }}">
                    <label class="control-label col-md-3">Category: <i class="required">*</i></label>
                    <div class="col-md-9">
                        <div class="input-group">
                           {!! Form::select('category_id',  $category , null ,  ['id'=>'selectCategory', 'class'=>'form-control', 'placeholder'=>'-- Select Category']) !!}
                           <span class="input-group-btn">
                                <button class="btn btn-primary btn-flat" type="button" data-toggle="tooltip" title="Add Category" style="cursor:pointer" onclick="doModalAddCategory();"><i class="fa fa-plus-circle"></i></button>
                           </span>
                        </div>
                    </div>
                </div>
                <div class="form-group {{ ($errors->has('brand_id') ? 'has-error':'') }}">
                    <label class="control-label col-md-3">Brand: <i class="required">*</i></label>
                    <div class="col-md-9">
                        <div class="input-group">
                           {!! Form::select('brand_id',  $brand , null ,  ['id'=>'selectBrand', 'class'=>'form-control', 'placeholder'=>'-- Select Brand']) !!}
                           <span class="input-group-btn">
                                <button class="btn btn-primary btn-flat" type="button" data-toggle="tooltip" title="Add Brand" style="cursor:pointer" onclick="doModalAddBrand();"><i class="fa fa-plus-circle"></i></button>
                                {!! $errors->first('brand_id', '<span class="text-red">:message</span>') !!}
                           </span>
                        </div>
                    </div>
                </div>
                <div class="form-group {{ ($errors->has('price') ? 'has-error':'') }}">
                    <label class="control-label col-md-3">Price:</label>
                    <div class="col-md-9">
                        {!! Form::text('price', null , ['class'=>'form-control', 'placeholder'=>'Enter price', 'autocomplete'=>'off']) !!}
                        {!! $errors->first('price', '<span class="text-red">:message</span>') !!}
                    </div>
                </div>
                <div class="form-group {{ $errors->has('details') ? ' has-error' : '' }}">
                    <label class="control-label col-md-3">Details: <i class="required">*</i></label>
                    <div class="col-md-9">
                        {!! Form::textarea('details', null , ['class'=>'form-control wysihtml5', 'placeholder'=>'Details here...', 'autocomplete'=>'off']) !!}
                        {!! $errors->first('details', '<span class="text-red">:message</span>') !!}
                    </div>
                </div>
            </div>
        </div>
        <div class="col-md-5">
            <div class="col-md-12">
                <div class="panel-group" id="accordion">
                    <div class="panel panel-default" id="panel1">
                        <div class="panel-heading">
                            <h4 class="panel-title">
                                <a data-toggle="collapse" data-target="#collapseOne" style="cursor: pointer;">Product Image
                                </a>
                            </h4>
                        </div>
                        <div id="collapseOne" class="panel-collapse collapse in">
                            <div class="panel-body">
                            @if(isset($product->image))
                                <img src="{{ get_link('products/'.$product->image) }}" id="productImagePreview" alt="Uploaded Image Preview" width="365px" height="290px"/>
                                <br><br>
                                <div class="form-group"> 
                                    <div class="col-md-8"> 
                                        {{ Form::file('image', ['id' => 'image']) }}
                                    </div>
                                </div>
                            @else
                                <img src="" id="productImagePreview" alt="Uploaded Image Preview" width="365px" height="290px"/>
                                <br><br>
                                <div class="form-group">
                                    <div class="col-md-8"> 
                                        {{ Form::file('image', ['id' => 'image']) }}
                                    </div>
                                </div>
                            @endif
                            </div>
                            <div class="panel-body">
                                <div class="form-group">
                                    <label for="posting_from" class="col-sm-2 control-label">Year</label>
                                    <div class="col-sm-10">
                                        {!! Form::text('year', null , ['class'=>'form-control', 'placeholder'=>'Enter year', 'autocomplete'=>'off', 'data-focus' => 'true']) !!}
                                        {!! $errors->first('year', '<span class="text-red">:message</span>') !!}
                                    </div>
                                </div>
                                <div class="form-group">
                                    <label for="status" class="col-sm-2 control-label">Status</label>
                                    <div class="col-sm-10">
                                        {!! Form::select('status', $status, null, ['class' => 'form-control']) !!}
                                        {!! $errors->first('status', '<span class="text-red">:message</span>') !!}
                                    </div>
                                </div>
                            </div>
                        </div>
                    </div>
                </div>
            </div>
        </div>
    </div>PK�8]�R�CC*Client/Views/product/includes/js.blade.phpnu�Iw��<script type="text/javascript" src="{{ asset('vendor/jsvalidation/js/jsvalidation.js')}}"></script>
{!! JsValidator::formRequest('QxCMS\Modules\Client\Requests\Products\ProductRequest', 'form#product-form'); !!}
<script type="text/javascript">
    $.validator.setDefaults({ ignore: '' });
    $(function(){
        $('textarea[name="details"]').wysihtml5({
            toolbar: {
                "font-styles": true, // Font styling, e.g. h1, h2, etc.
                "emphasis": false, // Italics, bold, etc.
                "lists": true, // (Un)ordered lists, e.g. Bullets, Numbers.
                "html": false, // Button which allows you to edit the generated HTML.
                "link": false, // Button to insert a link.
                "image": false, // Button to insert an image.
                "color": false, // Button to change color of font
                "blockquote": false, // Blockquote
            }
        });
    });
</script>
<script>
    function readURL(input) {
        if (input.files && input.files[0]) {
            var reader = new FileReader();
            reader.onload = function(e) {
                $('#productImagePreview').attr('src', e.target.result);
            }
        reader.readAsDataURL(input.files[0]);
        }
    }
    $("#image").change(function() {
        readURL(this);
    });
</script>PK�8]'���>>6Client/Views/product/includes/js-modal-brand.blade.phpnu�Iw��<!-- Brand js -->
<script type="text/javascript">
var brand_datatable;
$( document ).ready( function() {

	$('#addbutton_brand').click( function() {
        var name = $('#brand_name').val();
		if(name=='') {
			swal("Error!", "Name is required!", "error");
			$('#brand_name').focus();
			return false;
		} else {
			$("#hide_onclick_modal").hide();
			$("#show_onclick_modal").show();
			$.ajax({
	        	type: "post",
	          	url: "/client/modals/brand/store",
	          	data: {
	            	name: $("#brand_name").val()
	          	},
	          	success: function(result) {	    
	          		var table = $('#brandTable').DataTable();   
	          		table.ajax.reload(); 	          		   
	          		$("#hide_onclick_modal").show();
					$("#show_onclick_modal").hide();
	            	$('#selectBrand').append($('<option>', {
		                value: result.id,
		                text: result.name,
		                selected: true
		            }));
	            	$('#brandModal').modal('hide');	            
	          	},
	          	error :function( xhr ) {
	                if( xhr.status === 422 ) {
	                    var errors = JSON.parse(xhr.responseText);
	                    alert(errors['name'][0]);	                    
	                } else {
	                	swal("Error!", "Error occured please try again.", "error");
	                }
	                $("#hide_onclick_modal").show();
					$("#show_onclick_modal").hide();
	            }
	        });
		}
    }); 

});
function initializeBrand()
{
		brand_datatable = 1;
		table = $('#brandTable').DataTable({
        "processing": true,
        "serverSide": true,
        ajax: {
            url:'/client/modals/brand/get-brand-data', 
            type: 'POST',
        },
		"bAutoWidth": false,
		"iDisplayLength": 10,
		columns: [
			{data: 'name', name: 'name', className:'editable'},
			{data: 'action', name: 'action', orderable:false, searchable:false, width:'60px', className:'text-center'},
		],
		fnDrawCallback: function ( oSettings ) {
			$('#brandTable tbody td.editable').editable('/client/modals/brand/update', {
                callback: function( sValue, y ) {
		           table.draw();
				},
				onsubmit: function(settings, original) {
		            if ((original.revert == $('input',this).val()) || $('input',this).val() == "") {
		            	original.reset();
		            	$(original).parents('tr').find('td.hide_me').show();
		            	return false;
		        	}
				},
				submitdata: function (value, settings) {
	            	var id = $(this).parents('tr').find('a.btn-edit').data('id');
			        return {
			              'id':id
			        };
				},
				onerror:  function(settings, original, xhr) {
	                if( xhr.status === 422 ) {
	                      var errors = JSON.parse(xhr.responseText);
	                      alert(errors['name'][0]);
	                      original.reset(); 
	                      $(original).parents('tr').find('td.hide_me').show();
	                } else {
	                    swal("Error!", "Error occured please try again.", "error");
	                }
		        },
				onblur:'submit',
				event:'custom_event',
				height:"30px",
				width:'100%',
				name : 'name'
			});

			$("#brandTable tbody td").on("click", 'a.btn-edit', function() {
  				$(this).parents('tr').find('td.editable').trigger("custom_event");
  				$(this).parent('td').addClass('hide_me').hide();
			});

			$("#brandTable tbody td").on("click", 'a.btn-delete', function() {
				var action = $(this).data('action');
				swal({
                    title: 'Are you sure you want to delete?',
                    text: "This will be permanently deleted",
                    type: 'warning',
                    showCancelButton: true,
                    confirmButtonColor: '#3085d6',
                    cancelButtonColor: '#d33',
                    confirmButtonText: 'Yes'
                    })
					.then(function () {                    
                    $.ajax({
                        type: "GET",
                        url: action,
                        dataType: 'json',
                        success: function(data) {
                           if(data.success == "yes") {
                                table.draw();
                                swal("Deleted!", "Brand successfuly deleted!", "success");
                                $("#selectBrand option[value='"+data.id+"']").remove();
                           }else{
                                swal("Error!", "Cannot delete it is being used in database.", "error");
                           }
                        },
                        error :function( jqXhr ) {
                            swal('Unable to delete.', 'Please try again.', 'error')
                        }
                    });
                })  
			});
		}
	});

	$('#brand_name').val('');
    $('#brandModal').modal({'backdrop':'static'});
}

function doModalAddBrand()
{	
	if(brand_datatable != 1) {
		initializeBrand();
	}
	else {
		$('#brand_name').val('');
    	$('#brandModal').modal({'backdrop':'static'});
	}
}
</script>
<!-- End of Brand js -->PK�8]u�g?^^3Client/Views/product/includes/modal-brand.blade.phpnu�Iw��<!-- Modal for Adding Product Brand -->
<div class="modal fade bs-example-modal-md" id="brandModal" tabindex="-1" role="dialog" aria-labelledby="mySmallModalLabel">
    <div class="modal-dialog modal-md">
        <div class="modal-content">
            <div class="modal-header">
                <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
                <h4 class="modal-title" id="myModalLabel">Add New Brand</h4>
            </div>
            <div class="modal-body form-horizontal">
                <div class="form-group form-group-sm">
                    <label for="inputEmail3" class="col-sm-3 control-label">Brand Name</label>
                    <div class="col-sm-9">
                        {!! Form::text('name', null, ['class'=>'form-control', 'id'=>'brand_name', 'autocomplete' => 'off']) !!}
                    </div>
                </div>
                <div class="form-group">
                    <div class="col-sm-offset-3 col-sm-9">
                        <div id="hide_onclick_modal">
                            <button type="button" class="btn btn-primary btn-sm" id="addbutton_brand">Add Brand</button>
                            <button type="button" class="btn btn-default btn-sm" data-dismiss="modal">Close</button>
                        </div>
                        <div id="show_onclick_modal" style="display:none">
                            <button class="btn btn-sm btn-primary"><span class="fa fa-refresh fa-spin"></span> Loading ...</button>
                        </div>
                    </div>
                </div>
                <hr>
                <table class="table table-condensed table-bordered" id="brandTable">
                    <thead>
                        <tr>
                            <th>Name</th>
                            <th>Action</th>
                        </tr>
                    </thead>
                    <tbody>            
                    </tbody>
                </table>
            </div>
        </div>
    </div>
</div>
<!-- Modal for Adding Product BrandPK�8]����zz+Client/Views/product/includes/css.blade.phpnu�Iw��<style>
.panel-heading a:after {
    font-family:'Glyphicons Halflings';
    content:"\e114";
    float: right;
}
</style>PK�8]͂�Fyy6Client/Views/product/includes/modal-category.blade.phpnu�Iw��<!-- Modal for Adding Product Category -->
<div class="modal fade bs-example-modal-md" id="categoryModal" tabindex="-1" role="dialog" aria-labelledby="mySmallModalLabel">
    <div class="modal-dialog modal-md">
        <div class="modal-content">
            <div class="modal-header">
                <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
                <h4 class="modal-title" id="myModalLabel">Add New Category</h4>
            </div>
            <div class="modal-body form-horizontal">
                <div class="form-group form-group-sm">
                    <label for="inputEmail3" class="col-sm-3 control-label">Category Name</label>
                    <div class="col-sm-9">
                        {!! Form::text('name', null, ['class'=>'form-control', 'id'=>'category_name', 'autocomplete' => 'off']) !!}
                    </div>
                </div>
                <div class="form-group">
                    <div class="col-sm-offset-3 col-sm-9">
                        <div id="hide_onclick_modal">
                            <button type="button" class="btn btn-primary btn-sm" id="addbutton_category">Add Category</button>
                            <button type="button" class="btn btn-default btn-sm" data-dismiss="modal">Close</button>
                        </div>
                        <div id="show_onclick_modal" style="display:none">
                            <button class="btn btn-sm btn-primary"><span class="fa fa-refresh fa-spin"></span> Loading ...</button>
                        </div>
                    </div>
                </div>
                <hr>
                <table class="table table-condensed table-bordered" id="categoryTable">
                    <thead>
                        <tr>
                            <th>Name</th>
                            <th>Action</th>
                        </tr>
                    </thead>
                    <tbody>            
                    </tbody>
                </table>
            </div>
        </div>
    </div>
</div>
<!-- Modal for Adding Product CategoryPK�8]#~?y��9Client/Views/product/includes/js-modal-category.blade.phpnu�Iw��<!-- Brand js -->
<script type="text/javascript">
var category_datatable;
$( document ).ready( function() {

	$('#addbutton_category').click( function() {
        var name = $('#category_name').val();
		if(name=='') {
			swal("Error!", "Name is required!", "error");
			$('#category_name').focus();
			return false;
		} else {
			$("#hide_onclick_modal").hide();
			$("#show_onclick_modal").show();
			$.ajax({
	        	type: "post",
	          	url: "/client/modals/category/store",
	          	data: {
	            	name: $("#category_name").val()
	          	},
	          	success: function(result) {	    
	          		var table = $('#categoryTable').DataTable();   
	          		table.ajax.reload(); 	          		   
	          		$("#hide_onclick_modal").show();
					$("#show_onclick_modal").hide();
	            	$('#selectCategory').append($('<option>', {
		                value: result.id,
		                text: result.name,
		                selected: true
		            }));
	            	$('#categoryModal').modal('hide');	            
	          	},
	          	error :function( xhr ) {
	                if( xhr.status === 422 ) {
	                    var errors = JSON.parse(xhr.responseText);
	                    alert(errors['name'][0]);	                    
	                } else {
	                	swal("Error!", "Error occured please try again.", "error");
	                }
	                $("#hide_onclick_modal").show();
					$("#show_onclick_modal").hide();
	            }
	        });
		}
    }); 

});
function initializeCategory()
{
		category_datatable = 1;
		table = $('#categoryTable').DataTable({
        "processing": true,
        "serverSide": true,
        ajax: {
            url:'/client/modals/category/get-category-data', 
            type: 'POST',
        },
		"bAutoWidth": false,
		"iDisplayLength": 10,
		columns: [
			{data: 'name', name: 'name', className:'editable'},
			{data: 'action', name: 'action', orderable:false, searchable:false, width:'60px', className:'text-center'},
		],
		fnDrawCallback: function ( oSettings ) {
			$('#categoryTable tbody td.editable').editable('/client/modals/category/update', {
                callback: function( sValue, y ) {
		           table.draw();
				},
				onsubmit: function(settings, original) {
		            if ((original.revert == $('input',this).val()) || $('input',this).val() == "") {
		            	original.reset();
		            	$(original).parents('tr').find('td.hide_me').show();
		            	return false;
		        	}
				},
				submitdata: function (value, settings) {
	            	var id = $(this).parents('tr').find('a.btn-edit').data('id');
			        return {
			              'id':id
			        };
				},
				onerror:  function(settings, original, xhr) {
	                if( xhr.status === 422 ) {
	                      var errors = JSON.parse(xhr.responseText);
	                      alert(errors['name'][0]);
	                      original.reset(); 
	                      $(original).parents('tr').find('td.hide_me').show();
	                } else {
	                    swal("Error!", "Error occured please try again.", "error");
	                }
		        },
				onblur:'submit',
				event:'custom_event',
				height:"30px",
				width:'100%',
				name : 'name'
			});

			$("#categoryTable tbody td").on("click", 'a.btn-edit', function() {
  				$(this).parents('tr').find('td.editable').trigger("custom_event");
  				$(this).parent('td').addClass('hide_me').hide();
			});

			$("#categoryTable tbody td").on("click", 'a.btn-delete', function() {
				var action = $(this).data('action');
				swal({
                    title: 'Are you sure you want to delete?',
                    text: "This will be permanently deleted",
                    type: 'warning',
                    showCancelButton: true,
                    confirmButtonColor: '#3085d6',
                    cancelButtonColor: '#d33',
                    confirmButtonText: 'Yes'
                    })
					.then(function () {                    
                    $.ajax({
                        type: "GET",
                        url: action,
                        dataType: 'json',
                        success: function(data) {
                           if(data.success == "yes") {
                                table.draw();
                                swal("Deleted!", "Category successfuly deleted!", "success");
                                $("#selectCategory option[value='"+data.id+"']").remove();
                           }else{
                                swal("Error!", "Cannot delete it is being used in database.", "error");
                           }
                        },
                        error :function( jqXhr ) {
                            swal('Unable to delete.', 'Please try again.', 'error')
                        }
                    });
                })  
			});
		}
	});

	$('#category_name').val('');
    $('#categoryModal').modal({'backdrop':'static'});
}

function doModalAddCategory()
{	
	if(category_datatable != 1) {
		initializeCategory();
	}
	else {
		$('#category_name').val('');
    	$('#categoryModal').modal({'backdrop':'static'});
	}
}
</script>
<!-- End of Brand js -->PK�8]*mt���$Client/Views/product/index.blade.phpnu�Iw��@extends('Client::layouts')
@section('page-body')
    <!-- Content Header (Page header) -->
    <section class="content-header">
        <h1>
            <i class="fa fa-{{$pageIcon ? $pageIcon : 'angle-double-right'}}" aria-hidden="true"></i> {{$pageTitle}}
            <br>
            <small>{{$pageDescription}}</small>
        </h1>
        <ol class="breadcrumb">
            <li class="active"><i class="fa fa-{{$pageIcon ? $pageIcon : 'angle-double-right'}}"></i> {{$pageTitle}}</li>           
        </ol>
    </section>
    <!-- Main content -->
    <section class="content"> 
        @include('Client::message')
        <div class="box box-default">
            <div class="box-header with-border">
                <div class="pull-left">
                    <form action="javascript:void(0)" id="products-filter" method="POST" class="form-inline" role="form">
                        <b>Filter: </b>
                        <div class="form-group">
                            <label class="sr-only" for="">Search Products</label>
                            {!! Form::select('category_id', $category, null, ['class' => 'form-control', 'placeholder'=>'All']) !!}
                        </div>
                        <div class="form-group">
                            {!! Form::select('brand_id', $brand, null, ['class' => 'form-control', 'placeholder'=>'All']) !!}
                        </div>
                        <div class="form-group">
                            {!! Form::text('name', null, ['placeholder' => 'Product Name', 'class' => 'form-control', 'autocomplete' => 'off']) !!}
                        </div>
                        <button type="submit" class="btn btn-primary">Filter</button>
                        <button href="javascript:void(0)" class="btn btn-default" id="reset">Reset</button>
                    </form>
                </div>
                @can('create', $permissions)
                    <div class="pull-right">
                        <a href="/client/products/create" class="btn btn-primary btn-flat"><i class="fa fa-plus-circle"></i> Add {{$pageModuleName}}</a>
                    </div>
                @endcan
            </div>
            <div class="box-body">
                <table class="table table-bordered table-striped table-hover" id="product-table" width="100%">
                    <thead>
                        <tr>
                            <th>#</th>
                            <th>Image</th>
                            <th>Product</th>
                            <th>Information</th>
                            <th>Others</th>
                            <th>Action</th>
                        </tr>
                    </thead>
               </table>
            </div>                
        </div>
        @include('Client::logs')
    </section>
@stop
@section('page-js')
<script type="text/javascript">
    $(document).ready(function() {
       var productTable = $('#product-table').DataTable({
            "processing": true,
            "serverSide": true,
            "pagingType": "input",
            "bFilter": false,
            ajax: {
                url:'products/get-product-data', 
                type: 'POST',
                "data": function(d){
                    d.name = $('#products-filter [name="name"]').val();
                    d.category_id = $('#products-filter [name="category_id"]').val();
                    d.brand_id = $('#products-filter [name="brand_id"]').val();
                }
            },
            "dom": "<'row'<'col-sm-6'i><'col-sm-6 text-right'l>>" +
                "<'row'<'col-sm-12'tr>>" +
                "<'row'<'col-sm-5'><'col-sm-7'p>>",
            columns: [
                {
                    width:'10px', searchable: false, orderable: false,
                    render: function (data, type, row, meta) {
                        return meta.row + meta.settings._iDisplayStart + 1;
                    }
                },
                { data: 'image', name: 'image', sortable: false, searchable: false, width:'80px', className:'text-center'},
                { data: 'name', name: 'name' },
                { data: 'information', name: 'information', sortable: false, searchable: false},
                { data: 'others', name: 'others', sortable: false, searchable: false},
                { data: 'action', name: 'action', orderable: false, searchable: false, width:'60px', className:'text-center'},
            ],
            fnDrawCallback: function ( oSettings ) {
                $('[data-toggle="tooltip"]').tooltip();
                $("#product-table td").on("click", '.deleted', function() {
                    var action = $(this).data('action');
                    swal({
                        title: 'Are you sure you want to delete?',
                        text: "This will be permanently deleted",
                        type: 'warning',
                        showCancelButton: true,
                        confirmButtonColor: '#3085d6',
                        cancelButtonColor: '#d33',
                        confirmButtonText: 'Yes'
                        }).then(function () {                    
                        $.ajax({
                            type: "GET",
                            url: action,
                            dataType: 'json',
                            success: function(data) {
                                if(data.type == "success") {
                                    productTable.draw();
                                    swal(data.message, '', 'success')
                               }else{
                                    swal(data.message, '', 'error')
                               }
                            },
                            error :function( jqXhr ) {
                                swal('Unable to delete.', 'Please try again.', 'error')
                            }
                        });
                    })              
                });            
            },
            "order": [[2, "asc"]],
        });
        $('#products-filter').on('submit', function(){
            productTable.draw();
        });
        $('#reset').on('click', function(event) {
            event.preventDefault();
            $('#products-filter [name="name"]').val('');
            $('#products-filter [name="category_id"]').val('');
            $('#products-filter [name="brand_id"]').val('');
            productTable.draw();
        });
    });
</script>
@include('Client::product.includes.js')
@include('Client::notify')
@stopPK�8]h�ü��#Client/Views/product/edit.blade.phpnu�Iw��@extends('Client::layouts')
@section('page-body')

    <section class="content-header">
         <h1>
            <i class="fa fa-pencil"></i> Edit {{$pageModuleName}}
        </h1>
        <ol class="breadcrumb">
            <li><a href="{{ route(config('modules.client').'.products.index') }}"><i class="fa fa-{{$pageIcon ? $pageIcon : 'angle-double-right'}}"></i> {{$pageTitle}}</a></li>             
            <li class="active">Edit</li>
        </ol>
    </section>

    <section class="content"> 
        @include('Client::message')
        {!! Form::model($product, array('url' => config('modules.client').'/products/update/'.$product->hashid, 'method' => 'POST', 'class'=>'form-horizontal', 'role' => 'form' , 'id'=>'product-form', 'files' => true)) !!}
        <div class="row">
            <div class="col-sm-12">
                <div class="box box-primary">
                    <div class="box-header">
                        <h3 class="box-title">@include('Client::all-fields-are-required')</h3>
                    </div>
                    <div class="box-body">
                       @include('Client::product.includes.form')
                    </div>
                </div>
            </div>
        </div>
        <div class="row">
            <div class="col-md-4 col-md-offset-7">
                <button class="btn btn-flat btn-lg btn-block btn-warning save-btn" data-loading-text="<i class='fa fa-circle-o-notch fa-spin'></i> Saving..." ><i class="fa fa-save"></i> Save Changes</button>
            </div>
        </div>
        {!! Form::close() !!}
        <br>
        @include('Client::logs')
    </section>
    @include('Client::product.includes.modal-brand')
    @include('Client::product.includes.modal-category')
@stop
@section('page-css')
    @include('Client::product.includes.css')
@stop
@section('page-js')
    @include('Client::product.includes.js')
    @include('Client::product.includes.js-modal-brand')
    @include('Client::product.includes.js-modal-category')
    @include('Client::notify')
@stopPK�8]r��!!#Client/Views/posts/create.blade.phpnu�Iw��@extends('Client::layouts')
@section('page-body')

    <section class="content-header">
        <h1>
            <i class="fa fa-plus"></i> Add {{$pageModuleName}}
        </h1>
        <ol class="breadcrumb">
            <li><a href="{{ route(config('modules.client').'.posts.index') }}"><i class="fa fa-{{$pageIcon ? $pageIcon : 'angle-double-right'}}"></i> {{$pageTitle}}</a></li>             
            <li class="active">Add</li>           
        </ol>
    </section>

    <section class="content"> 
        @include('Client::message')
        {!! Form::open(array('url'=>url(config('modules.client').'/posts/store'), 'class' => 'form-horizontal', 'method' => 'POST', 'id' => 'post-form','files' => true)) !!}
        <div class="row">
            <div class="col-sm-12">
                <div class="box box-primary">
                    <div class="box-header">
                        <h3 class="box-title">@include('Client::all-fields-are-required')</h3>
                    </div>
                    <div class="box-body">
                       @include('Client::posts.includes.form')
                    </div>
                </div>
            </div>
        </div>
        <div class="row">
            <div class="col-md-4 col-md-offset-7">
                <button class="btn btn-flat btn-lg btn-block btn-primary save-btn" data-loading-text="<i class='fa fa-circle-o-notch fa-spin'></i> Saving..." ><i class="fa fa-save"></i> Save</button>
            </div>
        </div>
        {!! Form::close() !!}
    </section>
    @include('Client::posts.includes.modal-category')
@stop
@section('page-css')
    @include('Client::posts.includes.css')
@stop
@section('page-js')
    @include('Client::posts.includes.js')
    @include('Client::posts.includes.js-modal-category')
    @include('Client::notify')
@stopPK�8]�]���%�%*Client/Views/posts/includes/form.blade.phpnu�Iw��<input type="hidden" name="_token" value="{{ csrf_token() }}">
	<div class="row">
        <div class="col-md-7">
            <div class="col-md-12">
                <div class="form-group {{ ($errors->has('title') ? 'has-error':'') }}">
                    <label class="control-label col-md-2">Title: <i class="required">*</i></label>
                    <div class="col-md-10">
                        {!! Form::text('title', null , ['class'=>'form-control', 'placeholder'=>'Enter Post Title', 'autocomplete'=>'off']) !!}
                        {!! $errors->first('title', '<span class="text-red">:message</span>') !!}
                    </div>
                </div>
                <div class="form-group {{ ($errors->has('posts_category_id') ? 'has-error':'') }}">
                    <label class="control-label col-md-2">Category: <i class="required">*</i></label>
                    <div class="col-md-10">
                        <div class="input-group">
                           {!! Form::select('posts_category_id',  $category , null ,  ['id'=>'selectCategory', 'class'=>'form-control', 'placeholder'=>'-- Select Category']) !!}
                           {!! $errors->first('posts_category_id', '<span class="text-red">:message</span>') !!}
                           <span class="input-group-btn">
                                <button class="btn btn-primary btn-flat" type="button" data-toggle="tooltip" title="Add Category" style="cursor:pointer" onclick="doModalAddCategory();"><i class="fa fa-plus-circle"></i></button>
                           </span>
                        </div>
                    </div>
                </div>
                 <div class="form-group {{ ($errors->has('keywords') ? 'has-error':'') }}">
                    <label class="control-label col-md-2">Keywords: </label>
                    <div class="col-md-10">
                        {!! Form::text('keywords', null , ['class'=>'form-control', 'placeholder'=>'Enter keywords', 'autocomplete'=>'off']) !!}
                        <span class="text-aqua">(Note: For multiple keyword, please type your keyword and hit enter.</span>
                        {!! $errors->first('keywords', '<span class="text-red">:message</span>') !!}
                    </div>
                </div>
                <div class="form-group {{ $errors->has('content') ? ' has-error' : '' }}">
                    <label class="control-label col-md-2">Content:</label>
                    <div class="col-md-12">
                        {!! Form::textarea('content', null , ['class'=>'form-control content', 'placeholder'=>'Details here...', 'autocomplete'=>'off']) !!}
                        {!! $errors->first('content', '<span class="text-red">:message</span>') !!}
                    </div>
                </div>
            </div>
        </div>
        <div class="col-md-5">
            <div class="col-md-12">
                <div class="panel-group" id="accordion">
                    <div class="panel panel-default" id="panel1">
                        <div class="panel-heading">Publish</div>
                        <div class="panel-body">
                            <div class="form-group">
                                <label class="control-label col-md-3">Status: </label>
                                <div class="col-md-9">
                                    {!! Form::select('status',  $status , null ,  ['class'=>'input-sm form-control']) !!}
                                    {!! $errors->first('status', '<span class="text-red">:message</span>') !!}
                                </div>
                            </div>
                            <div class="form-group">
                                <label class="control-label col-md-3">Visibility: </label>
                                <div class="col-md-9">
                                    {!! Form::select('visibility',  $visibility , null ,  ['class'=>'input-sm form-control']) !!}
                                    {!! $errors->first('visibility', '<span class="text-red">:message</span>') !!}
                                </div>
                            </div>
                            <div class="form-group">
                                <label for="inputEmail3" class="col-md-3 control-label">Publish At</label>
                                <div class="col-md-9">
                                    <div class="input-group date">
                                        @if(isset($post->published_at))
                                            {!! Form::text('published_at', null, ['class' => 'input-sm form-control', 'id'=>'publish_date', 'data-mask']) !!}
                                        @else
                                            {!! Form::text('published_at', null, ['class' => 'input-sm form-control date', 'id'=>'publish_date', 'data-mask']) !!}
                                        @endif
                                      <div class="input-group-addon">
                                          <span class="fa fa-calendar"></span>
                                      </div>
                                    </div>
                                    {!! $errors->first('published_at', '<span class="text-red">:message</span>') !!}
                                </div>
                            </div>
                            <div class="form-group">
                                <label for="inputEmail3" class="col-md-3 control-label">Expiring At <a href="javscript:void(0)" class="small" id="clear_expiring_at"><u class="text-warning">Clear date</u></a></label>
                                <div class="col-md-9">
                                    <div class="input-group date">
                                      {!! Form::text('expired_at', null, ['class' => 'input-sm form-control', 'id'=>'expiry_date', 'data-mask']) !!}
                                      <div class="input-group-addon">
                                          <span class="fa fa-calendar"></span>
                                      </div>
                                    </div>
                                    {!! $errors->first('expired_at', '<span class="text-red">:message</span>') !!}
                                    <p class="help-block small"><span class="text-aqua">Leave it blank if no expiring date.</span></p>
                                </div>
                            </div>
                        </div>
                    </div>
                </div>
                <div class="panel-group" id="accordion">
                    <div class="panel panel-default" id="panel1">
                        <div class="panel-heading">
                            <h4 class="panel-title">
                                <a data-toggle="collapse" data-target="#collapseOne" style="cursor: pointer;">Featured Image
                                </a>
                            </h4>
                        </div>
                        <div id="collapseOne" class="panel-collapse collapse in">
                            <div class="panel-body">
                                <div class="form-group">
                                    <div class="col-sm-12">
                                        <div class="input-group">
                                          <span class="input-group-btn">
                                            <a id="image" data-input="featured_image" data-preview="featuredImagePreview" class="btn btn-primary">
                                              <i class="fa fa-picture-o"></i> Choose
                                            </a>
                                          </span>
                                          {!! Form::text('featured_image', null , ['class'=>'form-control', 'id' => 'featured_image', 'readonly' => 'readonly']) !!}
                                        </div>
                                    </div>
                                </div>
                                <br>
                                <div class="text-center">
                                    <img src="{{ get_photo_link((isset($post->featured_image) ? $post->featured_image:''), true) }}" id="featuredImagePreview" alt="" height="200px">
                                </div>
                            </div>
                        </div>
                    </div>
                </div>
                <div class="panel-group" id="accordion">
                    <div class="panel panel-default" id="panel1">
                        <div class="panel-heading">
                            <h4 class="panel-title">
                                <a data-toggle="collapse" data-target="#collapseTwo" style="cursor: pointer;">Excerpt
                                </a>
                            </h4>
                        </div>
                        <div id="collapseTwo" class="panel-collapse collapse in">
                            <div class="panel-body">
                                <div class="form-group">
                                    <div class="col-sm-12">
                                        {!! Form::textarea('excerpt', null , ['class'=>'form-control', 'placeholder'=>'Enter Excerpt', 'autocomplete'=>'off', 'rows'=>'3', 'style'=>'resize: vertical;']) !!}
                                        {!! $errors->first('excerpt', '<span class="text-red">:message</span>') !!}
                                    </div>
                                </div>
                            </div>
                        </div>
                    </div>
                </div>
            </div>
        </div>
    </div>PK�8]�H���(Client/Views/posts/includes/js.blade.phpnu�[���<script type="text/javascript" src="{{ asset('vendor/jsvalidation/js/jsvalidation.js')}}"></script>
{!! JsValidator::formRequest('QxCMS\Modules\Client\Requests\Posts\PostRequest', 'form#post-form'); !!}
<script>
     $('#image').filemanager('image', {prefix: "{{ URL::to('/qxcms/laravel/filemanager') }}"});
</script>
<script type="text/javascript">
    CKEDITOR.replace( 'content', {
        filebrowserImageBrowseUrl: '/qxcms/laravel/filemanager?type=Images',
        filebrowserBrowseUrl: '/qxcms/laravel/filemanager?type=Files',
    });

   /* var path = $('[name="featured_image"]').val();
    $("#featuredImagePreview").attr("src", "{{ get_photo_link() }}"+path);*/
</script>
<script type="text/javascript">
$(function(){
    var body = $('body');
    $("#publish_date, #expiry_date").inputmask(body.data('datepicker-mask'), {"placeholder": body.data('datepicker-mask')});
    $("#publish_date, #expiry_date").datepicker({ 
        yearRange: "1970:+0",
        changeMonth: true,
        changeYear: true,
        minDate: 0,
        dateFormat: body.data('datepicker-format'),
        onSelect: function(datetext){
            $(this).valid();
        }
    });

    $('.date').datepicker("setDate", "0");
    $('input[name="keywords"]').tokenfield();
});
</script>
<script>
$(function(){
    if ($('#clear_expiring_at').length){
        $('#clear_expiring_at').on('click', function(event) {
            event.preventDefault();
            $('[name="expired_at"]').val('');
        });
    }
});
</script>PK�8]����zz)Client/Views/posts/includes/css.blade.phpnu�Iw��<style>
.panel-heading a:after {
    font-family:'Glyphicons Halflings';
    content:"\e114";
    float: right;
}
</style>PK�8]�����4Client/Views/posts/includes/modal-category.blade.phpnu�Iw��<!-- Modal for Adding Product Category -->
<div class="modal fade bs-example-modal-md" id="postCategoryModal" tabindex="-1" role="dialog" aria-labelledby="mySmallModalLabel">
    <div class="modal-dialog modal-md">
        <div class="modal-content">
            <div class="modal-header">
                <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
                <h4 class="modal-title" id="myModalLabel">Add New Category</h4>
            </div>
            <div class="modal-body form-horizontal">
                <div class="form-group form-group-sm">
                    <label for="inputEmail3" class="col-sm-3 control-label">Category Name</label>
                    <div class="col-sm-9">
                        {!! Form::text('name', null, ['class'=>'form-control', 'id'=>'post_category_name', 'autocomplete' => 'off']) !!}
                    </div>
                </div>
                <div class="form-group">
                    <div class="col-sm-offset-3 col-sm-9">
                        <div id="hide_onclick_modal">
                            <button type="button" class="btn btn-primary btn-sm" id="addbutton_category">Add Category</button>
                            <button type="button" class="btn btn-default btn-sm" data-dismiss="modal">Close</button>
                        </div>
                        <div id="show_onclick_modal" style="display:none">
                            <button class="btn btn-sm btn-primary"><span class="fa fa-refresh fa-spin"></span> Loading ...</button>
                        </div>
                    </div>
                </div>
                <hr>
                <table class="table table-condensed table-bordered" id="postCategoryTable">
                    <thead>
                        <tr>
                            <th>Name</th>
                            <th>Slug</th>
                            <th>Action</th>
                        </tr>
                    </thead>
                    <tbody>            
                    </tbody>
                </table>
            </div>
        </div>
    </div>
</div>
<!-- Modal for Adding Product CategoryPK�8]O�
227Client/Views/posts/includes/js-modal-category.blade.phpnu�Iw��<!-- Brand js -->
<script type="text/javascript">
var category_datatable;
$( document ).ready( function() {

	$('#addbutton_category').click( function() {
        var name = $('#post_category_name').val();
		if(name=='') {
			swal("Error!", "Name is required!", "error");
			$('#post_category_name').focus();
			return false;
		} else {
			$("#hide_onclick_modal").hide();
			$("#show_onclick_modal").show();
			$.ajax({
	        	type: "post",
	          	url: "/client/modals/postcategory/store",
	          	data: {
	            	name: $("#post_category_name").val()
	          	},
	          	success: function(result) {
	          		var table = $('#postCategoryTable').DataTable();   
	          		table.ajax.reload(); 	          		   
	          		$("#hide_onclick_modal").show();
					$("#show_onclick_modal").hide();
	            	$('#selectCategory').append($('<option>', {
		                value: result.id,
		                text: result.name,
		                selected: true
		            }));
	            	$('#postCategoryModal').modal('hide');	            
	          	},
	          	error :function( xhr ) {
	                if( xhr.status === 422 ) {
	                    var errors = JSON.parse(xhr.responseText);
	                    alert(errors['name'][0]);	                    
	                } else {
	                	swal("Error!", "Error occured please try again.", "error");
	                }
	                $("#hide_onclick_modal").show();
					$("#show_onclick_modal").hide();
	            }
	        });
		}
    }); 

});
function initializeCategory()
{
		category_datatable = 1;
		table = $('#postCategoryTable').DataTable({
        "processing": true,
        "serverSide": true,
        ajax: {
            url:'/client/modals/postcategory/get-post-category-data', 
            type: 'POST',
        },
		"bAutoWidth": false,
		"iDisplayLength": 10,
		columns: [
			{data: 'name', name: 'name', className:'editable'},
			{data: 'slug', name: 'slug', orderable:false, searchable:false,},
			{data: 'action', name: 'action', orderable:false, searchable:false, width:'60px', className:'text-center'},
		],
		"order": [[0, "asc"]],
		fnDrawCallback: function ( oSettings ) {
			$('#postCategoryTable tbody td.editable').editable('/client/modals/postcategory/update', {
                callback: function( sValue, y ) {
		           table.draw();
				},
				onsubmit: function(settings, original) {
		            if ((original.revert == $('input',this).val()) || $('input',this).val() == "") {
		            	original.reset();
		            	$(original).parents('tr').find('td.hide_me').show();
		            	return false;
		        	}
				},
				submitdata: function (value, settings) {
	            	var id = $(this).parents('tr').find('a.btn-edit').data('id');
			        return {
			              'id':id
			        };
				},
				onerror:  function(settings, original, xhr) {
	                if( xhr.status === 422 ) {
	                      var errors = JSON.parse(xhr.responseText);
	                      alert(errors['name'][0]);
	                      original.reset(); 
	                      $(original).parents('tr').find('td.hide_me').show();
	                } else {
	                    swal("Error!", "Error occured please try again.", "error");
	                }
		        },
				onblur:'submit',
				event:'custom_event',
				height:"30px",
				width:'100%',
				name : 'name'
			});

			$("#postCategoryTable tbody td").on("click", 'a.btn-edit', function() {
  				$(this).parents('tr').find('td.editable').trigger("custom_event");
  				$(this).parent('td').addClass('hide_me').hide();
			});

			$("#postCategoryTable tbody td").on("click", 'a.btn-delete', function() {
				var action = $(this).data('action');
				swal({
                    title: 'Are you sure you want to delete?',
                    text: "This will be permanently deleted",
                    type: 'warning',
                    showCancelButton: true,
                    confirmButtonColor: '#3085d6',
                    cancelButtonColor: '#d33',
                    confirmButtonText: 'Yes'
                    })
					.then(function () {                    
                    $.ajax({
                        type: "GET",
                        url: action,
                        dataType: 'json',
                        success: function(data) {
                           if(data.success == "yes") {
                                table.draw();
                                swal("Deleted!", "Category successfuly deleted!", "success");
                                $("#selectCategory option[value='"+data.id+"']").remove();
                           }else{
                                swal("Error!", "Cannot delete it is being used in database.", "error");
                           }
                        },
                        error :function( jqXhr ) {
                            swal('Unable to delete.', 'Please try again.', 'error')
                        }
                    });
                })  
			});
		}
	});

	$('#post_category_name').val('');
    $('#postCategoryModal').modal({'backdrop':'static'});
}

function doModalAddCategory()
{	
	if(category_datatable != 1) {
		initializeCategory();
	}
	else {
		$('#post_category_name').val('');
    	$('#postCategoryModal').modal({'backdrop':'static'});
	}
}
</script>
<!-- End of Brand js -->PK�8]�X{��"Client/Views/posts/index.blade.phpnu�Iw��@extends('Client::layouts')
@section('page-body')
    <!-- Content Header (Page header) -->
    <section class="content-header">
        <h1>
            <i class="fa fa-{{$pageIcon ? $pageIcon : 'angle-double-right'}}" aria-hidden="true"></i> {{$pageTitle}}
            <br>
            <small>{{$pageDescription}}</small>
        </h1>
        <ol class="breadcrumb">
            <li class="active"><i class="fa fa-{{$pageIcon ? $pageIcon : 'angle-double-right'}}"></i> {{$pageTitle}}</li>           
        </ol>
    </section>
    <!-- Main content -->
    <section class="content"> 
        @include('Client::message')
        <div class="box box-default">
            <div class="box-header with-border">
                <div class="pull-left">
                    <form action="javascript:void(0)" id="post-filter" method="POST" class="form-inline" role="form">
                        <b>Filter: </b>
                        <div class="form-group">
                            <label class="sr-only" for="">Search Posts</label>
                            {!! Form::select('posts_category_id', $category, null, ['class' => 'form-control', 'placeholder'=>'All']) !!}
                        </div>
                        <div class="form-group">
                            {!! Form::text('title', null, ['placeholder' => 'Post Title', 'class' => 'form-control', 'autocomplete' => 'off']) !!}
                        </div>
                        <button type="submit" class="btn btn-primary">Filter</button>
                        <button href="javascript:void(0)" class="btn btn-default" id="reset">Reset</button>
                    </form>
                </div>
                @can('create', $permissions)
                    <div class="pull-right">
                        <a href="/client/posts/create" class="btn btn-primary btn-flat"><i class="fa fa-plus-circle"></i> Add {{$pageModuleName}}</a>
                    </div>
                @endcan
            </div>
            <div class="box-body">
                <table class="table table-bordered table-striped table-hover" id="post-table" width="100%">
                    <thead>
                        <tr>
                            <th>#</th>
                            <th>Title</th>
                            <th>Category</th>
                            <th>Author</th>
                            <th>Views</th>
                            <th>Date</th>
                            <th>Action</th>
                        </tr>
                    </thead>
               </table>
            </div>                
        </div>
        @include('Client::logs')
    </section>
@stop
@section('page-js')
<script type="text/javascript">
    $(document).ready(function() {
        var postTable = $('#post-table').DataTable({
            "processing": true,
            "serverSide": true,
            "pagingType": "input",
            "bFilter": false,
            ajax: {
                url:'posts/get-post-data', 
                type: 'POST',
                "data": function(d){
                    d.title = $('#post-filter [name="title"]').val();
                    d.posts_category_id = $('#post-filter [name="posts_category_id"]').val();
                }
            },
            "dom": "<'row'<'col-sm-6'i><'col-sm-6 text-right'l>>" +
                "<'row'<'col-sm-12'tr>>" +
                "<'row'<'col-sm-5'><'col-sm-7'p>>",
            columns: [
                {
                    width:'10px', searchable: false, orderable: false,
                    render: function (data, type, row, meta) {
                        return meta.row + meta.settings._iDisplayStart + 1;
                    }
                },
                { data: 'title', name: 'title' },
                { data: 'category', name: 'category', sortable: false, searchable: false},
                { data: 'author', name: 'author', sortable: false, searchable: false},
                { data: 'pageviews', name: 'pageviews', sortable: true, searchable: false},
                { data: 'date', name: 'date', sortable: true, searchable: false, width:'90px'},
                { data: 'action', name: 'action', orderable: false, searchable: false, width:'60px', className:'text-center'},
            ],
            fnDrawCallback: function ( oSettings ) {
                $('[data-toggle="tooltip"]').tooltip();
                $("#post-table td").on("click", '.deleted', function() {
                    var action = $(this).data('action');
                    swal({
                        title: 'Are you sure you want to delete?',
                        text: "This will be permanently deleted",
                        type: 'warning',
                        showCancelButton: true,
                        confirmButtonColor: '#3085d6',
                        cancelButtonColor: '#d33',
                        confirmButtonText: 'Yes'
                        }).then(function () {                    
                        $.ajax({
                            type: "GET",
                            url: action,
                            dataType: 'json',
                            success: function(data) {
                                if(data.type == "success") {
                                    postTable.draw();
                                    swal(data.message, '', 'success')
                               }else{
                                    swal(data.message, '', 'error')
                               }
                            },
                            error :function( jqXhr ) {
                                swal('Unable to delete.', 'Please try again.', 'error')
                            }
                        });
                    })              
                });            
            },
            "order": [[5, "desc"]],
        });
        $('#post-filter').on('submit', function(){
            postTable.draw();
        });
        $('#reset').on('click', function(event) {
            event.preventDefault();
            $('#post-filter [name="title"]').val('');
            $('#post-filter [name="posts_category_id"]').val('');
            postTable.draw();
        });
    });
</script>
@include('Client::posts.includes.js')
@include('Client::notify')
@stopPK�8]
)�vv!Client/Views/posts/edit.blade.phpnu�Iw��@extends('Client::layouts')
@section('page-body')

    <section class="content-header">
         <h1>
            <i class="fa fa-pencil"></i> Edit {{$pageModuleName}}
        </h1>
        <ol class="breadcrumb">
            <li><a href="{{ route(config('modules.client').'.posts.index') }}"><i class="fa fa-{{$pageIcon ? $pageIcon : 'angle-double-right'}}"></i> {{$pageTitle}}</a></li>             
            <li class="active">Edit</li>
        </ol>
    </section>

    <section class="content"> 
        @include('Client::message')
        {!! Form::model($post, array('url' => config('modules.client').'/posts/update/'.$post->hashid, 'method' => 'POST', 'class'=>'form-horizontal', 'role' => 'form' , 'id'=>'post-form', 'files' => true)) !!}
        <div class="row">
            <div class="col-sm-12">
                <div class="box box-primary">
                    <div class="box-header">
                        <h3 class="box-title">@include('Client::all-fields-are-required')</h3>
                    </div>
                    <div class="box-body">
                       @include('Client::posts.includes.form')
                    </div>
                </div>
            </div>
        </div>
        <div class="row">
            <div class="col-md-4 col-md-offset-7">
                <button class="btn btn-flat btn-lg btn-block btn-warning save-btn" data-loading-text="<i class='fa fa-circle-o-notch fa-spin'></i> Saving..." ><i class="fa fa-save"></i> Save Changes</button>
            </div>
        </div>
        {!! Form::close() !!}
        <br>
        @include('Client::logs')
    </section>
    @include('Client::posts.includes.modal-category')
@stop
@section('page-css')
    @include('Client::posts.includes.css')
@stop
@section('page-js')
    @include('Client::posts.includes.js')
    @include('Client::posts.includes.js-modal-category')
    @include('Client::notify')
@stopPK�8]H���hKhK.Client/Views/permission/notActivated.blade.phpnu�Iw��@extends('Client::layouts',['title'=>'Access Forbidden'])
@section('page-body')    
    <!-- Main content -->
    <section class="content">
        <div class="access-denied-content" style="margin-top:8px;">
            <!-- Speech Bubble -->
            <div class="col-md-6">
                <div class="speech-bubble-inner">
                    <!-- Typing animation occurs -->
                    <div class="typist_dialog"></div>
                </div>
            </div>
            <!-- SVG -->
            <div class="col-md-6">
                <div class="svg-container img-responsive">
                    <svg class="img-responsive" version="1.1" id="object" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
                         width="551.109px" height="482.976px" viewBox="0 0 551.109 482.976" style="enable-background:new 0 0 551.109 482.976;"
                         xml:space="preserve">
                    <rect x="226.217" y="38.292" transform="matrix(-1 -0.0095 0.0095 -1 528.0099 224.6138)" style="fill-rule:evenodd;clip-rule:evenodd;fill:#004964;" width="76.642" height="145.524"/>
                    <rect x="236.794" y="301.182" transform="matrix(1 0.0095 -0.0095 1 3.5619 -2.5946)" style="fill-rule:evenodd;clip-rule:evenodd;fill:#C46C23;" width="76.642" height="145.524"/>
                    <rect x="8.533" y="103.593" style="fill:#3D342F;" width="535.426" height="283.486"/>
                    <g>
                        <g>
                            <polygon style="fill:#EEEFEF;" points="65.228,241.162 121.401,241.162 121.401,143.578 45.138,143.578 45.138,221.071         "/>
                            <polygon style="fill:#DEE9EA;" points="65.228,221.071 65.228,241.162 45.138,221.071         "/>
                            <path style="fill:#535E60;" d="M57.746,207.336h52.379c1.132,0,2.05,0.917,2.05,2.05c0,1.132-0.917,2.05-2.05,2.05H57.746
                                c-1.132,0-2.05-0.918-2.05-2.05C55.695,208.253,56.613,207.336,57.746,207.336z"/>
                            <path style="fill:#535E60;" d="M57.746,195.958h52.379c1.132,0,2.05,0.917,2.05,2.05c0,1.132-0.917,2.05-2.05,2.05H57.746
                                c-1.132,0-2.05-0.918-2.05-2.05C55.695,196.875,56.613,195.958,57.746,195.958z"/>
                            <path style="fill:#535E60;" d="M57.746,184.58h52.379c1.132,0,2.05,0.917,2.05,2.05c0,1.132-0.917,2.05-2.05,2.05H57.746
                                c-1.132,0-2.05-0.918-2.05-2.05C55.695,185.497,56.613,184.58,57.746,184.58z"/>
                            <path style="fill:#535E60;" d="M57.746,173.202h52.379c1.132,0,2.05,0.917,2.05,2.05c0,1.132-0.917,2.05-2.05,2.05H57.746
                                c-1.132,0-2.05-0.918-2.05-2.05C55.695,174.119,56.613,173.202,57.746,173.202z"/>
                            <path style="fill:#535E60;" d="M57.746,161.824h52.379c1.132,0,2.05,0.917,2.05,2.05c0,1.132-0.917,2.05-2.05,2.05H57.746
                                c-1.132,0-2.05-0.918-2.05-2.05C55.695,162.741,56.613,161.824,57.746,161.824z"/>
                        </g>
                        <g>
                            <polygon style="fill:#FFFFFF;" points="57.003,248.85 113.175,248.85 113.175,151.266 36.912,151.266 36.912,228.759       "/>
                            <polygon style="fill:#E3E4E5;" points="57.003,228.759 57.003,248.85 36.912,228.759      "/>
                            <path style="fill:#58595B;" d="M49.52,215.024H101.9c1.132,0,2.05,0.917,2.05,2.05c0,1.132-0.918,2.05-2.05,2.05H49.52
                                c-1.132,0-2.05-0.918-2.05-2.05C47.47,215.941,48.388,215.024,49.52,215.024z"/>
                            <path style="fill:#58595B;" d="M49.52,203.646H101.9c1.132,0,2.05,0.917,2.05,2.05c0,1.132-0.918,2.05-2.05,2.05H49.52
                                c-1.132,0-2.05-0.918-2.05-2.05C47.47,204.563,48.388,203.646,49.52,203.646z"/>
                            <path style="fill:#58595B;" d="M49.52,192.268H101.9c1.132,0,2.05,0.917,2.05,2.05c0,1.132-0.918,2.05-2.05,2.05H49.52
                                c-1.132,0-2.05-0.918-2.05-2.05C47.47,193.185,48.388,192.268,49.52,192.268z"/>
                            <path style="fill:#58595B;" d="M49.52,180.89H101.9c1.132,0,2.05,0.917,2.05,2.05c0,1.132-0.918,2.05-2.05,2.05H49.52
                                c-1.132,0-2.05-0.918-2.05-2.05C47.47,181.807,48.388,180.89,49.52,180.89z"/>
                            <path style="fill:#58595B;" d="M49.52,169.512H101.9c1.132,0,2.05,0.917,2.05,2.05c0,1.132-0.918,2.05-2.05,2.05H49.52
                                c-1.132,0-2.05-0.918-2.05-2.05C47.47,170.429,48.388,169.512,49.52,169.512z"/>
                        </g>
                    </g>
                    <g>
                        <g>
                            <polygon style="fill:#FFFFFF;" points="460.732,272.781 516.904,272.781 516.904,175.198 440.641,175.198 440.641,252.691      "/>
                            <polygon style="fill:#E3E4E5;" points="460.732,252.691 460.732,272.781 440.641,252.691      "/>
                            <path style="fill:#58595B;" d="M453.249,238.955h52.38c1.132,0,2.049,0.917,2.049,2.05c0,1.132-0.917,2.05-2.049,2.05h-52.38
                                c-1.132,0-2.05-0.918-2.05-2.05C451.199,239.872,452.117,238.955,453.249,238.955z"/>
                            <path style="fill:#58595B;" d="M453.249,227.577h52.38c1.132,0,2.049,0.917,2.049,2.05c0,1.132-0.917,2.05-2.049,2.05h-52.38
                                c-1.132,0-2.05-0.918-2.05-2.05C451.199,228.494,452.117,227.577,453.249,227.577z"/>
                            <path style="fill:#58595B;" d="M453.249,216.199h52.38c1.132,0,2.049,0.917,2.049,2.05c0,1.132-0.917,2.05-2.049,2.05h-52.38
                                c-1.132,0-2.05-0.918-2.05-2.05C451.199,217.116,452.117,216.199,453.249,216.199z"/>
                            <path style="fill:#58595B;" d="M453.249,204.822h52.38c1.132,0,2.049,0.917,2.049,2.05c0,1.132-0.917,2.05-2.049,2.05h-52.38
                                c-1.132,0-2.05-0.918-2.05-2.05C451.199,205.739,452.117,204.822,453.249,204.822z"/>
                            <path style="fill:#58595B;" d="M453.249,193.444h52.38c1.132,0,2.049,0.917,2.049,2.05c0,1.132-0.917,2.05-2.049,2.05h-52.38
                                c-1.132,0-2.05-0.918-2.05-2.05C451.199,194.361,452.117,193.444,453.249,193.444z"/>
                        </g>
                        <g>
                            <polygon style="fill:#FFFFFF;" points="432.646,235.367 488.819,235.367 488.819,137.783 412.555,137.783 412.555,215.277      "/>
                            <polygon style="fill:#E3E4E5;" points="432.646,215.277 432.646,235.367 412.555,215.277      "/>
                            <path style="fill:#58595B;" d="M425.163,201.541h52.38c1.132,0,2.049,0.917,2.049,2.05c0,1.132-0.917,2.05-2.049,2.05h-52.38
                                c-1.132,0-2.05-0.918-2.05-2.05C423.113,202.458,424.031,201.541,425.163,201.541z"/>
                            <path style="fill:#58595B;" d="M425.163,190.163h52.38c1.132,0,2.049,0.917,2.049,2.05c0,1.132-0.917,2.05-2.049,2.05h-52.38
                                c-1.132,0-2.05-0.918-2.05-2.05C423.113,191.08,424.031,190.163,425.163,190.163z"/>
                            <path style="fill:#58595B;" d="M425.163,178.785h52.38c1.132,0,2.049,0.917,2.049,2.05c0,1.132-0.917,2.05-2.049,2.05h-52.38
                                c-1.132,0-2.05-0.918-2.05-2.05C423.113,179.702,424.031,178.785,425.163,178.785z"/>
                            <path style="fill:#58595B;" d="M425.163,167.407h52.38c1.132,0,2.049,0.917,2.049,2.05c0,1.132-0.917,2.05-2.049,2.05h-52.38
                                c-1.132,0-2.05-0.918-2.05-2.05C423.113,168.324,424.031,167.407,425.163,167.407z"/>
                            <path style="fill:#58595B;" d="M425.163,156.03h52.38c1.132,0,2.049,0.917,2.049,2.05c0,1.132-0.917,2.05-2.049,2.05h-52.38
                                c-1.132,0-2.05-0.918-2.05-2.05C423.113,156.947,424.031,156.03,425.163,156.03z"/>
                        </g>
                    </g>
                    <g>
                        <polygon style="fill:#FFFFFF;" points="292.431,193.695 236.258,193.695 236.258,291.279 312.521,291.279 312.521,213.786  "/>
                        <polygon style="fill:#E3E4E5;" points="292.431,213.786 292.431,193.695 312.521,213.786  "/>
                        <path style="fill:#58595B;" d="M299.913,227.522h-52.379c-1.132,0-2.05-0.917-2.05-2.05c0-1.132,0.918-2.05,2.05-2.05h52.379
                            c1.132,0,2.05,0.918,2.05,2.05C301.963,226.605,301.045,227.522,299.913,227.522z"/>
                        <path style="fill:#58595B;" d="M299.913,238.9h-52.379c-1.132,0-2.05-0.917-2.05-2.05c0-1.132,0.918-2.05,2.05-2.05h52.379
                            c1.132,0,2.05,0.918,2.05,2.05C301.963,237.983,301.045,238.9,299.913,238.9z"/>
                        <path style="fill:#58595B;" d="M299.913,250.278h-52.379c-1.132,0-2.05-0.917-2.05-2.05c0-1.132,0.918-2.05,2.05-2.05h52.379
                            c1.132,0,2.05,0.918,2.05,2.05C301.963,249.361,301.045,250.278,299.913,250.278z"/>
                        <path style="fill:#58595B;" d="M299.913,261.655h-52.379c-1.132,0-2.05-0.917-2.05-2.05c0-1.132,0.918-2.05,2.05-2.05h52.379
                            c1.132,0,2.05,0.918,2.05,2.05C301.963,260.738,301.045,261.655,299.913,261.655z"/>
                        <path style="fill:#58595B;" d="M299.913,273.033h-52.379c-1.132,0-2.05-0.917-2.05-2.05c0-1.132,0.918-2.05,2.05-2.05h52.379
                            c1.132,0,2.05,0.918,2.05,2.05C301.963,272.116,301.045,273.033,299.913,273.033z"/>
                    </g>
                    <path style="fill-rule:evenodd;clip-rule:evenodd;fill:#F4DDC0;" d="M236.515,282.613c-0.75,1.672-1.619,3.72-2.668,6.132
                        l7.912-5.322c3.347-2.251,5.662,0.485,6.198,2.383l-16.783,13.193c-2.34,1.839-6.78,1.354-10.609-0.158
                        c-7.919-3.127-10.521-10.27-6.075-21.069l1.79-8.985c0.786-3.781,6.121-2.633,5.296,1.18l-0.811,3.752
                        c0.218-0.123,0.513-0.209,0.785-0.273l2.361-7.191c1.18-3.722,6.176-1.623,5.211,1.514l-1.847,6c0.16,0.03,0.46,0.151,0.569,0.193
                        l2.965-7.408c1.337-3.342,6.367-1.273,5.029,2.039l-3.439,8.582c0.177,0.213,0.343,0.434,0.503,0.658l8.637-16.408
                        c1.644-3.122,6.504-0.707,4.792,2.548L236.515,282.613z"/>
                    <path style="fill:#F26E25;" d="M210.34,368.09c-1.234-19.22,7.665-39.62,18.006-59.368l-2.151-1.123l4.335-8.27l-18.755-9.829
                        l-4.348,8.295l-1.234-0.645c-12.074,23.058-22.437,47.321-20.814,72.583c1.673,26.049,15.707,51.616,52.696,75.182l13.463-21.133
                        C222.466,405.262,211.525,386.525,210.34,368.09z"/>
                    <path style="fill-rule:evenodd;clip-rule:evenodd;fill:#F4DDC0;" d="M306.98,282.613c0.75,1.672,1.619,3.72,2.668,6.132
                        l-7.911-5.322c-3.348-2.251-5.662,0.485-6.198,2.383l16.783,13.193c2.34,1.839,6.78,1.354,10.609-0.158
                        c7.919-3.127,10.521-10.27,6.075-21.069l-1.789-8.985c-0.786-3.781-6.121-2.633-5.297,1.18l0.811,3.752
                        c-0.218-0.123-0.513-0.209-0.785-0.273l-2.36-7.191c-1.181-3.722-6.177-1.623-5.212,1.514l1.847,6
                        c-0.159,0.03-0.46,0.151-0.568,0.193l-2.966-7.408c-1.337-3.342-6.366-1.273-5.028,2.039l3.438,8.582
                        c-0.177,0.213-0.343,0.434-0.503,0.658l-8.637-16.408c-1.645-3.122-6.504-0.707-4.792,2.548L306.98,282.613z"/>
                    <path style="fill:#F26E25;" d="M337.303,297.151l-1.234,0.645l-4.349-8.295l-18.755,9.829l4.335,8.27l-2.151,1.123
                        c10.341,19.748,19.24,40.148,18.006,59.368c-1.185,18.435-12.127,37.172-41.197,55.692l13.463,21.133
                        c36.99-23.565,51.023-49.133,52.697-75.182C359.739,344.472,349.376,320.208,337.303,297.151z"/>
                    <ellipse style="fill-rule:evenodd;clip-rule:evenodd;fill:#F26E25;" cx="271.724" cy="420.078" rx="54.374" ry="28.334"/>
                    <path style="fill-rule:evenodd;clip-rule:evenodd;fill:#4B2505;" d="M271.41,390.169c8.557-2.366,17.352-1.813,25.215,1.138
                        c-6.039,0.534-9.088-0.005-13.609,2.389c10.141,0.857,15.484-0.475,24.289,6.018c-7.461-1.466-10.511-1.046-12.602,0.216
                        c14.031,6.173,21.773,20.614,22.178,35.311c0.56,20.312-13.586,40.892-45.134,40.892c-31.547,0-46.772-21.293-45.068-42.912
                        c0.984-12.483,8.307-24.866,22.9-32.839c-2.095-1.253-5.146-1.66-12.603-0.166c8.779-6.525,14.129-5.215,24.267-6.114
                        c-4.532-2.374-7.579-1.823-13.621-2.335C255.04,388.951,263.297,388.27,271.41,390.169z"/>
                    <g>
                        <path style="fill-rule:evenodd;clip-rule:evenodd;fill:#F4DDC0;" d="M306.339,189.634c0.75-1.672,1.619-3.72,2.668-6.132
                            l-7.911,5.322c-3.348,2.251-5.662-0.485-6.198-2.383l16.783-13.193c2.34-1.839,6.78-1.355,10.609,0.158
                            c7.92,3.127,10.522,10.27,6.075,21.069l-1.789,8.985c-0.786,3.781-6.121,2.633-5.296-1.18l0.811-3.752
                            c-0.218,0.123-0.513,0.209-0.785,0.273l-2.36,7.191c-1.181,3.722-6.177,1.623-5.212-1.514l1.848-6
                            c-0.16-0.03-0.461-0.151-0.569-0.193l-2.966,7.408c-1.337,3.342-6.366,1.274-5.028-2.039l3.439-8.582
                            c-0.177-0.213-0.343-0.434-0.503-0.658l-8.637,16.408c-1.645,3.122-6.504,0.707-4.792-2.548L306.339,189.634z"/>
                        <path style="fill:#005371;" d="M330.96,119.195c1.234,19.22-7.713,24.394-18.054,44.142l2.15,1.123l-4.334,8.27l18.755,9.829
                            l4.349-8.295l1.234,0.645c12.073-23.058,22.484-32.096,20.862-57.357c-1.673-26.049-15.707-51.616-52.696-75.182l-13.463,21.133
                            C318.834,82.023,329.776,100.76,330.96,119.195z"/>
                    </g>
                    <path style="fill-rule:evenodd;clip-rule:evenodd;fill:#F4DDC0;" d="M232.673,202.384c-0.75-1.672-1.619-3.72-2.668-6.132
                        l7.911,5.322c3.348,2.251,5.662-0.485,6.198-2.383l-16.783-13.193c-2.34-1.839-6.78-1.355-10.609,0.158
                        c-7.919,3.127-10.521,10.27-6.075,21.069l1.789,8.985c0.786,3.781,6.121,2.633,5.297-1.18l-0.811-3.752
                        c0.218,0.123,0.513,0.209,0.785,0.273l2.36,7.191c1.181,3.722,6.177,1.623,5.212-1.514l-1.847-6c0.159-0.03,0.46-0.151,0.568-0.193
                        l2.966,7.408c1.337,3.342,6.366,1.274,5.028-2.039l-3.438-8.582c0.177-0.213,0.343-0.434,0.503-0.658l8.637,16.408
                        c1.645,3.122,6.504,0.707,4.792-2.548L232.673,202.384z"/>
                    <path style="fill:#005371;" d="M202.35,187.847l1.234-0.645l4.349,8.295l18.755-9.829l-4.335-8.27l2.151-1.123
                        c-10.341-19.748-19.24-40.148-18.005-59.368c1.185-18.435,12.127-37.172,41.197-55.692l-13.463-21.133
                        c-36.99,23.565-51.023,49.133-52.697,75.182C179.914,140.526,190.277,164.79,202.35,187.847z"/>
                    <ellipse style="fill-rule:evenodd;clip-rule:evenodd;fill:#005371;" cx="267.93" cy="64.92" rx="54.374" ry="28.334"/>
                    <path style="fill-rule:evenodd;clip-rule:evenodd;fill:#592D09;" d="M268.242,94.829c-8.556,2.366-17.352,1.813-25.214-1.138
                        c6.039-0.534,9.088,0.005,13.609-2.389c-10.141-0.857-15.484,0.475-24.289-6.018c7.461,1.466,10.511,1.046,12.602-0.216
                        c-14.031-6.173-21.773-20.614-22.178-35.312c-0.561-20.312,13.586-40.892,45.134-40.892c31.547,0,46.771,21.293,45.068,42.912
                        c-0.984,12.482-8.308,24.866-22.9,32.839c2.094,1.253,5.145,1.66,12.603,0.166c-8.779,6.525-14.129,5.215-24.267,6.114
                        c4.531,2.374,7.578,1.823,13.621,2.335C284.613,96.047,276.357,96.728,268.242,94.829z"/>
                    <path style="display:none;fill:#3498DB;" d="M191.033,37.931l-10.662-27.094c4.352-8.988,6.715-18.598,6.715-28.587
                        c0-50.117-59.31-90.746-132.473-90.746c-73.162,0-132.472,40.628-132.472,90.746s59.31,90.746,132.472,90.746
                        c45.852,0,86.261-15.959,110.041-40.21L191.033,37.931z"/>
                    <path style="fill:#E74C3C;" d="M291.833,224.39c-0.02-0.022-0.039-0.045-0.06-0.066c-0.045-0.045-0.093-0.087-0.142-0.127
                        c-4.505-4.249-10.574-6.858-17.241-6.858c-13.867,0-25.148,11.282-25.148,25.15c0,6.664,2.607,12.73,6.853,17.234
                        c0.041,0.051,0.084,0.101,0.131,0.148c0.025,0.024,0.05,0.046,0.076,0.069c4.577,4.742,10.994,7.697,18.088,7.697
                        c13.866,0,25.147-11.281,25.147-25.148C299.538,235.388,296.58,228.967,291.833,224.39z M274.39,220.779
                        c5.168,0,9.92,1.817,13.652,4.844l-30.516,30.516c-3.027-3.732-4.843-8.483-4.844-13.651
                        C252.682,230.518,262.42,220.779,274.39,220.779z M274.39,264.196c-5.565,0-10.648-2.107-14.494-5.563l30.64-30.64
                        c3.456,3.846,5.562,8.929,5.562,14.495C296.098,254.458,286.36,264.196,274.39,264.196z"/>
                    <path style="display:none;fill:#3498DB;" d="M152.032,130.978l-21.707,55.159c8.86,18.299,13.67,37.863,13.67,58.199
                        c0,102.032-120.747,184.746-269.696,184.746c-148.948,0-269.695-82.714-269.695-184.746S-274.648,59.591-125.7,59.591
                        c93.349,0,175.615,32.491,224.028,81.862L152.032,130.978z"/>
                    </svg>
                </div>
            </div>
            <div class="write-ups">
                <div class="alert alert-success">
                    <ul class="fa-ul">
                        <li>
                            <i class="fa fa-exclamation-triangle fa-lg fa-li" aria-hidden="true"></i>
                            If you think this is an error. Please contact your MyRA DH Administrator or Quantum X at <a href="mailto:iris@quantumx.com." style="text-decoration:none;"><b>iris@quantumx.com</b></a>.                            
                        </li>
                    </ul>
                 </div>
            </div>
        </div>
    </section>
@stop
@section('page-css')
<link href="{{ get_template('css/notActivated.css') }}" rel="stylesheet" type="text/css" />
@stop
@section('page-js')
<script type="text/javascript" src="{{ get_template('js/jquery.typist.js') }}"></script>
<script type="text/javascript">
jQuery(function($) {
    var dialog = [
        {   
            line: 'one',
            text: 'Your MyRA DH Administrator'
        },
        {
            line: 'two',
            text: 'has not given you permission'
        },                  
        {
            line: 'three',
            text: 'to access this page.'
        }, 
    ];
    function printPhrase() {
        var phrase = dialog.shift();
        if ( !phrase ) {
            return;
        }
        $('<p>')
            .addClass('type-' + phrase.line)
            .appendTo('.typist_dialog')
            .typist({
                text: phrase.text,
                speed: 20
            })
            .typistPause(1)
            .typistStop()
            .on('end_pause.typist', function() {
                printPhrase();
            });
    }
    printPhrase();
});
</script>
@stopPK�8]!��ooCClient/Repositories/Principals/ContactNumberRepositoryInterface.phpnu�Iw��<?php

namespace QxCMS\Modules\Client\Repositories\Principals;

interface ContactNumberRepositoryInterface
{

}PK�8]�ooCClient/Repositories/Principals/ContactPersonRepositoryInterface.phpnu�Iw��<?php

namespace QxCMS\Modules\Client\Repositories\Principals;

interface ContactPersonRepositoryInterface
{

}PK�8]��//:Client/Repositories/Principals/ContactPersonRepository.phpnu�Iw��<?php

namespace QxCMS\Modules\Client\Repositories\Principals;

use DB;
use QxCMS\Modules\AbstractRepository;
use QxCMS\Modules\Client\Models\Principals\ContactPerson;
use QxCMS\Modules\Client\Models\Settings\UserLogs\UserLogs as Log;

class ContactPersonRepository extends AbstractRepository implements ContactPersonRepositoryInterface
{
    protected $model;
    protected $log;

    function __construct(ContactPerson $model, Log $log)
    {
        $this->model = $model;
        $this->log = $log;
    }


    public function create(array $request)
    {
        $user = auth()->user();
        $model = $this->model->fill($request);
        $model->save();
        $this->log->saveLog(['action' => 'Create', 'module_id' => $this->getModuleId(), 'user_id' => $user->id, 'data_id' => $model->id, 'sub_menu' => 'Contacts-'.$model->principal_id]);
        return $model;
    }

    public function update($id, array $request)
    {
        $user = auth()->user();
        $model = $this->model->find($id);
        $model->fill($request);

        if($model->isDirty()) {
            $model->save();
            session()->flash('success', 'Successfully updated.');
            $this->log->saveLog(['action' => 'Update', 'module_id' => $this->getModuleId(), 'user_id' => $user->id, 'data_id' => $model->id, 'sub_menu' => 'Contacts-'.$model->principal_id]);
        }
        return $model;
    }

    public function delete($id)
    {
        $user = auth()->user();
        $model = $this->findById($id);
        $model->numbers()->delete();
        $model->delete();
        $this->log->saveLog(['action' => 'Delete', 'module_id' => $this->getModuleId(), 'user_id' => $user->id, 'data_id' => $model->id, 'sub_menu' => 'Contacts-'.$model->principal_id]);
        return $this->getAjaxResponse('success', 'Successfully deleted.');
    }
}PK�8]�s�K6Client/Repositories/Principals/PrincipalRepository.phpnu�Iw��<?php

namespace QxCMS\Modules\Client\Repositories\Principals;

use QxCMS\Modules\AbstractRepository;
use QxCMS\Modules\Client\Repositories\Principals\PrincipalRepositoryInterface;
use QxCMS\Modules\Client\Models\Principals\Principal;
use QxCMS\Modules\Client\Models\Settings\UserLogs\UserLogs as Log;
use DB;

class PrincipalRepository extends AbstractRepository implements PrincipalRepositoryInterface
{
    protected $model;
    protected $log;

    function __construct(Principal $model, Log $log)
    {
        $this->model = $model;
        $this->log = $log;
    }

    public function getPrincipalStatusLists()
    {
        return $this->model->principal_status;
    }

    public function create(array $request)
    {
        $user = auth()->user();
        $model = $this->model->fill($request);
        $model->save();
        $this->log->saveLog(['action' => 'Create', 'module_id' => $this->getModuleId(), 'user_id' => $user->id, 'data_id' => $model->id]);
        return $model;
    }

    public function update($id, array $request)
    {
        $user = auth()->user();
        $model = $this->model->find($id);
        $model->fill($request);
        if($model->isDirty()) {
            $model->save();
            session()->flash('success', 'Successfully updated.');
            $this->log->saveLog(['action' => 'Update', 'module_id' => $this->getModuleId(), 'user_id' => $user->id, 'data_id' => $model->id]);
        }
        return $model;
    }

    public function delete($id)
    {
        $user = auth()->user();
        $model = $this->findById($id);
        $model->contacts->each(function($value){
            $value->numbers()->delete();
        });

        $model->contacts()->delete();
        $model->delete();
        $this->log->saveLog(['action' => 'Delete', 'module_id' => $this->getModuleId(), 'user_id' => $user->id, 'data_id' => $model->id]);
        return $this->getAjaxResponse('success', 'Successfully deleted.');
    }


    public function select2($params = array())
    {
        if(!isset($params['name'])) $params['name'] = '';
        $model = $this->model
                        ->select(['name as text', 'id'])
                        ->searchByName($params['name'])
                        ->get();

        if(isset($params['placeholder'])) {
            $placeholder = array('text' => ' - All -', 'id' => '-1');
            if(isset($params['placeholder']['text'])) $placeholder = array('text' => $params['placeholder']['text'], 'id' => '-1');
             
            return  response(
                   array_prepend($model->toArray(), $placeholder)
                )->header('Content-Type', 'application/json');
        }
       
        return  response(
                       $model->toArray()
                    )->header('Content-Type', 'application/json');

       
    }
}PK�8]N��[kk?Client/Repositories/Principals/PrincipalRepositoryInterface.phpnu�Iw��<?php

namespace QxCMS\Modules\Client\Repositories\Principals;

interface PrincipalRepositoryInterface
{

}PK�8]'����:Client/Repositories/Principals/ContactNumberRepository.phpnu�Iw��<?php

namespace QxCMS\Modules\Client\Repositories\Principals;

use DB;
use QxCMS\Modules\AbstractRepository;
use QxCMS\Modules\Client\Models\Principals\ContactNumber;

class ContactNumberRepository extends AbstractRepository implements ContactNumberRepositoryInterface
{
    protected $model;

    function __construct(ContactNumber $model)
    {
        $this->model = $model;
    }


    public function create(array $request)
    {
        $model = $this->model->create($request);
        return $model;
    }

    public function update($id, array $request)
    {
        $model = $this->model->find($id);
        $model->fill($request);

        if($model->isDirty()) {
            $model->save();
          //  session()->flash('success', 'Successfully updated.');
        }
        return $model;
    }

    public function delete($id)
    {
        $model = $this->findById($id);
        $model->delete();
        return $this->getAjaxResponse('success', 'Successfully deleted.');
    }
}PK�8]��Zjj:Client/Repositories/Subject/SubjectRepositoryInterface.phpnu�Iw��<?php

namespace QxCMS\Modules\Client\Repositories\Subject;

interface SubjectRepositoryInterface
{
    
}PK�8]������1Client/Repositories/Subject/SubjectRepository.phpnu�Iw��<?php

namespace QxCMS\Modules\Client\Repositories\Subject;

use QxCMS\Modules\AbstractRepository;
use QxCMS\Modules\Client\Models\Subject\Subject;
use QxCMS\Modules\Client\Models\Settings\UserLogs\UserLogs as Log;

class SubjectRepository extends AbstractRepository implements SubjectRepositoryInterface
{
    protected $model;
    protected $log;

    function __construct(Subject $model, Log $log)
    {
        $this->model = $model;
        $this->log = $log;
    }

    
    public function create(array $request)
    {
        $user = auth()->user();
        $model = $this->model->fill($this->_serialize($request));
        $model->save();
        $this->log->saveLog(['action' => 'Create', 'module_id' => $this->getModuleId(), 'user_id' => $user->id, 'data_id' => $model->id]);
        return $model;
    }

    public function _serialize(array $request)
    {
        return $request;
    }

    public function update($id, array $request)
    {
        $user = auth()->user();
        $model = $this->findById($id);
        $model->fill($this->_serialize($request));
        if(count($model->getDirty()) > 0) {
            $model->save();
            session()->flash('success', 'Successfully updated.');
            $this->log->saveLog(['action' => 'Update', 'module_id' => $this->getModuleId(), 'user_id' => $user->id, 'data_id' => $model->id]);
        }

        return $model;
    }

    public function delete($id)
    {
        $user = auth()->user();
        $model = $this->findById($id);
        $model->delete();
        $this->log->saveLog(['action' => 'Delete', 'module_id' => $this->getModuleId(), 'user_id' => $user->id, 'data_id' => $model->id]);
        return $this->getAjaxResponse('success', 'Successfully deleted.');
    }


    public function datatablesIndex()
    {
        return $this->model->with(['principal', 'template', 'fieldOfficer', 'editor'])->select(['*']);
    }


    /*
    
    API REQUEST
     */
    public function apiGetSubject(array $request)
    {
        if(!isset($request['user_id'])) return array();
        return $this->model->with(['principal', 'template', 'template.questions', 'template.questions.answers'])->where('field_officer_assigned', $request['user_id'])->get();
    }
}PK�8]�8�ll@Client/Repositories/JobOpening/JobOpeningRepositoryInterface.phpnu�Iw��<?php

namespace QxCMS\Modules\Client\Repositories\JobOpening;

interface JobOpeningRepositoryInterface
{

}PK�8]D���7Client/Repositories/JobOpening/JobOpeningRepository.phpnu�[���<?php

namespace QxCMS\Modules\Client\Repositories\JobOpening;
use Illuminate\Support\Str;
use Carbon\Carbon;
use Illuminate\Http\Request;

use QxCMS\Modules\AbstractRepository;
use QxCMS\Modules\Client\Models\JobOpening\JobOpening;
use QxCMS\Modules\Client\Models\Settings\UserLogs\UserLogs as Log;



class JobOpeningRepository extends AbstractRepository implements JobOpeningRepositoryInterface
{
    protected $model;
    protected $log;

    function __construct(JobOpening $model, Log $log)
    {
        $this->model = $model;
        $this->log = $log;
    }

    public function create(Request $request)
    {
        $user = auth()->user();
        $model = $this->model->fill($request->all());
        $model->slug = Str::slug($request->position);
        $model->save();
        $this->log->saveLog(['action' => 'Create', 'module_id' => $this->getModuleId(), 'user_id' => $user->id, 'data_id' => $model->id]);
        return $model;
    }

    public function update($id, Request $request)
    {
        $model = $this->findById($id);
        $user = auth()->user();
        $model->fill($request->all());
        $model->slug = Str::slug($request->position);

        if(count($model->getDirty()) > 0) {
            $model->save();
            session()->flash('success', 'Successfully updated.');
            $this->log->saveLog(['action' => 'Update', 'module_id' => $this->getModuleId(), 'user_id' => $user->id, 'data_id' => $model->id]);
        }
        return $model;
    }

    public function delete($id)
    {
        $model = $this->findById($id);
        $user = auth()->user();
        $model->delete();
        $this->log->saveLog(['action' => 'Delete', 'module_id' => $this->getModuleId(), 'user_id' => $user->id, 'data_id' => $model->id]);

        return $this->getAjaxResponse('success', 'Successfully deleted.');
    }

    public function getAllJob($limit = 10)
    {
        $job = $this->model;
        return $this->getActiveJob($job)->latest()->paginate($limit);
    }

    public function getLatestJob($limit = 10)
    {
        $job = $this->model;
        return $this->getActiveJob($job)->latest()->take($limit)->get();
    }

     protected function getActiveJob($model)
    {
        $date_today = Carbon::now();
        return $model
            ->where('opening_date', '<=', $date_today)
            ->where('status', 'Open')
            ->where(function($query) use ($date_today){
                $query->orWhere('closing_date', '>', $date_today);
                $query->orWhere('closing_date', '=', '0000-00-00');
            });    
    }

    public function findBySlug($slug)
    {
        return $this->model->where('slug', '=', $slug)->get();
    }


    public function apiGetJobOpening(array $request)
    {
        // $job = $this->model->with(['country'])->where('status', 'Open')->orderBy('opening_date', 'desc')->get();
        return $this->model->with(['country'])->where('status', 'Open')->get();
    }
}PK�8]Qc�5kk;Client/Repositories/Officers/OfficerRepositoryInterface.phpnu�Iw��<?php

namespace QxCMS\Modules\Client\Repositories\Officers;

interface OfficerRepositoryInterface
{
    
}PK�8]���G�
�
2Client/Repositories/Officers/OfficerRepository.phpnu�[���<?php

namespace QxCMS\Modules\Client\Repositories\Officers;
use Illuminate\Support\Arr;
use QxCMS\Modules\AbstractRepository;
use QxCMS\Modules\Likod\Models\Clients\User;
use QxCMS\Modules\Client\Models\Settings\UserLogs\UserLogs as Log;

class OfficerRepository extends AbstractRepository implements OfficerRepositoryInterface
{
    protected $model;
    protected $log;
    protected $module_id = 10;

    function __construct(User $model, Log $log)
    {
        $this->model = $model;
        $this->log = $log;
    }

    
    public function create(array $request)
    {
        $user = auth()->user();
        $model = $this->model->fill($this->_serialize($request));
        $model->is_sub_user = 'Yes';
        $model->client_id = auth()->user()->client_id;
        $model->save();
        $this->log->saveLog(['action' => 'Create', 'module_id' => $this->module_id, 'user_id' => $user->id, 'data_id' => $model->id]);
        return $model;
    }

    public function _serialize(array $request)
    {
        $confirm_password = isset($request['password_confirmation']) ? $request['password_confirmation'] : '';
        if(!empty($confirm_password)) {
            $request['password'] = bcrypt($confirm_password);
            return $request;
        } else {
            return Arr::except($request, ['password_confirmation','password']);
        }
      
    }

    public function update($id, array $request)
    {
        $user = auth()->user();
        $model = $this->findById($id);
        $model->fill($this->_serialize($request));
        if(count($model->getDirty()) > 0) {
            $model->save();
            session()->flash('success', 'Successfully updated.');
            $this->log->saveLog(['action' => 'Update', 'module_id' => $this->module_id, 'user_id' => $user->id, 'data_id' => $model->id]);
        }

        return $model;
    }

    public function delete($id)
    {
        $user = auth()->user();
        $model = $this->findById($id);
        $model->delete();
        $this->log->saveLog(['action' => 'Delete', 'module_id' => $this->module_id, 'user_id' => $user->id, 'data_id' => $model->id]);
        return $this->getAjaxResponse('success', 'Successfully deleted.');
    }


    public function datatablesIndex()
    {
        return $this->model->where('client_id', auth()->user()->client->id)->isSubUser()->select(['*']);
    }

    public function getAccessTypes()
    {
        return [
            'Field Officer' => 'Field Officer',
            'Editor' => 'Editor'
        ];
    }

    /*
    
    API REQUEST
     */
    public function apiGetSubject(array $request)
    {
        if(!isset($request['user_id'])) return array();
        return $this->model->where('field_officer_assigned', $request['user_id'])->get();
    }
}PK�8]%GF��/Client/Repositories/Pages/AboutUsRepository.phpnu�[���<?php

namespace QxCMS\Modules\Client\Repositories\Pages;
use Illuminate\Support\Str;
use Illuminate\Http\Request;
use QxCMS\Modules\AbstractRepository;
use QxCMS\Modules\Client\Models\Pages\AboutUs;
use QxCMS\Modules\Client\Models\Settings\UserLogs\UserLogs as Log;

class AboutUsRepository extends AbstractRepository implements AboutUsRepositoryInterface
{
    protected $model;
    protected $log;

    function __construct(AboutUs $model, Log $log)
    {
        $this->model = $model;
        $this->log = $log;
    }

    public function create(Request $request)
    {
        $user = auth()->user();
        $model = $this->model->fill($request->all());
        $title = explode(" ", $request->title);
        $sliced_title = implode(" ", array_splice($title, 0, 15));
        $model->slug = Str::slug($sliced_title);
        $model->save();

        $this->log->saveLog(['action' => 'Create', 'module_id' => $this->getModuleId(), 'user_id' => $user->id, 'data_id' => $model->id]);
        return $model;
    }

    public function update($id, Request $request)
    {
        $model = $this->findById($id);
        $user = auth()->user();
        $model->fill($request->all());
        $title = explode(" ", $request->title);
        $sliced_title = implode(" ", array_splice($title, 0, 15));
        $model->slug = Str::slug($sliced_title);

        if(count($model->getDirty()) > 0) {
            $model->save();
            session()->flash('success', 'Successfully updated.');
            $this->log->saveLog(['action' => 'Update', 'module_id' => $this->getModuleId(), 'user_id' => $user->id, 'data_id' => $model->id]);
        }
        return $model;
    }

    public function delete($id)
    {
        $model = $this->findById($id);
        $user = auth()->user();
        $model->delete();
        $this->log->saveLog(['action' => 'Delete', 'module_id' => $this->getModuleId(), 'user_id' => $user->id, 'data_id' => $model->id]);

        return $this->getAjaxResponse('success', 'Successfully deleted.');
    }

    public function apiGetAboutUs(array $request)
    {
        return $this->model->where('status', 'Publish')->orderBy('title', 'asc')->get();
    }
}PK�8]3�U�dd-Client/Repositories/Pages/PagesRepository.phpnu�[���<?php

namespace QxCMS\Modules\Client\Repositories\Pages;
use Illuminate\Support\Str;
use QxCMS\Modules\AbstractRepository;
use QxCMS\Modules\Client\Models\Posts\Posts;
use QxCMS\Modules\Client\Models\Settings\UserLogs\UserLogs as Log;
use Illuminate\Http\Request;

class PagesRepository extends AbstractRepository implements PagesRepositoryInterface
{
    protected $model;
    protected $log;
    protected $module_id = 12;

    function __construct(Posts $model, Log $log)
    {
        $this->model = $model;
        $this->log = $log;
    }
    
    public function create(Request $request)
    {
        $user = auth()->user();
        $model = $this->model->fill($request->all());
        $model->author_id = $user->id;
        $model->slug = Str::slug($request['title']);
        $model->post_type = 'Page';

        $model->save();
        $this->log->saveLog(['action' => 'Create', 'module_id' => $this->module_id, 'user_id' => $user->id, 'data_id' => $model->id]);
        return $model;
    }

    public function update($id, Request $request)
    {
        $model = $this->findById($id);
        $user = auth()->user();
        $model->fill($request->all());
        $model->slug = Str::slug($request['title']);

        if(count($model->getDirty()) > 0) {
            $model->save();
            session()->flash('success', 'Successfully edited.');
            $this->log->saveLog(['action' => 'Update', 'module_id' => $this->module_id, 'user_id' => $user->id, 'data_id' => $model->id]);
        }
        return $model;
    }

    public function delete($id)
    {
        $model = $this->findById($id);
        $user = auth()->user();
        $model->delete();
        $this->log->saveLog(['action' => 'Delete', 'module_id' => $this->module_id, 'user_id' => $user->id, 'data_id' => $model->id]);

        return $this->getAjaxResponse('success', 'Successfully deleted.');
    }

    public function pagesList($id)
    {
        return
        $this
        ->model
        ->where('post_type', '=', 'Page')
        ->where('id', '<>', $id)
        ->orderBy('title','asc')
        ->pluck('title', 'id')
        ->toArray();
    }
}PK�8]P���``4Client/Repositories/Pages/FAQRepositoryInterface.phpnu�Iw��<?php

namespace QxCMS\Modules\Client\Repositories\Pages;

interface FAQRepositoryInterface
{

}PK�8]>s�1Client/Repositories/Pages/ContactUsRepository.phpnu�Iw��<?php

namespace QxCMS\Modules\Client\Repositories\Pages;

use Illuminate\Http\Request;
use QxCMS\Modules\AbstractRepository;
use QxCMS\Modules\Client\Models\Pages\ContactUs;
use QxCMS\Modules\Client\Models\Settings\UserLogs\UserLogs as Log;

class ContactUsRepository extends AbstractRepository implements ContactUsRepositoryInterface
{
    protected $model;
    protected $log;

    function __construct(ContactUs $model, Log $log)
    {
        $this->model = $model;
        $this->log = $log;
    }

    public function create(Request $request)
    {
        $user = auth()->user();
        $model = $this->model->fill($request->all());
        $model->save();

        $this->log->saveLog(['action' => 'Create', 'module_id' => $this->getModuleId(), 'user_id' => $user->id, 'data_id' => $model->id]);
        return $model;
    }

    public function update($id, Request $request)
    {
        $model = $this->findById($id);
        $user = auth()->user();
        $model->fill($request->all());

        if(count($model->getDirty()) > 0) {
            $model->save();
            session()->flash('success', 'Successfully updated.');
            $this->log->saveLog(['action' => 'Update', 'module_id' => $this->getModuleId(), 'user_id' => $user->id, 'data_id' => $model->id]);
        }
        return $model;
    }

    public function delete($id)
    {
        $model = $this->findById($id);
        $user = auth()->user();
        $model->delete();
        $this->log->saveLog(['action' => 'Delete', 'module_id' => $this->getModuleId(), 'user_id' => $user->id, 'data_id' => $model->id]);

        return $this->getAjaxResponse('success', 'Successfully deleted.');
    }

    public function apiGetContactUs(array $request)
    {
        return $this->model->where('status', 'Publish')->get();
    }
}PK�8]&S�xx+Client/Repositories/Pages/FAQRepository.phpnu�[���<?php

namespace QxCMS\Modules\Client\Repositories\Pages;
use Illuminate\Support\Str;
use Illuminate\Http\Request;
use QxCMS\Modules\AbstractRepository;
use QxCMS\Modules\Client\Models\Pages\FAQ;
use QxCMS\Modules\Client\Models\Settings\UserLogs\UserLogs as Log;

class FAQRepository extends AbstractRepository implements FAQRepositoryInterface
{
    protected $model;
    protected $log;

    function __construct(FAQ $model, Log $log)
    {
        $this->model = $model;
        $this->log = $log;
    }

    public function create(Request $request)
    {
        $user = auth()->user();
        $model = $this->model->fill($request->all());
        $title = explode(" ", $request->title);
        $sliced_title = implode(" ", array_splice($title, 0, 15));
        $model->slug = Str::slug($sliced_title);
        $model->save();
        
        $this->log->saveLog(['action' => 'Create', 'module_id' => $this->getModuleId(), 'user_id' => $user->id, 'data_id' => $model->id]);
        return $model;
    }

    public function update($id, Request $request)
    {
        $model = $this->findById($id);
        $user = auth()->user();
        $model->fill($request->all());
        $title = explode(" ", $request->title);
        $sliced_title = implode(" ", array_splice($title, 0, 15));
        $model->slug = Str::slug($sliced_title);

        if(count($model->getDirty()) > 0) {
            $model->save();
            session()->flash('success', 'Successfully updated.');
            $this->log->saveLog(['action' => 'Update', 'module_id' => $this->getModuleId(), 'user_id' => $user->id, 'data_id' => $model->id]);
        }
        return $model;
    }

    public function delete($id)
    {
        $model = $this->findById($id);
        $user = auth()->user();
        $model->delete();
        $this->log->saveLog(['action' => 'Delete', 'module_id' => $this->getModuleId(), 'user_id' => $user->id, 'data_id' => $model->id]);

        return $this->getAjaxResponse('success', 'Successfully deleted.');
    }

    public function apiGetFAQ(array $request)
    {
        return $this->model->where('status', 'Publish')->orderBy('title', 'asc')->get();
    }
}PK�8]8S�dd8Client/Repositories/Pages/AboutUsRepositoryInterface.phpnu�Iw��<?php

namespace QxCMS\Modules\Client\Repositories\Pages;

interface AboutUsRepositoryInterface
{

}PK�8]�b��bb6Client/Repositories/Pages/PagesRepositoryInterface.phpnu�Iw��<?php

namespace QxCMS\Modules\Client\Repositories\Pages;

interface PagesRepositoryInterface
{

}PK�8]fЊff:Client/Repositories/Pages/ContactUsRepositoryInterface.phpnu�Iw��<?php

namespace QxCMS\Modules\Client\Repositories\Pages;

interface ContactUsRepositoryInterface
{

}PK�8]&����5Client/Repositories/Settings/Users/UserRepository.phpnu�[���<?php

namespace QxCMS\Modules\Client\Repositories\Settings\Users;

use Carbon\Carbon;
use Illuminate\Http\Request;
use QxCMS\Modules\AbstractRepository;
use Illuminate\Support\Arr;
use QxCMS\Modules\Likod\Models\Clients\User;
use QxCMS\Modules\Client\Models\Settings\UserLogs\UserLogs;
use QxCMS\Modules\Client\Models\Settings\LoginLogs\LoginLogs;
use QxCMS\Modules\Client\Repositories\Settings\Users\UserRepositoryInterface;

class UserRepository extends AbstractRepository implements UserRepositoryInterface
{
    protected $model;
    protected $log;
    protected $loginlogs;

    function __construct(User $model, UserLogs $log, LoginLogs $loginlogs)
    {
        $this->model = $model;
        $this->log = $log;
        $this->loginlogs = $loginlogs;
    }

    public function tokenInputLists()
    {
        return $this->model->select('id', 'name')->where('status', '1');
    }

    public function create(array $request)
    {
        $user = auth()->user();
        $model = $this->model->fill($this->makeUser($request));
        $model->save();
        $this->log->saveLog(['action' => 'Create', 'module_id' => $this->getModuleId(), 'user_id' => $user->id, 'data_id' => $model->id]);
        return $model;
    }

    public function makeUser(array $request)
    {
        $request['client_id'] = auth('client')->user()->client->id;
        $request['password'] = bcrypt($request['password_confirmation']);
        return $request;
    }

    public function update($id, array $request)
    {
        $user = auth()->user();
        $model = $this->findById($id);
        $model->fill($this->changePassword($request));
        if(count($model->getDirty()) > 0) {
            $model->save();
            session()->flash('success', 'Successfully updated.');
            $this->log->saveLog(['action' => 'Update', 'module_id' => $this->getModuleId(), 'user_id' => $user->id, 'data_id' => $model->id]);
        }
        return $model;
    }

    public function changePassword(array $request)
    {
        $confirm_password = $request['password_confirmation'];
        if(!empty($confirm_password)) {
            $request['password'] = bcrypt($confirm_password);
            return $request;
        }
        return  Arr::except($request, ['password_confirmation','password']);
    }

    public function delete($id)
    {
        $user = auth()->user();
        $model = $this->findById($id);
        if($model->type_id == 1) {
            return $this->getAjaxResponse('error', 'Primary user connot be deleted.');
        }
        $model->delete();
        $this->log->saveLog(['action' => 'Delete', 'module_id' => $this->getModuleId(), 'user_id' => $user->id, 'data_id' => $model->id]);
        return $this->getAjaxResponse('success', 'Successfully deleted.');
    }


    public function select2($params = array())
    {
        if(!isset($params['name'])) $params['name'] = '';
        if(!isset($params['user_type'])) $params['user_type'] = '';
        $model = $this->model
                        ->select(['name as text', 'id'])
                        ->searchUserType($params['user_type'])
                        ->searchByName($params['name'])
                        ->get();

        if(isset($params['placeholder'])) {
            $placeholder = array('text' => ' - All -', 'id' => '-1');
            if(isset($params['placeholder']['text'])) $placeholder = array('text' => $params['placeholder']['text'], 'id' => '-1');
             
            return  response(array_prepend($model->toArray(), $placeholder))
                            ->header('Content-Type', 'application/json');
        }
        return  response($model->toArray())
                        ->header('Content-Type', 'application/json');
    }

    public function datatablesIndex($params = array())
    {
        $roleIds = array();
        if(auth()->user()->role_id != $params['developer_id'])
        {
            $roleIds = $params['hiddenRoleIds'];
        }

        return $this->model
        ->select(['id', 'role_id', 'name', 'email', 'status'])
        ->with('role')
        ->where('client_id', auth()->user()->client->id)
        ->filterUsersByRole($roleIds)
        ->isNotSubUser();
    }

    public function userLists()
    {
        return $this->model->orderBy('name','asc')->clientUser()->pluck('name', 'id')->toArray();
    }

    public function searchUserUsername($id)
    {
        return $this->model->find($id);
    }

    public function getUserLogType(Request $request)
    {
        if($request->report_type == 1){
             return 'Add, Edit, Delete of Data';
         }else{
            return 'User Access Logs';
         }
    }

    public function getUserLogDate(Request $request)
    {
        $start = Carbon::createFromFormat('Y-m-d', $request->start_date)->format('M j, Y');
        $end = Carbon::createFromFormat('Y-m-d', $request->end_date)->format('M j, Y');
        return $start.' - '.$end;
    }

    public function getUserLog(Request $request)
    {
        if($request->report_type == 1){
             return $this->log->with('user', 'module')->select('*');
         }else if($request->report_type == 2){
            return $this->loginlogs->select('*');
         }
    }

    public function getUserLogCount(Request $request)
    {
        if($request->report_type == 1){
            if($request->user_id == ''){
                return $this->log->with('user')->whereRaw("date_format(created_at, '%Y-%m-%d') >= '{$request->start_date}'")
                ->whereRaw("date_format(created_at, '%Y-%m-%d') <= '{$request->end_date}'")->count();
            }else{
                return $this->log->with('user')->where('user_id', $request->user_id)->whereRaw("date_format(created_at, '%Y-%m-%d') >= '{$request->start_date}'")
                ->whereRaw("date_format(created_at, '%Y-%m-%d') <= '{$request->end_date}'")->count();
            }
        }else if($request->report_type == 2){
            if($request->user_id == ''){
                return $this->loginlogs->whereRaw("date_format(created_at, '%Y-%m-%d') >= '{$request->start_date}'")
                ->whereRaw("date_format(created_at, '%Y-%m-%d') <= '{$request->end_date}'")->count();
            }else{
                $user = $this->model->find($request->user_id);
                return $this->loginlogs->where('username', $user->email)->whereRaw("date_format(created_at, '%Y-%m-%d') >= '{$request->start_date}'")
                ->whereRaw("date_format(created_at, '%Y-%m-%d') <= '{$request->end_date}'")->count();
            }
        }
    }
}PK�8]Z��[jj>Client/Repositories/Settings/Users/UserRepositoryInterface.phpnu�Iw��<?php

namespace QxCMS\Modules\Client\Repositories\Settings\Users;

interface UserRepositoryInterface
{

}PK�8]�[�#_#_5Client/Repositories/Settings/Roles/RoleRepository.phpnu�[���<?php

namespace QxCMS\Modules\Client\Repositories\Settings\Roles;
use Illuminate\Support\Arr;
use QxCMS\Modules\AbstractRepository;
use QxCMS\Modules\Client\Repositories\Settings\Roles\RoleRepositoryInterface;
use QxCMS\Modules\Client\Models\Settings\Roles\Role;
use QxCMS\Modules\Client\Models\Settings\Roles\Permission;
use QxCMS\Modules\Client\Models\Settings\UserLogs\UserLogs as Log;
use DB;
use File;

class RoleRepository extends AbstractRepository implements RoleRepositoryInterface
{
    protected $model;
    protected $permission;
    protected $log;

    function __construct(Role $model, Permission $permission, Log $log)
    {
        $this->model = $model;        
        $this->permission = $permission;
        $this->log = $log;
    }    
    
    function write_menu($client_id, $role_id)
    {
        $db_name = auth('client')->user()->client->database_name;
        $view_path = realpath(app_path()).'/Modules/Client/Views';
        $realpath =  $view_path."/cache/menus/".$client_id."/";
        File::makeDirectory($realpath, 0775, true, true);
        $filename = "custom_".$role_id.".blade.php";
        $contents = $this->build_menu($role_id, $db_name);
        $created = File::put($realpath.$filename, $contents); 
    }

    function build_menu($role_id = 0, $db_name)
    {
        $modules = DB::table(''.config('database.connections.qxcms.database').'.client_modules as clientModules')
            ->select('clientModules.*','ups.can_access','ups.can_delete','ups.can_update', 'ups.can_create', 'ups.can_export', 'ups.can_import', 'ups.can_print')
            ->leftJoin(env('DB_PREFIX', 'qxcms_').$db_name.'.role_permissions as ups', 'clientModules.id', '=', 'ups.menu_id')
            ->where('ups.role_id', $role_id)
            ->where('clientModules.is_parent', 1)
            ->where('clientModules.has_parent', 0)
            ->where('clientModules.parent_id', 0)
            ->where('clientModules.show_menu', "1")
            ->where('clientModules.menu_group_id', 1)            
           // ->orderBy('clientModules.parent_id', 'ASC')
            ->orderBy('clientModules.orderid', 'ASC')
            ->orderBy('clientModules.title', 'ASC')
            ->get();
        $html_out = "\t"."<ul class=\"sidebar-menu\">"."\n";
        $html_out .= "\t\t"."<li class=\"header\">MAIN NAVIGATION</li>"."\n";
        $html_out .= "\t\t"."<li id=\"appslidemenu0\">"."\n";
        $html_out .= "\t\t"."<a href=\"/".config('modules.client').'/dashboard'."\">"."\n";
        $html_out .= "\t\t"."<i class=\"fa fa-dashboard\"></i> <span>Dashboard</span>"."\n";
        $html_out .= "\t\t"."</a>"."\n";
        $html_out .= "\t\t"."</li>"."\n";
        foreach ($modules as $menu_key => $row )
        {            
            $id = $row->id;
            $title = $row->title;
            $link_type = $row->link_type;
            $page_id = $row->page_id;
            $module_name = $row->module_name;
            $url = $row->url;
            $uri = $row->uri;
            $icon = $row->icon;
            $menu_group_id = $row->menu_group_id;
            $position = $row->position;
            $target = $row->target;
            $parent_id = $row->parent_id;
            $is_parent = $row->is_parent;
            $show_menu = $row->show_menu;
            if ($show_menu && $parent_id == 0) {
                if ($is_parent == TRUE)
                {
                    if($url=='#') {
                        $html_out .= "\t\t"."<li id=\"appslidemenu".$id."\" class=\"treeview\">"."\n";
                        $html_out .= "\t\t\t"."<a href=\"#\"><i class=\"fa fa-".$icon."\"></i> <span>".$title."</span> <i class=\"fa fa-angle-left pull-right\"></i></a>"."\n";
                        $html_out .= $this->get_menu_childs($role_id, $id, $db_name);
                    } else {
                        $html_out .= "\t\t"."<li id=\"appslidemenu".$id."\">"."\n";
                        $html_out .= "\t\t\t".'<a href="/'.config('modules.client').'/'.$url.'"><i class="fa fa-'.$icon.'"></i><span>'.$title.'</a></a>'."\n";                        
                    }
                }                
                $html_out .= '</li>'."\n"; 
            }                
        }
        $html_out .= "\t\t".'</ul>' . "\n";
        return $html_out;
    }

    function get_menu_childs($role_id, $id, $db_name)
    {
        $has_subcats = FALSE;
        $html_out  = '';
        $modules = DB::table(''.config('database.connections.qxcms.database').'.client_modules as clientModules')
            ->select('clientModules.*','ups.can_access','ups.can_delete','ups.can_update', 'ups.can_create', 'ups.can_export', 'ups.can_import', 'ups.can_print')
            ->leftJoin(env('DB_PREFIX', 'qxcms_').$db_name.'.role_permissions as ups', 'clientModules.id', '=', 'ups.menu_id')
            ->where('ups.role_id', $role_id)
            ->where('clientModules.is_parent', 0)
            ->where('clientModules.has_parent', 1)
            ->where('clientModules.parent_id', $id)
            ->where('clientModules.show_menu', "1")
            ->where('clientModules.menu_group_id', 1)
            ->orderBy('clientModules.orderid', 'ASC')
            //->orderBy('clientModules.title', 'ASC')
            ->get();
        $html_out = "\t"."<ul class=\"treeview-menu\">"."\n";       
        foreach ($modules as $menu_key => $row )
        {
            $id = $row->id;
            $title = $row->title;
            $link_type = $row->link_type;
            $page_id = $row->page_id;
            $module_name = $row->module_name;
            $url = $row->url;
            $uri = $row->uri;
            $icon = $row->icon;
            $menu_group_id = $row->menu_group_id;
            $position = $row->position;
            $target = $row->target;
            $parent_id = $row->parent_id;
            $is_parent = $row->is_parent;
            $show_menu = $row->can_access;
            $has_subcats = TRUE;
            if($show_menu) {
                $html_out .= "\t\t\t".'<li id="appslidemenu'.$id.'"><a href="/'.config('modules.client').'/'.$url.'"><i class="fa fa-angle-double-right"></i>&nbsp;'.$title.'&nbsp;</a></li>';
            }
        }
        $html_out .= "\t\t".'</ul>' . "\n";
        return ($has_subcats) ? $html_out : FALSE;
    }

    function build_role_permissions($role_id = 0, $disabled = '')
    {
        $db_name = auth('client')->user()->client->database_name;
        $modules = DB::table(''.config('database.connections.qxcms.database').'.client_modules as clientModules')
            ->select('clientModules.*','ups.can_access','ups.can_delete','ups.can_update', 'ups.can_create', 'ups.can_export', 'ups.can_import', 'ups.can_print')
            ->leftJoin(DB::raw('(SELECT * FROM '.env('DB_PREFIX', 'qxcms_').$db_name.'.role_permissions where role_id = '.$role_id.' ) as ups'), 'clientModules.id', '=', 'ups.menu_id')
            ->where('clientModules.is_parent', 1)
            ->where('clientModules.has_parent', 0)
            ->where('clientModules.parent_id', 0)
            ->where('clientModules.show_menu', "1")
            ->where('clientModules.menu_group_id', 1)            
            //->orderBy('clientModules.parent_id', 'ASC')
            //->orderBy('clientModules.id', 'ASC')
            //->orderBy('clientModules.title', 'ASC')
            ->orderBy('clientModules.orderid', 'ASC')
            ->get();        
        $html_out = "<table class=\"table table-condensed table-bordered\">";
        foreach ($modules as $module_key => $row )
        {
            $id = $row->id;
            $title = $row->title;
            $link_type = $row->link_type;
            $page_id = $row->page_id;
            $module_name = $row->module_name;
            $url = $row->url;
            $uri = $row->uri;
            $icon = $row->icon;
            $menu_group_id = $row->menu_group_id;
            $position = $row->position;
            $target = $row->target;
            $parent_id = $row->parent_id;
            $is_parent = $row->is_parent;
            $show_menu = $row->show_menu;
            $has_read = $row->has_read;
            $has_create = $row->has_create;
            $has_update = $row->has_update;
            $has_delete = $row->has_delete;
            $has_export = $row->has_export;
            $has_import = $row->has_import;
            $has_print = $row->has_print;
            $can_access = $row->can_access;
            $can_create = $row->can_create;
            $can_update = $row->can_update;
            $can_delete = $row->can_delete;
            $can_export = $row->can_export;
            $can_import = $row->can_import;
            $can_print = $row->can_print;
            if($module_key == 0) {
                $html_out .= "<thead>";
                $html_out .= "<tr valign='middle'>";
                $html_out .= "<th colspan=\"3\" style=\"text-align:center;\" align=\"center\"> Module Name </th>";                
                $html_out .= "<th colspan=\"7\" style=\"text-align:center !important;\"> <b>Permissions</b> </th>";
                $html_out .= "</tr>"; 
                $html_out .= "</thead>";                    
                $html_out .= "<tbody>";
                $html_out .= "<tr>";
                $html_out .= "<td align=\"center\" colspan=\"3\"></td>";
                $html_out .= "<td align=\"center\"> <b>Activate</b> </td>";
                $html_out .= "<td align=\"center\"> <b>Create</b> </td>";
                $html_out .= "<td align=\"center\"> <b>Update</b> </td>";
                $html_out .= "<td align=\"center\"> <b>Delete</b> </td>";
                $html_out .= "<td align=\"center\"> <b>Export</b> </td>";
                $html_out .= "<td align=\"center\"> <b>Import</b> </td>";
                $html_out .= "<td align=\"center\"> <b>Print</b> </td>";
                $html_out .= "</tr>";
            }
            $html_out .= "<tr class=\"parent\">";
            if($url=='#'){
                $html_out .= "<td colspan=\"3\">&nbsp;<b><span class=\"fa fa-".$icon."\"></span>&nbsp;".$title."</b>&nbsp;&nbsp;<i class=\"fa fa-chevron-right\"></td>";                
                $html_out .= "<td align=\"center\" style=\"background-color:#fff;\">";
                $html_out .= "<label><input name=\"module[".$id."][can_access]\" value=\"1\"  class=\"sub-menu\" type=\"checkbox\" ".(($can_access) ? 'checked':'')." data-id=\"".$id."\" data-permission=\"show\" data-access-id=\"".$role_id."\" ".$disabled."></label>";
                $html_out .= "</td>";
                $html_out .= "<td align=\"center\" colspan=\"6\" style=\"background-color:#fff;\"> <b></b> </td>";
            } else {
                $html_out .= "<td colspan=\"3\">&nbsp;<b><span class=\"fa fa-".$icon."\"></span>&nbsp;".$title."</b></td>";
                $html_out .= "<td align=\"center\" style=\"background-color:#fff;\">";
                $html_out .= "<label><input name=\"module[".$id."][can_access]\" value=\"1\"  class=\"sub-menu\" type=\"checkbox\" ".(($can_access) ? 'checked':'')." data-id=\"".$id."\" data-permission=\"show\" data-access-id=\"".$role_id."\" ".$disabled."></label>";
                $html_out .= "</td>";
                $html_out .= "<td align=\"center\" style=\"background-color:#fff;\">";
                if ($has_create) {
                    $html_out .= "<label><input name=\"module[".$id."][can_create]\" value=\"1\" class=\"sub-menu\" type=\"checkbox\" ".(($can_create) ? 'checked':'')." data-id=\"".$id."\" data-permission=\"create\" data-access-id=\"".$role_id."\" ".$disabled."></label>";
                }
                $html_out .= "</td>";
                $html_out .= "<td align=\"center\" style=\"background-color:#fff;\">";
                if ($has_update) {
                   $html_out .= "<label><input name=\"module[".$id."][can_update]\" value=\"1\" class=\"sub-menu\" type=\"checkbox\" ".(($can_update) ? 'checked':'')." data-id=\"".$id."\" data-permission=\"update\" data-access-id=\"".$role_id."\" ".$disabled."></label>";
                }
                $html_out .= "</td>";
                $html_out .= "<td align=\"center\" style=\"background-color:#fff;\">";
                if ($has_delete) {
                    $html_out .= "<label><input name=\"module[".$id."][can_delete]\" value=\"1\" class=\"sub-menu\" type=\"checkbox\" ".(($can_delete) ? 'checked':'')." data-id=\"".$id."\" data-permission=\"delete\" data-access-id=\"".$role_id."\" ".$disabled."></label>";
                }
                $html_out .= "</td>";
                $html_out .= "<td align=\"center\" style=\"background-color:#fff;\">";
                if ($has_export) {
                    $html_out .= "<label><input name=\"module[".$id."][can_export]\" value=\"1\" class=\"sub-menu\" type=\"checkbox\" ".(($can_export) ? 'checked':'')." data-id=\"".$id."\" data-permission=\"export\" data-access-id=\"".$role_id."\" ".$disabled."></label>";
                }
                $html_out .= "</td>";
                $html_out .= "<td align=\"center\" style=\"background-color:#fff;\">";
                if ($has_import) {
                    $html_out .= "<label><input name=\"module[".$id."][can_import]\" value=\"1\" class=\"sub-menu\" type=\"checkbox\" ".(($can_import) ? 'checked':'')." data-id=\"".$id."\" data-permission=\"import\" data-access-id=\"".$role_id."\" ".$disabled."></label>";
                }
                $html_out .= "</td>";
                $html_out .= "<td align=\"center\" style=\"background-color:#fff;\">";
                if ($has_print) {
                    $html_out .= "<label><input name=\"module[".$id."][can_print]\" value=\"1\" class=\"sub-menu\" type=\"checkbox\" ".(($can_print) ? 'checked':'')." data-id=\"".$id."\" data-permission=\"print\" data-access-id=\"".$role_id."\" ".$disabled."></label>";
                }
                $html_out .= "</td>";                
            }            
            $html_out .= "</tr>";
            $html_out .=   $this->get_childs_role_permissions($db_name, $id, $role_id, $disabled);
        }
        $html_out .= '</table>';
        return $html_out;
    }

    function get_childs_role_permissions($db_name, $id, $role_id, $disabled)
    {
        $has_subcats = FALSE; 
        $html_out  = '';
        $modules = DB::table(''.config('database.connections.qxcms.database').'.client_modules as clientModules')
            ->select('clientModules.*','ups.can_access','ups.can_delete','ups.can_update', 'ups.can_create', 'ups.can_export', 'ups.can_import', 'ups.can_print')
            ->leftJoin(DB::raw('(SELECT * FROM '.env('DB_PREFIX', 'qxcms_').$db_name.'.role_permissions where role_id = '.$role_id.' ) as ups'), 'clientModules.id', '=', 'ups.menu_id')            
            ->where('clientModules.is_parent', 0)
            ->where('clientModules.has_parent', 1)
            ->where('clientModules.parent_id', $id)
            ->where('clientModules.show_menu', "1")
            ->where('clientModules.menu_group_id', 1)
            //->orderBy('clientModules.title', 'ASC')
            ->orderBy('clientModules.orderid', 'ASC')
            ->get();
        foreach ($modules as $module_key => $row )
        {
            $id = $row->id;
            $title = $row->title;
            $link_type = $row->link_type;
            $page_id = $row->page_id;
            $module_name = $row->module_name;
            $url = $row->url;
            $uri = $row->uri;
            $icon = $row->icon;
            $dyn_group_id = $row->menu_group_id;
            $position = $row->position;
            $target = $row->target;
            $parent_id = $row->parent_id;
            $is_parent = $row->is_parent;
            $show_menu = $row->show_menu;
            $has_read = $row->has_read;
            $has_create = $row->has_create;
            $has_update = $row->has_update;
            $has_delete = $row->has_delete;
            $has_export = $row->has_export;
            $has_import = $row->has_import;
            $has_print = $row->has_print;
            $can_access = $row->can_access;
            $can_create = $row->can_create;
            $can_update = $row->can_update;
            $can_delete = $row->can_delete;
            $can_export = $row->can_export;
            $can_import = $row->can_import;
            $can_print = $row->can_print;                    
            $has_subcats = TRUE;                    
            $html_out .= "<tr valign='top' class='child'>";
            $html_out .= "<td  colspan=\"3\" width=\"20%\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"fa fa-".$icon."\"></span>&nbsp;".$title."</td>";                    
            $html_out .= "</td>";
            $html_out .= "<td width=\"10%\" align=\"center\">";
            $html_out .= "<label><input name=\"module[".$id."][can_access]\" value=\"1\"  class=\"sub-menu\" type=\"checkbox\" ".(($can_access) ? 'checked':'')." data-id=\"".$id."\" data-permission=\"show\" data-access-id=\"".$role_id."\" ".$disabled."></label>";
            $html_out .= "</td>";
            $html_out .= "<td width=\"10%\" align=\"center\">";
            if ($has_create) {
                $html_out .= "<label><input name=\"module[".$id."][can_create]\" value=\"1\" class=\"sub-menu\" type=\"checkbox\" ".(($can_create) ? 'checked':'')." data-id=\"".$id."\" data-permission=\"create\" data-access-id=\"".$role_id."\" ".$disabled."></label>";
            }
            $html_out .= "</td>";
            $html_out .= "<td width=\"10%\" align=\"center\">";
            if ($has_update) {
                $html_out .= "<label><input name=\"module[".$id."][can_update]\" value=\"1\" class=\"sub-menu\" type=\"checkbox\" ".(($can_update) ? 'checked':'')." data-id=\"".$id."\" data-permission=\"update\" data-access-id=\"".$role_id."\" ".$disabled."></label>";
            }
            $html_out .= "</td>";
            $html_out .= "<td width=\"10%\" align=\"center\">";
            if ($has_delete) {
                $html_out .= "<label><input name=\"module[".$id."][can_delete]\" value=\"1\" class=\"sub-menu\" type=\"checkbox\" ".(($can_delete) ? 'checked':'')." data-id=\"".$id."\" data-permission=\"delete\" data-access-id=\"".$role_id."\" ".$disabled."></label>";
            }
            $html_out .= "</td>";
            $html_out .= "<td width=\"10%\" align=\"center\">";
            if ($has_export) {
                $html_out .= "<label><input name=\"module[".$id."][can_export]\" value=\"1\" class=\"sub-menu\" type=\"checkbox\" ".(($can_export) ? 'checked':'')." data-id=\"".$id."\" data-permission=\"export\" data-access-id=\"".$role_id."\" ".$disabled."></label>";
            }
            $html_out .= "</td>";
            $html_out .= "<td width=\"10%\" align=\"center\">";
            if ($has_import) {
                $html_out .= "<label><input name=\"module[".$id."][can_import]\" value=\"1\" class=\"sub-menu\" type=\"checkbox\" ".(($can_import) ? 'checked':'')." data-id=\"".$id."\" data-permission=\"import\" data-access-id=\"".$role_id."\" ".$disabled."></label>";
            }
            $html_out .= "</td>";
            $html_out .= "<td width=\"10%\" align=\"center\">";
            if ($has_print) {
                $html_out .= "<label><input name=\"module[".$id."][can_print]\" value=\"1\" class=\"sub-menu\" type=\"checkbox\" ".(($can_print) ? 'checked':'')." data-id=\"".$id."\" data-permission=\"print\" data-access-id=\"".$role_id."\" ".$disabled."></label>";
            }
            $html_out .= "</td>";
            $html_out .= '</tr>';
        }    
        return ($has_subcats) ? $html_out : FALSE;
    }

    public function getdefaultIDs()
    {
        return $this->model->getdefaultIDs();
    }

    public function makeRolePermissions(array $request, $role_id)
    {
        $modules = isset($request['module']) ? $request['module']:array();
        $this->permission->where('role_id', $role_id)->delete();
        if (count($modules) <= 0) return;
        foreach ($modules as $module_id => $module) {
            $module['role_id'] = $role_id;
            $module['module_id'] = $module_id;
            $this->permission->create($this->makeModulePermissions($module));
        }
        return $module;
    }

    public function makeModulePermissions(array $module)
    {
        return $useroles = [
            'menu_id' => $module['module_id'],
            'role_id' => $module['role_id'],
            'can_access' => (isset($module['can_access']) && !empty($module['can_access'])) ? $module['can_access']:0,
            'can_create' => (isset($module['can_create']) && !empty($module['can_create'])) ? $module['can_create']:0,
            'can_update' => (isset($module['can_update']) && !empty($module['can_update'])) ? $module['can_update']:0,
            'can_delete' => (isset($module['can_delete']) && !empty($module['can_delete'])) ? $module['can_delete']:0,
            'can_export' => (isset($module['can_export']) && !empty($module['can_export'])) ? $module['can_export']:0,
            'can_import' => (isset($module['can_import']) && !empty($module['can_upload'])) ? $module['can_import']:0,
            'can_print' => (isset($module['can_print']) && !empty($module['can_print'])) ? $module['can_print']:0,
        ];   
    }

    public function datatablesIndex($request = array())
    {
        if(auth()->user()->role_id != $this->model->developer_id) {
            return $model = $this->model->select(['id', 'name', 'display_name'])->whereNotIn('id', $this->model->hiddenRoleIds());
        }
        return $model = $this->model->select(['id', 'name', 'display_name']);
    }

    public function getLists()
    {

        if(auth()->user()->role_id != $this->model->developer_id) {
            return $model = $this->model->whereNotIn('id', $this->model->hiddenRoleIds())->pluck('name', 'id')->all();
        }
        return $model = $this->model->pluck('name', 'id')->all();
    }

    public function getHiddenRoleIds()
    {
        return $this->model->hiddenRoleIds();
    }

    public function getDeveloperId()
    {
        return $this->model->developer_id;
    }

    public function getEditorId()
    {
        return $this->model->editor_id;
    }

    public function getFieldOfficerId()
    {
        return $this->model->field_officer_id;
    }

    public function create(array $request)
    {
        $user = auth()->user();
        $model = $this->model->fill(Arr::except($request, ['module']));
        $model->save();
        $this->log->saveLog(['action' => 'Create', 'module_id' => $this->getModuleId(), 'user_id' => $user->id, 'data_id' => $model->id]);
        $this->makeRolePermissions($request, $model->id); 
        $this->write_menu(auth('client')->user()->client->id, $model->id);       
        return $model;
    }

    public function update($id, array $request)
    {
        $user = auth()->user();
        $model = $this->findById($id);
        $model->fill(Arr::except($request, ['module']));
        $model->save();
        session()->flash('success', 'Successfully updated.');
        $this->log->saveLog(['action' => 'Update', 'module_id' => $this->getModuleId(), 'user_id' => $user->id, 'data_id' => $model->id]);
        $this->makeRolePermissions($request, $model->id);
        $this->write_menu(auth('client')->user()->client->id, $id);        
        return $model;
    }

    public function delete($id, $client_id)
    {
        $user = auth()->user();
        if(in_array($id, $this->model->getdefaultIDs())) {
             return $this->getAjaxResponse('error', 'Default role cannot be deleted.');
        }
        $model = $this->model->findOrFail($id);
        if($model->users()->where('client_id',$client_id)->count() > 0) {
            return $this->getAjaxResponse('error', 'Role is currently used and cannot be deleted.');
        }
        $model->permissions()->delete();
        $model->delete();
        $this->log->saveLog(['action' => 'Delete', 'module_id' => $this->getModuleId(), 'user_id' => $user->id, 'data_id' => $model->id]);

        $view_path = realpath(app_path()).'/Modules/Client/Views';
        $realpath =  $view_path."/cache/menus/".$client_id."/";        
        $filename = $realpath."custom_".$id.".blade.php"; 
        File::delete($filename);
        return $this->getAjaxResponse('success', 'Successfully deleted.');
    }
}PK�8]Oz���	�	;Client/Repositories/Settings/Roles/PermissionRepository.phpnu�Iw��<?php

namespace QxCMS\Modules\Client\Repositories\Settings\Roles;

use QxCMS\Modules\AbstractRepository;
use QxCMS\Modules\Client\Repositories\Settings\Roles\RoleRepositoryInterface;
use QxCMS\Modules\Client\Models\Settings\Roles\Permission;

class PermissionRepository extends AbstractRepository implements PermissionRepositoryInterface
{
    protected $model;

    function __construct(Permission $model)
    {
        $this->model = $model;
    }

    public function getPermission($module_id)
    {
        return $this->model->where('menu_id', $module_id)->where('role_id', \Auth::guard('client')->user()->role_id)->first();
    }

    public function setRolePermission(array $module)
    {
        if(!empty($module)) {
            return $module = [
                'menu_id' => $module['menu_id'],
                'role_id' => $module['role_id'],
                'can_access' => (isset($module['can_access']) && !empty($module['can_access'])) ? $module['can_access']:0,
                'can_create' => (isset($module['can_create']) && !empty($module['can_create'])) ? $module['can_create']:0,
                'can_update' => (isset($module['can_update']) && !empty($module['can_update'])) ? $module['can_update']:0,
                'can_delete' => (isset($module['can_delete']) && !empty($module['can_delete'])) ? $module['can_delete']:0,
                'can_export' => (isset($module['can_export']) && !empty($module['can_export'])) ? $module['can_export']:0,
                'can_import' => (isset($module['can_import']) && !empty($module['can_upload'])) ? $module['can_import']:0,
                'can_print' => (isset($module['can_print']) && !empty($module['can_print'])) ? $module['can_print']:0,
            ];
        } 
        return [];
    }

    public function serializeModules($module)
    {
       return $modules = [
            'menu_id'    => $module->id,
            'can_access' => $module->show_menu,
            'can_create' => $module->has_create,
            'can_update' => $module->has_update,
            'can_delete' => $module->has_delete,
            'can_export' => $module->has_export,
            'can_import' => $module->has_import,
            'can_print'  => $module->has_print,
        ] ;
    }

    public function makeRolePermission($module, $id)
    {
        $modules = $this->serializeModules($module);
        $modules['role_id'] = $id;
        $this->model->create($this->setRolePermission($modules));
    }
}PK�8]y���jj>Client/Repositories/Settings/Roles/RoleRepositoryInterface.phpnu�Iw��<?php

namespace QxCMS\Modules\Client\Repositories\Settings\Roles;

interface RoleRepositoryInterface
{

}PK�8]c g�ppDClient/Repositories/Settings/Roles/PermissionRepositoryInterface.phpnu�Iw��<?php

namespace QxCMS\Modules\Client\Repositories\Settings\Roles;

interface PermissionRepositoryInterface
{

}PK�8]�k6�kk?Client/Repositories/Applicants/ApplicantRepositoryInterface.phpnu�Iw��<?php

namespace QxCMS\Modules\Client\Repositories\Applicants;

interface ApplicantRepositoryInterface
{

}PK�8]��OYY6Client/Repositories/Applicants/ApplicantRepository.phpnu�Iw��<?php

namespace QxCMS\Modules\Client\Repositories\Applicants;

use Carbon\Carbon;
use Illuminate\Http\Request;

use QxCMS\Modules\AbstractRepository;
use QxCMS\Modules\Client\Models\Applicants\Applicant;
use QxCMS\Modules\Client\Models\Settings\UserLogs\UserLogs as Log;

class ApplicantRepository extends AbstractRepository implements ApplicantRepositoryInterface
{
    protected $model;
    protected $log;

    function __construct(Applicant $model, Log $log)
    {
        $this->model = $model;
        $this->log = $log;
    }

    public function getSourceApplicant(Request $request)
    {
        $applicant = $this->model->with('latestJob', 'latestJob.job')
        ->whereHas('latestJob',function($query){
           $query->where('id', '!=', null);
        })->whereHas('latestJob.job',function($query) use ($request){
            if ($request->has('position_applied')){
                $query->where('position','LIKE',"%{$request->position_applied}%");
            }
        })->where(function($query) use ($request){
            if($request->has('min_yrs')){
                $query->whereRaw("yrs_exp >= '{$request->min_yrs}'");
            }
            if($request->has('max_yrs')){
                $query->whereRaw("yrs_exp <= '{$request->max_yrs}'");
            }
            if($request->has('recent_emp')){
                $query->where('company', 'LIKE', "%{$request->recent_emp}%");
            }
            if($request->has('col_deg')){
                $query->where('college_degree', 'LIKE', "%{$request->col_deg}%");
            }
            if($request->has('school')){
                $query->where('school', 'LIKE', "%{$request->school}%");
            }
            if($request->has('work_location')){
                $query->where('work_location', 'LIKE', "%{$request->work_location}%");
            }
        });
        return $applicant;
    }
}PK�8]� �SS;Client/Repositories/Directory/SpecializationsRepository.phpnu�Iw��<?php

namespace QxCMS\Modules\Client\Repositories\Directory;

use QxCMS\Modules\AbstractRepository;
use QxCMS\Modules\Client\Models\Directory\Specializations;
use QxCMS\Modules\Client\Repositories\Directory\DirectoriesRepositoryInterface as Directory;

use Illuminate\Http\Request;

class SpecializationsRepository extends AbstractRepository implements SpecializationsRepositoryInterface
{

    protected $model;

    function __construct(Specializations $model, Directory $directory)
    {
        $this->model = $model;
        $this->directory = $directory;
    }

    public function create(array $request)
    {
        $specializations = $this->model->fill($request);
        $specializations->save();
        return $specializations;
    }

    public function update(Request $request)
    {
        $id = $request->input('id');
        $name = $request->input('name');

        $specialization = $this->findById($id);
        $specialization->name = $name;
        $specialization->save();
        return $specialization->name;
    }

    public function delete($id)
    {
        $specialization = $this->findById($id);
        if ($specialization->directory->count() > 0) {
            return response()->json(['error' => 'exists', 'id' => $id]);
        } else {
            $specialization->delete();
            return response()->json(['success' => 'yes', 'id' => $id]);
        }            
    }

    public function specializationsList()
    {
        return
            $this
            ->model
            ->orderBy('name','asc')
            ->pluck('name', 'id')
            ->toArray();
    }

}PK�8]�&w�ppDClient/Repositories/Directory/SpecializationsRepositoryInterface.phpnu�Iw��<?php

namespace QxCMS\Modules\Client\Repositories\Directory;

interface SpecializationsRepositoryInterface
{

}PK�8]a�<�FF:Client/Repositories/Directory/MunicipalitiesRepository.phpnu�Iw��<?php

namespace QxCMS\Modules\Client\Repositories\Directory;

use QxCMS\Modules\AbstractRepository;
use QxCMS\Modules\Client\Models\Directory\Municipalities;

class MunicipalitiesRepository extends AbstractRepository implements MunicipalitiesRepositoryInterface
{
    protected $model;

    function __construct(Municipalities $model)
    {
        $this->model = $model;
    }

    public function municipalitiesList()
    {
        return
            $this
            ->model
            ->orderBy('name','asc')
            ->pluck('name', 'id')
            ->toArray();
    }
}PK�8]�3_
ooCClient/Repositories/Directory/MunicipalitiesRepositoryInterface.phpnu�Iw��<?php

namespace QxCMS\Modules\Client\Repositories\Directory;

interface MunicipalitiesRepositoryInterface
{

}PK�8]�:�5Client/Repositories/Directory/ProvincesRepository.phpnu�Iw��<?php

namespace QxCMS\Modules\Client\Repositories\Directory;

use QxCMS\Modules\AbstractRepository;
use QxCMS\Modules\Client\Models\Directory\Provinces;

class ProvincesRepository extends AbstractRepository implements ProvincesRepositoryInterface
{
    protected $model;

    function __construct(Provinces $model)
    {
        $this->model = $model;
    }

    public function provincesList()
    {
        return
            $this
            ->model
            ->all()
            ->pluck('name', 'id')
            ->toArray();
    }
}PK�8]���n2Client/Repositories/Directory/CitiesRepository.phpnu�Iw��<?php

namespace QxCMS\Modules\Client\Repositories\Directory;

use QxCMS\Modules\AbstractRepository;
use QxCMS\Modules\Client\Models\Directory\Cities;

class CitiesRepository extends AbstractRepository implements CitiesRepositoryInterface
{
    protected $model;

    function __construct(Cities $model)
    {
        $this->model = $model;
    }

    public function citiesList()
    {
        return
            $this
            ->model
            ->all()
            ->pluck('name', 'id')
            ->toArray();
    }
}PK�8]���uu7Client/Repositories/Directory/DirectoriesRepository.phpnu�Iw��<?php

namespace QxCMS\Modules\Client\Repositories\Directory;

use QxCMS\Modules\AbstractRepository;
use QxCMS\Modules\Client\Models\Directory\Directory;
use QxCMS\Modules\Client\Models\Settings\UserLogs\UserLogs as Log;

class DirectoriesRepository extends AbstractRepository implements DirectoriesRepositoryInterface
{
    protected $model;
    protected $log;

    function __construct(Directory $model, Log $log)
    {
        $this->model = $model;
        $this->log = $log;
    }

    
    public function create(array $request)
    {
        $user = auth()->user();
        $model = $this->model->fill($request);
        $model->save();
        $this->log->saveLog(['action' => 'Create', 'module_id' => $this->getModuleId(), 'user_id' => $user->id, 'data_id' => $model->id]);
        return $model;
    }

    public function update($id, array $request)
    {
        $user = auth()->user();
        $model = $this->findById($id);
        $model->fill($request);
        if(count($model->getDirty()) > 0) {
            $model->save();
            session()->flash('success', 'Successfully edited.');
            $this->log->saveLog(['action' => 'Update', 'module_id' => $this->getModuleId(), 'user_id' => $user->id, 'data_id' => $model->id]);
        }
        return $model;
    }

    public function delete($id)
    {
        $user = auth()->user();
        $model = $this->findById($id);
        $model->delete();
        $this->log->saveLog(['action' => 'Delete', 'module_id' => $this->getModuleId(), 'user_id' => $user->id, 'data_id' => $model->id]);
        return $this->getAjaxResponse('success', 'Successfully deleted.');
    }

    
}PK�8]<MC�gg;Client/Repositories/Directory/CitiesRepositoryInterface.phpnu�Iw��<?php

namespace QxCMS\Modules\Client\Repositories\Directory;

interface CitiesRepositoryInterface
{

}PK�8]��BSll@Client/Repositories/Directory/DirectoriesRepositoryInterface.phpnu�Iw��<?php

namespace QxCMS\Modules\Client\Repositories\Directory;

interface DirectoriesRepositoryInterface
{

}PK�8]���Wjj>Client/Repositories/Directory/ProvincesRepositoryInterface.phpnu�Iw��<?php

namespace QxCMS\Modules\Client\Repositories\Directory;

interface ProvincesRepositoryInterface
{

}PK�8]��b�6Client/Repositories/Directory/AffiliatesRepository.phpnu�Iw��<?php

namespace QxCMS\Modules\Client\Repositories\Directory;

use QxCMS\Modules\AbstractRepository;
use QxCMS\Modules\Client\Models\Directory\Affiliates;
use QxCMS\Modules\Client\Repositories\Directory\DirectoriesRepositoryInterface as Directory;
use Illuminate\Http\Request;

class AffiliatesRepository extends AbstractRepository implements AffiliatesRepositoryInterface
{

    protected $model;

    function __construct(Affiliates $model, Directory $directory)
    {
        $this->model = $model;
        $this->directory = $directory;
    }

    public function create(array $request)
    {
        $affiliates = $this->model->fill($request);
        $affiliates->save();
        return $affiliates;
    }

    public function update(Request $request)
    {
        $id = $request->input('id');
        $name = $request->input('name');

        $affiliates = $this->findById($id);
        $affiliates->name = $name;
        $affiliates->save();
        return $affiliates->name;
    }

    public function delete($id)
    {
        $affiliate = $this->findById($id);
        if ($affiliate->directory->count() > 0) {
            return response()->json(['error' => 'exists', 'id' => $id]);
        } else {
            $affiliate->delete();
            return response()->json(['success' => 'yes', 'id' => $id]);
        }            
    }

    public function affiliatesList()
    {
        return
            $this
            ->model
            ->orderBy('name','asc')
            ->pluck('name', 'id')
            ->toArray();
    }

}PK�8]B_K�kk?Client/Repositories/Directory/AffiliatesRepositoryInterface.phpnu�Iw��<?php

namespace QxCMS\Modules\Client\Repositories\Directory;

interface AffiliatesRepositoryInterface
{

}PK�8]�V�{{:Client/Repositories/Participants/ParticipantRepository.phpnu�Iw��<?php

namespace QxCMS\Modules\Client\Repositories\Participants;

use QxCMS\Modules\AbstractRepository;
use QxCMS\Modules\Client\Models\Participants\Participant;
use QxCMS\Modules\Client\Models\Settings\UserLogs\UserLogs as Log;

class ParticipantRepository extends AbstractRepository implements ParticipantRepositoryInterface
{
    protected $model;
    protected $log;

    function __construct(Participant $model, Log $log)
    {
        $this->model = $model;
        $this->log = $log;
    }

    
    public function create(array $request)
    {

        $model = $this->model->fill($this->_serialize($request));
        $model->save();
        //$this->log->saveLog(['action' => 'Create', 'module_id' => $this->getModuleId(), 'user_id' => $user->id, 'data_id' => $model->id]);
        return $model;
    }

    public function _serialize(array $request)
    {
        return $request;
    }

    public function update($id, array $request)
    {
        $user = auth()->user();
        $model = $this->findById($id);
        $model->fill($this->_serialize($request));
        if(count($model->getDirty()) > 0) {
            $model->save();
            session()->flash('success', 'Successfully updated.');
           // $this->log->saveLog(['action' => 'Update', 'module_id' => $this->getModuleId(), 'user_id' => $user->id, 'data_id' => $model->id]);
        }

        return $model;
    }

    public function delete($id)
    {
        $user = auth()->user();
        $model = $this->findById($id);
        $model->delete();
      //  $this->log->saveLog(['action' => 'Delete', 'module_id' => $this->getModuleId(), 'user_id' => $user->id, 'data_id' => $model->id]);
        return $this->getAjaxResponse('success', 'Successfully deleted.');
    }


    public function datatablesIndex()
    {
        //return $this->model->with(['principal', 'template', 'fieldOfficer', 'editor'])->select(['*']);
    }

}PK�8]�qXossCClient/Repositories/Participants/ParticipantRepositoryInterface.phpnu�Iw��<?php

namespace QxCMS\Modules\Client\Repositories\Participants;

interface ParticipantRepositoryInterface
{
    
}PK�8]��U8Client/Repositories/Questionnaire/QuestionRepository.phpnu�Iw��<?php

namespace QxCMS\Modules\Client\Repositories\Questionnaire;

use QxCMS\Modules\AbstractRepository;

use QxCMS\Modules\Client\Models\Questionnaire\Question;
use QxCMS\Modules\Client\Models\Settings\UserLogs\UserLogs as Log;

class QuestionRepository extends AbstractRepository implements QuestionRepositoryInterface
{
    protected $model;
    protected $log;

    function __construct(Question $model, Log $log)
    {
        $this->model = $model;
        $this->log = $log;
    }
    
    public function create(array $request)
    {
        $user = auth()->user();
        $model = $this->model->fill($this->_serialize($request));
        $model->save();
        $this->log->saveLog(['action' => 'Create', 'module_id' => $this->getModuleId(), 'user_id' => $user->id, 'data_id' => $model->id, 'sub_menu' => 'Questions-'.$model->template_id]);
        return $model;
    }

    public function _serialize(array $request)
    {
        if(isset($request['template_id'])) {
            $order = $this->model->where('template_id', $request['template_id'])->count();
            $request['order'] = $order + 1;
        }
        if(!isset($request['required'])) $request['required'] = false;
        if(!isset($request['multiple_select'])) $request['multiple_select'] = false;

        return $request;
    }

    public function update($id, array $request)
    {
        $user = auth()->user();
        $model = $this->findById($id);
        $model->fill($this->_serialize($request));
        if(count($model->getDirty()) > 0) {
            $model->save();
            session()->flash('success', 'Question is successfully updated.');
            $this->log->saveLog(['action' => 'Update', 'module_id' => $this->getModuleId(), 'user_id' => $user->id, 'data_id' => $model->id, 'sub_menu' => 'Questions-'.$model->template_id]);
        }

        return $model;
    }

    public function delete($id)
    {
        $user = auth()->user();
        $model = $this->findById($id);
        $model->answers()->delete();
        $model->delete();
        $this->log->saveLog(['action' => 'Delete', 'module_id' => $this->getModuleId(), 'user_id' => $user->id, 'data_id' => $model->id, 'sub_menu' => 'Questions-'.$model->template_id]);

        return $this->getAjaxResponse('success', 'Question and its answers are successfully deleted.');
    }

    public function sort($order = 0, $id = 0)
    {
        if($id <> 0) {
            $model = $this->model->find($id);
            $model->order = $order;
            $model->save();
        } 
        return;
    }

    public function copyQuestion($question = null)
    {
        $user = auth()->user();
        if($question != null)
        {
            $question_input['title'] = $question->title.'(Copy)';
            $question_input['order'] = $question->order;
            $question_input['template_id'] = $question->template_id;
            $question_input['required'] = $question->required;
            $question_input['multiple_select'] = $question->multiple_select;
            $question_input['question_type'] = $question->question_type;

            $new_question = $this->model->create($question_input);
            $this->log->saveLog(['action' => 'Duplicate', 'module_id' => $this->getModuleId(), 'user_id' => $user->id, 'data_id' => $new_question->id, 'sub_menu' => 'Questions-'.$question->template_id]);

            $answers = array();
            if(count($question->answers) > 0) {
                foreach ($question->answers as $answer) {
                    $answers['question_id'] = $answer->question_id;
                    $answers['name'] = $answer->name; 
                    $answers['order'] = $answer->order; 
                    $new_question->answers()->create($answers);
                }
            }

            return $this->model->find($question->id);
        }
    }

    public function getQuestionTypes()
    {
        return $this->model->questionTypes();
    }

    public function getTypes()
    {
        return [
            1 => 'text',
            2 => 'radiogroup',
            3 => 'checkbox'
        ];
    }
}PK�8]Y��kk?Client/Repositories/Questionnaire/AnswerRepositoryInterface.phpnu�Iw��<?php

namespace QxCMS\Modules\Client\Repositories\Questionnaire;

interface AnswerRepositoryInterface
{

}PK�8]"B
B��8Client/Repositories/Questionnaire/TemplateRepository.phpnu�Iw��<?php

namespace QxCMS\Modules\Client\Repositories\Questionnaire;

use QxCMS\Modules\AbstractRepository;

use QxCMS\Modules\Client\Models\Questionnaire\Template;
use QxCMS\Modules\Client\Models\Settings\UserLogs\UserLogs as Log;
class TemplateRepository extends AbstractRepository implements TemplateRepositoryInterface
{
    protected $model;
    protected $log;

    function __construct(Template $model, Log $log)
    {
        $this->model = $model;
        $this->log = $log;
    }

    
    public function create(array $request)
    {
        $user = auth()->user();
        $model = $this->model->fill($this->_serialize($request));
        $model->save();
        $this->log->saveLog(['action' => 'Create', 'module_id' => $this->getModuleId(), 'user_id' => $user->id, 'data_id' => $model->id]);
        return $model;
    }

    public function _serialize(array $request)
    {
        return $request;
    }

    public function update($id, array $request)
    {
        $user = auth()->user();
        $model = $this->findById($id);
        $model->fill($this->_serialize($request));
        if(count($model->getDirty()) > 0) {
            $model->save();
            session()->flash('success', 'Template successfully updated.');
            $this->log->saveLog(['action' => 'Update', 'module_id' => $this->getModuleId(), 'user_id' => $user->id, 'data_id' => $model->id]);
        }

        return $model;
    }

    public function delete($id)
    {
        $user = auth()->user();
        $model = $this->findById($id);
        $model->questions->each(function($value){
            $value->answers()->delete();
        });

        $model->questions()->delete();
        $model->delete();
        $this->log->saveLog(['action' => 'Delete', 'module_id' => $this->getModuleId(), 'user_id' => $user->id, 'data_id' => $model->id]);
        return $this->getAjaxResponse('success', 'Template successfully deleted.');
    }

    public function copyTemplate($id)
    {
        $user = auth()->user();
        if($id)
        {
            $model = $this->model->with(['questions','questions.answers'])->find($id);
            if($model)
            {
                $templates['title'] = $model->title.'(Copy)';
                $templates['user_id'] = auth('client')->user()->id;
                $templates['description'] = $model->description;
                $templates['status'] = 'Open';
                $new_template = $this->model->create($templates);
                $this->log->saveLog(['action' => 'Duplicate', 'module_id' => $this->getModuleId(), 'user_id' => $user->id, 'data_id' => $new_template->id]);

                if(count($model->questions) > 0) {
                    $questions = array();
                    foreach ($model->questions as $question) {
                        $questions['title'] = $question->title;
                        $questions['order'] = $question->order;
                        $questions['template_id'] = $question->template_id;
                        $questions['required'] = $question->required;
                        $questions['multiple_select'] = $question->multiple_select;
                        $questions['question_type'] = $question->question_type;

                        $new_question = $new_template->questions()->create($questions);

                        if(isset($question->answers))
                        {
                            if(count($question->answers) > 0)
                            {
                                $answers = array();
                                foreach ($question->answers  as $answer) {
                                    $answers['question_id'] = $answer->question_id;
                                    $answers['name'] = $answer->name; 
                                    $answers['order'] = $answer->order;
                                    $new_question->answers()->create($answers);
                                }
                            }
                        }
                    }
                }
            }
        }
        return $model;
    }

    public function select2($params = array())
    {
        if(!isset($params['title'])) $params['title'] = '';
        $model = $this->model
                        ->select(['title as text', 'id'])
                        ->searchByTitle($params['title'])
                        ->get();

        if(isset($params['placeholder'])) {
            $placeholder = array('text' => ' - All -', 'id' => '-1');
            if(isset($params['placeholder']['text'])) $placeholder = array('text' => $params['placeholder']['text'], 'id' => '-1');
             
            return  response(
                   array_prepend($model->toArray(), $placeholder)
                )->header('Content-Type', 'application/json');
        }
       
        return  response(
                       $model->toArray()
                    )->header('Content-Type', 'application/json');
    }


    public function findTemplateById($id, $relationships = [])
    {
        if(count($relationships)) {
            return $this->model->with($relationships)->find($id);
        }
        return  $this->model->find($id);
    }
     /*
    
    
    API REQUEST
     */
    public function apiGetQuestionnaire(array $request)
    {
        if(!isset($request['template_id'])) return array();
        return $this->model->with(['questions' => function($query) {
            $query->orderBy('order', 'ASC');
        }, 'questions.answers' => function($query){
            $query->orderBy('order', 'ASC');
        }])->find($request['template_id']);
    }
}PK�8]]�S�mmAClient/Repositories/Questionnaire/QuestionRepositoryInterface.phpnu�Iw��<?php

namespace QxCMS\Modules\Client\Repositories\Questionnaire;

interface QuestionRepositoryInterface
{

}PK�8]�p���6Client/Repositories/Questionnaire/AnswerRepository.phpnu�Iw��<?php

namespace QxCMS\Modules\Client\Repositories\Questionnaire;

use QxCMS\Modules\AbstractRepository;

use QxCMS\Modules\Client\Models\Questionnaire\Answer;

class AnswerRepository extends AbstractRepository implements AnswerRepositoryInterface
{
    protected $model;

    function __construct(Answer $model)
    {
        $this->model = $model;
    }

    
    public function create(array $request)
    {
        $model = $this->model->create($this->_serialize($request));
        return $model;
    }

    public function _serialize(array $request)
    {
        return $request;
    }

    public function update($id, array $request)
    {
        $model = $this->model->find($id);
        $model->fill($this->_serialize($request));
        $model->save();
        return $model;
    }

    public function delete($id)
    {
        $model = $this->findById($id);
        if($model->type_id == 1) {
            return $this->getAjaxResponse('error', 'Primary user connot be deleted.');
        }

        $model->delete();
        return $this->getAjaxResponse('success', 'Template successfully deleted.');
    }

    public function getQuestionTypes()
    {
        
        return $this->model->questionTypes();
    }
}PK�8]-�L�qqAClient/Repositories/Questionnaire/TemplateRepositoryInterface.phpnu�Iw��<?php

namespace QxCMS\Modules\Client\Repositories\Questionnaire;

interface TemplateRepositoryInterface
{
    
}PK�8]�����-Client/Repositories/Posts/PostsRepository.phpnu�[���<?php

namespace QxCMS\Modules\Client\Repositories\Posts;
use Illuminate\Support\Str;
use QxCMS\Modules\AbstractRepository;
use QxCMS\Modules\Client\Models\Posts\Posts;
use QxCMS\Modules\Client\Models\Settings\UserLogs\UserLogs as Log;
use Illuminate\Http\Request;
use Carbon\Carbon;

class PostsRepository extends AbstractRepository implements PostsRepositoryInterface
{
    protected $model;
    protected $log;

    function __construct(Posts $model, Log $log)
    {
        $this->model = $model;
        $this->log = $log;
    }
    
    public function create(Request $request)
    {
        $user = auth()->user();
        $model = $this->model->fill($request->all());
        $model->author_id = $user->id;
        $model->slug = Str::slug($request['title']);
        $model->post_type = 'Post';

        $model->save();
        $this->log->saveLog(['action' => 'Create', 'module_id' => $this->getModuleId(), 'user_id' => $user->id, 'data_id' => $model->id]);
        return $model;
    }

    public function update($id, Request $request)
    {
        $model = $this->findById($id);
        $user = auth()->user();
        $model->fill($request->all());
        $model->slug = Str::slug($request['title']);

        if(count($model->getDirty()) > 0) {
            $model->save();
            session()->flash('success', 'Successfully edited.');
            $this->log->saveLog(['action' => 'Update', 'module_id' => $this->getModuleId(), 'user_id' => $user->id, 'data_id' => $model->id]);
        }

        return $model;
    }

    public function delete($id)
    {
        $model = $this->findById($id);
        $user = auth()->user();
        $model->delete();
        $this->log->saveLog(['action' => 'Delete', 'module_id' => $this->getModuleId(), 'user_id' => $user->id, 'data_id' => $model->id]);

        return $this->getAjaxResponse('success', 'Successfully deleted.');
    }

    public function getAllPost($limit = 10)
    {
        $post = $this->model;
        return $this->getActivePost($post)->latest()->paginate($limit);
    }

    public function getLatestPost($limit = 10)
    {
        $post = $this->model;
        return $this->getActivePost($post)->latest()->take($limit)->get();
    }

     public function findBySlug($slug)
    {
        return $this->model->where('slug', '=', $slug)->get();
    }

    public function getLatestByCategory($slug, $limit = 4)
    {
        $post = $this->model
            ->whereHas('category', function($query) use($slug) {
                $query->where('slug', '=', $slug);
            });

        return $this->getActivePost($post)->latest()->paginate($limit);
    }

    public function getAllPage()
    {
        return $this->model->where('status', 'Publish')->where('post_type', 'Page')->get();
    }

    protected function getActivePost($model)
    {
        $date_today = Carbon::now();
        return $model
            ->where('published_at', '<=', $date_today)
            ->where('status', 'Publish')
            ->where('post_type', 'Post')
            ->where(function($query) use ($date_today){
                $query->orWhere('expired_at', '>', $date_today);
                $query->orWhere('expired_at', '=', '0000-00-00');
            });
    }
}PK�8]��_��4Client/Repositories/Posts/PostCategoryRepository.phpnu�[���<?php

namespace QxCMS\Modules\Client\Repositories\Posts;
use Illuminate\Support\Str;
use QxCMS\Modules\AbstractRepository;
use QxCMS\Modules\Client\Models\Posts\PostCategory;
use QxCMS\Modules\Client\Repositories\Posts\PostsRepositoryInterface as Posts;

use Illuminate\Http\Request;

class PostCategoryRepository extends AbstractRepository implements PostCategoryRepositoryInterface
{

    protected $model;

    function __construct(PostCategory $model, Posts $posts)
    {
        $this->model = $model;
        $this->posts = $posts;
    }

    public function create(array $request)
    {
        $postCategory = $this->model->fill($request);
        $postCategory->slug = Str::slug($request['name']);
        $postCategory->save();
        return $postCategory;
    }

    public function update(Request $request)
    {
        $id = $request->input('id');
        $name = $request->input('name');

        $postCategory = $this->findById($id);
        $postCategory->name = $name;
        $postCategory->slug = Str::slug($name);
        $postCategory->save();
        return $postCategory->name;
    }

    public function delete($id)
    {
        $postCategory = $this->findById($id);
        if ($postCategory->post->count() > 0) {
            return response()->json(['error' => 'exists', 'id' => $id]);
        } else {
            $postCategory->delete();
            return response()->json(['success' => 'yes', 'id' => $id]);
        }            
    }

    public function postCategoryList()
    {
        return
            $this
            ->model
            ->orderBy('name','asc')
            ->pluck('name', 'id')
            ->toArray();
    }
}PK�8]-psZii=Client/Repositories/Posts/PostCategoryRepositoryInterface.phpnu�Iw��<?php

namespace QxCMS\Modules\Client\Repositories\Posts;

interface PostCategoryRepositoryInterface
{

}PK�8]�bb6Client/Repositories/Posts/PostsRepositoryInterface.phpnu�Iw��<?php

namespace QxCMS\Modules\Client\Repositories\Posts;

interface PostsRepositoryInterface
{

}PK�8]�-v�ll@Client/Repositories/Products/ProductBrandRepositoryInterface.phpnu�Iw��<?php

namespace QxCMS\Modules\Client\Repositories\Products;

interface ProductBrandRepositoryInterface
{

}PK�8]�U�}}2Client/Repositories/Products/ProductRepository.phpnu�[���<?php

namespace QxCMS\Modules\Client\Repositories\Products;
use Illuminate\Support\Str;
use QxCMS\Modules\AbstractRepository;
use QxCMS\Modules\Client\Models\Products\Product;
use QxCMS\Modules\Client\Models\Settings\UserLogs\UserLogs as Log;
use Storage;
use Illuminate\Http\Request;

class ProductRepository extends AbstractRepository implements ProductRepositoryInterface
{
    protected $model;
    protected $log;

    function __construct(Product $model, Log $log)
    {
        $this->model = $model;
        $this->log = $log;
    }

    public function getAllProduct(){
        $allProduct = $this->model->all();
        return $allProduct;
    }
    
    public function create(Request $request)
    {
        $user = auth()->user();
        $model = $this->model->fill($request->except(['image']));

        if( $request->hasFile('image') ) {
            $ext = $request->file('image')->getClientOriginalExtension();
            $path = $request->file('image')->storeAs($user->client->root_dir.'/products', Str::slug($request['name']).'.'.$ext, $user->client->storage_type);
            $model->image = basename($path);
        }
        $model->save();
        $this->log->saveLog(['action' => 'Create', 'module_id' => $this->getModuleId(), 'user_id' => $user->id, 'data_id' => $model->id]);
        return $model;
    }

    public function update($id, Request $request)
    {
        $model = $this->findById($id);
        $user = auth()->user();
        $model->fill($request->all());
        
        if( $request->hasFile('image') ) {
            Storage::disk($user->client->storage_type)->delete($user->client->root_dir.'/products/'.$model['image']);
            $ext = $request->file('image')->getClientOriginalExtension();
            $path = $request->file('image')->storeAs($user->client->root_dir.'/products', Str::slug($request['name']).'.'.$ext, $user->client->storage_type);
            $model->image = basename($path);
            $this->log->saveLog(['action' => 'Update', 'module_id' => $this->getModuleId(), 'user_id' => $user->id, 'data_id' => $model->id]);
        }   
        if(count($model->getDirty()) > 0) {
            $model->save();
            session()->flash('success', 'Successfully edited.');
            $this->log->saveLog(['action' => 'Update', 'module_id' => $this->getModuleId(), 'user_id' => $user->id, 'data_id' => $model->id]);
        }
        return $model;
    }

    public function delete($id)
    {
        $model = $this->findById($id);
        $user = auth()->user();
        if($model->image <> ''){
            Storage::disk($user->client->storage_type)->delete($user->client->root_dir.'/products/'.$model['image']);
        }
        $model->delete();
        $this->log->saveLog(['action' => 'Delete', 'module_id' => $this->getModuleId(), 'user_id' => $user->id, 'data_id' => $model->id]);
        return $this->getAjaxResponse('success', 'Successfully deleted.');
    }
}PK�8]�Jp7Client/Repositories/Products/ProductBrandRepository.phpnu�Iw��<?php

namespace QxCMS\Modules\Client\Repositories\Products;

use QxCMS\Modules\AbstractRepository;
use QxCMS\Modules\Client\Models\Products\ProductBrand;
use QxCMS\Modules\Client\Repositories\Products\ProductRepositoryInterface as Product;

use Illuminate\Http\Request;

class ProductBrandRepository extends AbstractRepository implements ProductBrandRepositoryInterface
{

    protected $model;

    function __construct(ProductBrand $model, Product $product)
    {
        $this->model = $model;
        $this->product = $product;
    }

    public function create(array $request)
    {
        $productBrand = $this->model->fill($request);
        $productBrand->save();
        return $productBrand;
    }

    public function update(Request $request)
    {
        $id = $request->input('id');
        $name = $request->input('name');

        $productBrand = $this->findById($id);
        $productBrand->name = $name;
        $productBrand->save();
        return $productBrand->name;
    }

    public function delete($id)
    {
        $productBrand = $this->findById($id);
        if ($productBrand->product->count() > 0) {
            return response()->json(['error' => 'exists', 'id' => $id]);
        } else {
            $productBrand->delete();
            return response()->json(['success' => 'yes', 'id' => $id]);
        }            
    }

    public function productBrandList()
    {
        return
            $this
            ->model
            ->orderBy('name','asc')
            ->pluck('name', 'id')
            ->toArray();
    }

}PK�8];1�gg;Client/Repositories/Products/ProductRepositoryInterface.phpnu�Iw��<?php

namespace QxCMS\Modules\Client\Repositories\Products;

interface ProductRepositoryInterface
{

}PK�8]}�'^ooCClient/Repositories/Products/ProductCategoryRepositoryInterface.phpnu�Iw��<?php

namespace QxCMS\Modules\Client\Repositories\Products;

interface ProductCategoryRepositoryInterface
{

}PK�8]�i�GG:Client/Repositories/Products/ProductCategoryRepository.phpnu�Iw��<?php

namespace QxCMS\Modules\Client\Repositories\Products;

use QxCMS\Modules\AbstractRepository;
use QxCMS\Modules\Client\Models\Products\ProductCategory;
use QxCMS\Modules\Client\Repositories\Products\ProductRepositoryInterface as Product;

use Illuminate\Http\Request;

class ProductCategoryRepository extends AbstractRepository implements ProductCategoryRepositoryInterface
{

    protected $model;

    function __construct(ProductCategory $model, Product $product)
    {
        $this->model = $model;
        $this->product = $product;
    }

    public function create(array $request)
    {
        $productCategory = $this->model->fill($request);
        $productCategory->save();
        return $productCategory;
    }

    public function update(Request $request)
    {
        $id = $request->input('id');
        $name = $request->input('name');

        $productCategory = $this->findById($id);
        $productCategory->name = $name;
        $productCategory->save();
        return $productCategory->name;
    }

    public function delete($id)
    {
        $productCategory = $this->findById($id);
        if ($productCategory->product->count() > 0) {
            return response()->json(['error' => 'exists', 'id' => $id]);
        } else {
            $productCategory->delete();
            return response()->json(['success' => 'yes', 'id' => $id]);
        }            
    }

    public function productCategoryList()
    {
        return
            $this
            ->model
            ->orderBy('name','asc')
            ->pluck('name', 'id')
            ->toArray();
    }

}PK�8]��9Z9ZClient/routes.phpnu�Iw��<?php

Route::group(['namespace'=>'Auth', 'prefix' => 'auth'], function(){
    Route::get('/logout', 'AuthController@logout');
    Route::group(['prefix'=>'login'], function(){
        Route::get('/',  'AuthController@getLogin');
        Route::post('/', 'AuthController@postLogin');
    });
});

Route::group(['middleware'=>['auth.client']], function(){
    Route::get('/', function(){
        return redirect('client/auth/login');
    });
    Route::group(['namespace'=>'Dashboard'], function(){
        Route::group(['prefix'=>'dashboard'], function(){
            Route::get('/', 'DashboardController@dashboard');
        });
    });
    Route::group(['namespace'=>'Settings'], function() {
        Route::group(['prefix'=>'settings'], function() {
            Route::group(['prefix' => 'roles'], function(){
                Route::get('get-roles-data', 'RoleController@getRolesData');
            });
            Route::resource('roles', 'RoleController', 
            [
                'names' => [
                    'index' => config('modules.client').'.settings.roles.index',
                    'create' => config('modules.client').'.settings.roles.create',
                    'store' => config('modules.client').'.settings.roles.store',
                    'show' => config('modules.client').'.settings.roles.show',
                    'edit' => config('modules.client').'.settings.roles.edit',
                    'update' => config('modules.client').'.settings.roles.update',
                    'destroy' => config('modules.client').'.settings.roles.destroy'
                ]
            ]
            );
        });
        Route::group(['prefix'=>'settings'], function() {
            Route::group(['prefix' => 'users'], function(){
                Route::get('get-users-data', 'UserController@getUsersData');
                Route::get('select2', array('as' => config('modules.client').'.users.select2', 'uses' => 'UserController@select2'));
                Route::get('get-tokeninput-user-lists', 'UserController@getTokenInputUserLists');
            });
            Route::resource('users', 'UserController', 
            [
                'names' => [
                    'index' => config('modules.client').'.settings.users.index',
                    'create' => config('modules.client').'.settings.users.create',
                    'store' => config('modules.client').'.settings.users.store',
                    'show' => config('modules.client').'.settings.users.show',
                    'edit' => config('modules.client').'.settings.users.edit',
                    'update' => config('modules.client').'.settings.users.update',
                    'destroy' => config('modules.client').'.settings.users.destroy'
                ]
            ]
            );
        });
    });

    Route::group(['namespace'=>'Principals'], function() {
        Route::group(['prefix'=>'principals'], function() {
            Route::get('get-principals-data', 'PrincipalController@getPrincipalsData');
            Route::get('{principal_id}/get-contact-persons-data', 'ContactPersonController@getContactPersonsData');
            Route::get('select2', array('as' => config('modules.client').'.principals.select2', 'uses' => 'PrincipalController@select2'));
            Route::get('{principal_id}/overview', array('as' => config('modules.client').'.settings.principals.overview', 'uses' => 'PrincipalController@overview'));
            Route::get('{principal_id}/login', 'PrincipalController@login');
        });
        Route::resource('principals', 'PrincipalController', 
        [
            'names' => [
                'index' => config('modules.client').'.settings.principals.index',
                'create' => config('modules.client').'.settings.principals.create',
                'store' => config('modules.client').'.settings.principals.store',
                'show' => config('modules.client').'.settings.principals.show',
                'edit' => config('modules.client').'.settings.principals.edit',
                'update' => config('modules.client').'.settings.principals.update',
                'destroy' => config('modules.client').'.settings.principals.destroy'
            ]
        ]
        );

        Route::resource('principals.contact-persons', 'ContactPersonController',
        [
            'names' => [
                'index' => config('modules.client').'.principals.contact-persons.index',
                'create' => config('modules.client').'.principals.contact-persons.create',
                'store' => config('modules.client').'.principals.contact-persons.store',
                'show' => config('modules.client').'.principals.contact-persons.show',
                'edit' => config('modules.client').'.principals.contact-persons.edit',
                'update' => config('modules.client').'.principals.contact-persons.update',
                'destroy' => config('modules.client').'.principals.contact-persons.destroy'
            ]
        ]);
    });

    
    Route::group(['namespace'=>'Questionnaire'], function() {
        Route::group(['prefix'=>'questionnaire'], function() {
            Route::get('get-template-data', 'TemplateController@getTemplateData');
            Route::get('select2', array('as' => config('modules.client').'.questionnaire.select2', 'uses' => 'TemplateController@select2'));
            Route::get('{template_id}/preview', array('as' => config('modules.client').'.questionnaire.preview', 'uses' => 'TemplateController@preview'));
            Route::get('{template_id}/result', array('as' => config('modules.client').'.questionnaire.result', 'uses' => 'TemplateController@result'));
            
            Route::post('{id}/copy', array('as' => config('modules.client').'.questionnaire.copy', 'uses'=>'TemplateController@copyTemplate'));
            Route::get('{template_id}/get-question-data', 'QuestionController@getQuestionData');
            Route::post('{id}/question/copy', array('as' => config('modules.client').'.questionnaire.question.copy', 'uses'=>'QuestionController@copyQuestion'));
            Route::post('{template_id}/question/sort', array('as' => config('modules.client').'.questionnaire.question.sort', 'uses'=>'QuestionController@sortQuestion'));
           
           /* Route::get('{principal_id}/login', 'PrincipalController@login');*/
        });

        Route::resource('questionnaire', 'TemplateController', 
        [
            'names' => [
                'index' => config('modules.client').'.questionnaire.index',
                'create' => config('modules.client').'.questionnaire.create',
                'store' => config('modules.client').'.questionnaire.store',
                'show' => config('modules.client').'.questionnaire.show',
                'edit' => config('modules.client').'.questionnaire.edit',
                'update' => config('modules.client').'.questionnaire.update',
                'destroy' => config('modules.client').'.questionnaire.destroy'
            ]
        ]);

        Route::resource('questionnaire.question', 'QuestionController', 
        [
            'names' => [
                'index' => config('modules.client').'.questionnaire.question.index',
                'create' => config('modules.client').'.questionnaire.question.create',
                'store' => config('modules.client').'.questionnaire.question.store',
                'show' => config('modules.client').'.questionnaire.question.show',
                'edit' => config('modules.client').'.questionnaire.question.edit',
                'update' => config('modules.client').'.questionnaire.question.update',
                'destroy' => config('modules.client').'.questionnaire.question.destroy'
            ]
        ]);
    });

    Route::group(['namespace'=>'Subject'], function() {
        Route::group(['prefix'=>'subject'], function() {
            Route::get('get-datatables-index', 'SubjectController@getDatatablesIndex');
        });
        Route::resource('subject', 'SubjectController', 
        [
            'names' => [
                'index' => config('modules.client').'.subject.index',
                'create' => config('modules.client').'.subject.create',
                'store' => config('modules.client').'.subject.store',
                'show' => config('modules.client').'.subject.show',
                'edit' => config('modules.client').'.subject.edit',
                'update' => config('modules.client').'.subject.update',
                'destroy' => config('modules.client').'.subject.destroy'
            ]
        ]);
    });

     Route::group(['namespace'=>'Officers'], function() {
        Route::group(['prefix'=>'officers'], function() {
            Route::get('get-datatables-index', 'OfficerController@getDatatablesIndex');
        });

        Route::resource('officers', 'OfficerController', 
        [
            'names' => [
                'index' => config('modules.client').'.officer.index',
                'create' => config('modules.client').'.officer.create',
                'store' => config('modules.client').'.officer.store',
                'show' => config('modules.client').'.officer.show',
                'edit' => config('modules.client').'.officer.edit',
                'update' => config('modules.client').'.officer.update',
                'destroy' => config('modules.client').'.officer.destroy'
            ]
        ]);
    });

    Route::group(['namespace'=>'JobOpening'], function() {
        Route::group(['prefix'=>'job-opening'], function() {
            Route::get('/details/{id}', array('as' => config('modules.client').'.job-opening.details', 'uses' => 'JobOpeningController@details'));
            Route::post('get-job-data', array('as' => config('modules.client').'.job-opening.datatables-index', 'uses' => 'JobOpeningController@getJobData'));
        });

        Route::resource('job-opening', 'JobOpeningController', 
        [
            'names' => [
                'index' => config('modules.client').'.job-opening.index',
                'create' => config('modules.client').'.job-opening.create',
                'store' => config('modules.client').'.job-opening.store',
                'show' => config('modules.client').'.job-opening.show',
                'edit' => config('modules.client').'.job-opening.edit',
                'update' => config('modules.client').'.job-opening.update',
                'destroy' => config('modules.client').'.job-opening.destroy'
            ]
        ]);
    });

    Route::group(['namespace'=>'Applicants'], function() {
        Route::group(['prefix'=>'applicants'], function() {
            Route::get('/', array('as' => config('modules.client').'.applicants.index', 'uses' => 'ApplicantsController@index'));
            Route::get('/{id}/view', array('as' => config('modules.client').'.applicants.view', 'uses' => 'ApplicantsController@view'));
            Route::get('/{id}/excel', array('as' => config('modules.client').'.applicants.excel', 'uses' => 'ApplicantsController@excel'));

            Route::post('get-applicants-data', array('as' => config('modules.client').'.applicants.datatables-index', 'uses' => 'ApplicantsController@getApplicantsData'));
            Route::post('get-applicants-list-data/{id}', array('as' => config('modules.client').'.applicants-list.datatables-index', 'uses' => 'ApplicantsController@getApplicantListData'));

            Route::group(['prefix'=>'search'], function() {
                Route::get('/', array('as' => config('modules.client').'.search-applicants.index', 'uses' => 'SearchApplicantsController@index'));
                Route::post('get-search-applicants-data', array('as' => config('modules.client').'.search-applicants.datatables-index', 'uses' => 'SearchApplicantsController@getSearchApplicantsData'));
            });

            Route::group(['prefix'=>'source'], function() {
                Route::get('/', array('as' => config('modules.client').'.source-applicants.index', 'uses' => 'SourceApplicantsController@index'));
                Route::post('/view', array('as' => config('modules.client').'.source-applicants.show', 'uses' => 'SourceApplicantsController@show'));
                Route::get('/view/excel', array('as' => config('modules.client').'.source-applicants.excel', 'uses' => 'SourceApplicantsController@excel'));
                Route::post('get-source-applicants-data', array('as' => config('modules.client').'.source-applicants.datatables-index', 'uses' => 'SourceApplicantsController@getSourceApplicantsData'));
            });
        });
    });

    Route::group(['namespace'=>'Pages'], function() {
        Route::group(['prefix'=>'pages'], function() {
            //FAQ
            Route::group(['prefix'=>'faq'], function() {
                Route::get('/details/{id}', array('as' => config('modules.client').'.faq.details', 'uses' => 'FAQController@details'));
                Route::post('get-faq-data', array('as' => config('modules.client').'.faq.datatables-index', 'uses' => 'FAQController@getFAQData'));
            });
            Route::resource('faq', 'FAQController', 
            [
                'names' => [
                    'index' => config('modules.client').'.faq.index',
                    'create' => config('modules.client').'.faq.create',
                    'store' => config('modules.client').'.faq.store',
                    'show' => config('modules.client').'.faq.show',
                    'edit' => config('modules.client').'.faq.edit',
                    'update' => config('modules.client').'.faq.update',
                    'destroy' => config('modules.client').'.faq.destroy'
                ]
            ]);

            //About Us
            Route::group(['prefix'=>'about-us'], function() {
                Route::get('/details/{id}', array('as' => config('modules.client').'.about-us.details', 'uses' => 'AboutUsController@details'));
                Route::post('get-about-us-data', array('as' => config('modules.client').'.about-us.datatables-index', 'uses' => 'AboutUsController@getAboutUsData'));
            });
            Route::resource('about-us', 'AboutUsController', 
            [
                'names' => [
                    'index' => config('modules.client').'.about-us.index',
                    'create' => config('modules.client').'.about-us.create',
                    'store' => config('modules.client').'.about-us.store',
                    'show' => config('modules.client').'.about-us.show',
                    'edit' => config('modules.client').'.about-us.edit',
                    'update' => config('modules.client').'.about-us.update',
                    'destroy' => config('modules.client').'.about-us.destroy'
                ]
            ]);

            //Contact Us
            Route::group(['prefix'=>'contact-us'], function() {
                Route::post('get-about-us-data', array('as' => config('modules.client').'.contact-us.datatables-index', 'uses' => 'ContactUsController@getContactUsData'));
            });
            Route::resource('contact-us', 'ContactUsController', 
            [
                'names' => [
                    'index' => config('modules.client').'.contact-us.index',
                    'create' => config('modules.client').'.contact-us.create',
                    'store' => config('modules.client').'.contact-us.store',
                    'show' => config('modules.client').'.contact-us.show',
                    'edit' => config('modules.client').'.contact-us.edit',
                    'update' => config('modules.client').'.contact-us.update',
                    'destroy' => config('modules.client').'.contact-us.destroy'
                ]
            ]);
        });
    });

    Route::group(['namespace'=>'Pages'], function() {
        Route::group(['prefix'=>'pages'], function() {
            Route::get('/', array('uses' => 'PagesController@index', 'as' => config('modules.client').'.pages.index'));
            Route::get('/create', array('uses' => 'PagesController@create', 'as' => 'create'));
            Route::post('/store', array('uses' => 'PagesController@store', 'as' => 'store'));
            Route::get('/edit/{id}', array('uses' => 'PagesController@edit', 'as' => 'edit'));
            Route::post('/update/{id}', array('uses' => 'PagesController@update', 'as' => 'update'));
            Route::get('/destroy/{id}', array('uses' => 'PagesController@destroy', 'as' => 'destroy'));

            Route::post('/get-page-data', array('uses' => 'PagesController@getPagesData', 'as' => 'getPagesData'));
        });
    });

    Route::group(['namespace'=>'Directory'], function() {
        Route::group(['prefix' => 'directory-store'], function() {
            Route::get('/', array('uses' => 'DirectoriesController@index', 'as' => config('modules.client').'.directory.index'));
            Route::get('/create', array('uses' => 'DirectoriesController@create', 'as' => 'create'));
            Route::post('/store', array('uses' => 'DirectoriesController@store', 'as' => 'store'));
            Route::get('/edit/{id}', array('uses' => 'DirectoriesController@edit', 'as' => 'edit'));
            Route::post('/update/{id}', array('uses' => 'DirectoriesController@update', 'as' => 'update'));
            Route::get('/destroy/{id}', array('uses' => 'DirectoriesController@destroy', 'as' => 'destroy'));

            Route::post('/get-directories-data', array('uses' => 'DirectoriesController@getDirectoriesData', 'as' => 'getDirectoriesData'));
        });

        Route::group(['prefix' => 'modals'], function() {
            Route::group(['prefix' => 'affiliates'], function() {
                Route::post('/store', array('uses' => 'AffiliatesController@store', 'as' => 'storeAffiliates'));
                Route::get('/destroy/{id}', array('uses' => 'AffiliatesController@destroy', 'as' => 'destroyAffiliates'));
                Route::post('/update', array('uses' => 'AffiliatesController@update', 'as' => 'update'));

                Route::post('/get-affiliates-data', array('uses' => 'AffiliatesController@getAffiliatesData', 'as' => 'getAffiliatesData'));
            });
            Route::group(['prefix' => 'specialization'], function() {
                Route::post('/store', array('uses' => 'SpecializationsController@store', 'as' => 'storeSpecializations'));
                Route::get('/destroy/{id}', array('uses' => 'SpecializationsController@destroy', 'as' => 'destroySpecializations'));
                Route::post('/update', array('uses' => 'SpecializationsController@update', 'as' => 'update'));

                Route::post('/get-specialization-data', array('uses' => 'SpecializationsController@getSpecializationsData', 'as' => 'getSpecializationsData'));
            });
        });
    });

    Route::group(['namespace'=>'Products'], function() {
        Route::group(['prefix'=>'products'], function() {
            Route::get('/', array('uses' => 'ProductController@index', 'as' => config('modules.client').'.products.index'));
            Route::get('/create', array('uses' => 'ProductController@create', 'as' => 'create'));
            Route::post('/store', array('uses' => 'ProductController@store', 'as' => 'store'));
            Route::get('/edit/{id}', array('uses' => 'ProductController@edit', 'as' => 'edit'));
            Route::post('/update/{id}', array('uses' => 'ProductController@update', 'as' => 'update'));
            Route::get('/destroy/{id}', array('uses' => 'ProductController@destroy', 'as' => 'destroy'));

            Route::post('/get-product-data', array('uses' => 'ProductController@getProductData', 'as' => 'getProductData'));
        });
        Route::group(['prefix' => 'modals'], function() {
            Route::group(['prefix' => 'brand'], function() {
                Route::post('/store', array('uses' => 'ProductBrandController@store', 'as' => 'store'));
                Route::get('/destroy/{id}', array('uses' => 'ProductBrandController@destroy', 'as' => 'destroy'));
                Route::post('/update', array('uses' => 'ProductBrandController@update', 'as' => 'update'));

                Route::post('/get-brand-data', array('uses' => 'ProductBrandController@getproductBrandData', 'as' => 'getproductBrandData'));
            });
            Route::group(['prefix' => 'category'], function() {
                Route::post('/store', array('uses' => 'ProductCategoryController@store', 'as' => 'store'));
                Route::get('/destroy/{id}', array('uses' => 'ProductCategoryController@destroy', 'as' => 'destroy'));
                Route::post('/update', array('uses' => 'ProductCategoryController@update', 'as' => 'update'));

                Route::post('/get-category-data', array('uses' => 'ProductCategoryController@getproductCategoryData', 'as' => 'getproductCategoryData'));
            });
        });
    });

    Route::group(['namespace'=>'Posts'], function() {
        Route::group(['prefix'=>'posts'], function() {
            Route::get('/', array('uses' => 'PostsController@index', 'as' => config('modules.client').'.posts.index'));
            Route::get('/create', array('uses' => 'PostsController@create', 'as' => 'create'));
            Route::post('/store', array('uses' => 'PostsController@store', 'as' => 'store'));
            Route::get('/edit/{id}', array('uses' => 'PostsController@edit', 'as' => 'edit'));
            Route::post('/update/{id}', array('uses' => 'PostsController@update', 'as' => 'update'));
            Route::get('/destroy/{id}', array('uses' => 'PostsController@destroy', 'as' => 'destroy'));

            Route::post('/get-post-data', array('uses' => 'PostsController@getPostsData', 'as' => 'getPostsData'));
        });
        Route::group(['prefix' => 'modals'], function() {
            Route::group(['prefix' => 'postcategory'], function() {
                Route::post('/store', array('uses' => 'PostCategoryController@store', 'as' => 'store'));
                Route::get('/destroy/{id}', array('uses' => 'PostCategoryController@destroy', 'as' => 'destroy'));
                Route::post('/update', array('uses' => 'PostCategoryController@update', 'as' => 'update'));

                Route::post('/get-post-category-data', array('uses' => 'PostCategoryController@getPostCategoryData', 'as' => 'getPostCategoryData'));
            });
        });
    });

    Route::group(['namespace'=>'Reports'], function() {
        Route::group(['prefix'=>'reports'], function() {
            Route::group(['prefix' => 'audittrail'], function(){
                Route::get('/', array('uses' => 'AuditTrailController@index', 'as' => 'index'));
                Route::post('/view', array('uses' => 'AuditTrailController@show', 'as' => 'show'));
                Route::get('/excel', array('uses' => 'AuditTrailController@excel', 'as' => config('modules.client').'.audittrail.excel'));

                Route::post('/get-user-report-data', array('uses' => 'AuditTrailController@getReportsDataByUser', 'as' => 'getReportsDataByUser'));
            });
        });
    });
});PK�8]�%
hh5Client/Controllers/Principals/PrincipalController.phpnu�Iw��<?php

namespace QxCMS\Modules\Client\Controllers\Principals;

use Illuminate\Http\Request;
use QxCMS\Http\Controllers\Controller;

use DB;
use Auth;
use Datatables;

use QxCMS\Modules\Client\Requests\Principals\PrincipalRequest;
use QxCMS\Modules\Client\Repositories\Principals\PrincipalRepositoryInterface as Principal;
use QxCMS\Modules\Client\Repositories\Settings\Roles\PermissionRepositoryInterface as Permission;

class PrincipalController extends Controller
{
	protected $principal;
	protected $permission;
	protected $auth;
	protected $prefix_name = '';

	public function __construct(
        Principal $principal,
        Permission $permission
    )
	{
		$this->principal = $principal;
		$this->permission = $permission;
		$this->auth = Auth::guard('client');
		$this->prefix_name = config('modules.client');
	}

	public function permissions()
    {
        return $this->permission->getPermission($this->principal->getModuleId());
    }

    public function index()
    {
    	$this->authorize('activated', $this->permissions());
    	$data['permissions'] = $this->permissions();    
        $data['userLogs'] = $this->principal->getUserLogs($this->principal->getModuleId());    
        return view('Client::principals.index', $data);
    }

    public function show($id)
    {
        $this->authorize('activated', $this->permissions());
    }

    public  function overview($hashid)
    {
        $this->authorize('activated', $this->permissions());
        $data['permissions'] = $this->permissions();  
        $id = decode($hashid);
        $data['principal'] = $this->principal->with(['contacts'])->find($id);

        return view('Client::principals.overview', $data);
    }

    public function create()
    {   
        $this->authorize('create', $this->permissions());
        $data['statuses'] = $this->principal->getPrincipalStatusLists();

        return view('Client::principals.create', $data);
    }

    public function store(PrincipalRequest $request)
    {
        $this->authorize('create', $this->permissions());
        $input = $request->all();
        $input['client_id'] = $this->auth->user()->client->id;
        $principal = $this->principal->create($input);
        if(!$request->ajax()) {         
            session()->flash('success', 'Successfully added.');
            return redirect($this->prefix_name.'/principals/'.$principal->hashid.'/edit');
        }

        return response(
                array('message'=>'Successfully added.','type'=>'success', 'row' => $principal)
            )->header('Content-Type', 'application/json');
    }

    public function edit($hashid)
    {
        $this->authorize('update', $this->permissions());
        $id = decode($hashid);
        $data['permissions'] = $this->permissions();
        $data['statuses'] = $this->principal->getPrincipalStatusLists();
        $data['principal'] = $this->principal->findById($id);
        $data['userLogs'] = $this->principal->getUserLogs($this->principal->getModuleId(), $id);
        return view('Client::principals.edit', $data);
    }

    public function update(PrincipalRequest $request, $hashid)
    {
        $this->authorize('update', $this->permissions());
        $id = decode($hashid);
      
        $input = $request->all();
        $input['client_id'] = $this->auth->user()->client->id;
        $principal = $this->principal->update($id, $input);

        return redirect($this->prefix_name.'/principals/'.$principal->hashid.'/edit');
    }

    public function destroy($hashid)
    {
        $this->authorize('delete', $this->permissions());
        $id = decode($hashid);
        return $this->principal->delete($id);      
    }

    public function select2(Request $request)
    {   
        return $this->principal->select2($request->all());
    }

    public function login(Request $request, $hashid)
    {
        $id = decode($hashid);
        $client = $this->auth->user()->client;
        $root_dir = $client->root_dir;
        session(['root_dir'=>$root_dir]);        
        if (Auth::guard('employer')->loginUsingId($id)) {
            $user = Auth::guard('employer')->user();
            if($user->status == 'Active')
            {
                return redirect('/employer/'.$root_dir.'/dashboard');
            } else {
                Auth::guard('employer')->logout();
                $request->session()->regenerate();
                session()->flash('error_logout', 'This principal is inactive.');
                return redirect(config('modules.employer').'/'.$root_dir.'/auth/login');
            }
        } else {
            return "not login";
        }
    }

    /*
    * Datatables
    */
    public function getPrincipalsData()
    {           
        $principals = $this->principal->select([
            'principals.id',
            'principals.name',
            'principals.email',
            'principals.status',
            'principals.address',
            'principals.contact_details'
        ]);

        $permissions = $this->permissions();
        return Datatables::of($principals)
            ->editColumn('status', function($principal) {
                if($principal->status == 'Active') return '<span class="label label-success">Active</span>';
                else return '<span class="label label-danger">Inactive</span>';
            })
            ->addColumn('details', function($model) {
                $html_out = '';
                if($model->name != "") {
                    $html_out .= '<a href="'.url($this->prefix_name.'/principals/'.$model->hashid.'/overview').'"><font size="4">'.$model->name.'</font></a>';
                }

                if($model->address != '')
                {
                    $html_out .= "<br /><i class=\"fa fa-map-marker\"></i> ".$model->address;
                }

                if($model->email != '')
                {
                    $html_out .= "<br /><i class=\"fa fa-envelope\"></i> ".$model->email;
                }

                if($model->contact_details != '')
                {
                    if(is_array($model->contact_details)) {

                        $html_out .= "<br /><i class=\"fa fa-phone\"></i> ".implode(', ', $model->contact_details);

                    }
                }
                return $html_out;
            })
            ->filterColumn('details', function($query, $keyword) {
                   $query->whereRaw("name like ?", ["%{$keyword}%"]);
            })
            ->addColumn('action', function ($principal) use ($permissions){
                $html_out = '';
                if($this->auth->user()->can('update', $permissions)) {
                    $html_out .= '<a href="'.url($this->prefix_name.'/principals/'.$principal->hashid.'/edit').'" class="btn btn-xs btn-flat btn-warning" data-toggle="tooltip" data-placement="top" title="Edit"><i class="fa fa-pencil"></i></a>';
                }
                if($this->auth->user()->can('delete', $permissions)) {
                    $html_out .= '&nbsp;&nbsp;<a href="#delete-'.$principal->hashid.'" class="btn btn-xs btn-flat btn-danger" id="btn-delete" data-action="'.url($this->prefix_name).'/principals/'.$principal->hashid.'" data-toggle="tooltip" data-placement="top" title="Delete"><i class="fa fa-trash-o"></i></a>';
                }

               /* if($this->auth->user()->role_id == 1) {
                    $html_out .= '&nbsp;&nbsp;<a href="'.url($this->prefix_name.'/principals/'.$principal->hashid.'/login').'" class="btn btn-xs btn-flat btn-success" data-toggle="tooltip" data-placement="top" title="Login" target="_blank"><i class="fa fa-sign-in"></i></a>';
                }*/
                return $html_out;
            })
            ->orderColumn('details', 'name $1')
			->make(true);
    }
}PK�8]̀�-�!�!9Client/Controllers/Principals/ContactPersonController.phpnu�Iw��<?php

namespace QxCMS\Modules\Client\Controllers\Principals;

use Illuminate\Http\Request;
use QxCMS\Http\Controllers\Controller;

use DB;
use Auth;
use Datatables;

use QxCMS\Modules\Client\Requests\Principals\ContactPersonRequest;
use QxCMS\Modules\Client\Repositories\Principals\ContactPersonRepositoryInterface as ContactPerson;
use QxCMS\Modules\Client\Repositories\Principals\ContactNumberRepositoryInterface as ContactNumber;
use QxCMS\Modules\Client\Repositories\Principals\PrincipalRepositoryInterface as Principal;
use QxCMS\Modules\Client\Repositories\Settings\Roles\PermissionRepositoryInterface as Permission;

class ContactPersonController extends Controller
{
	protected $principal;
    protected $person;
    protected $number;
	protected $permission;
	protected $auth;
	protected $prefix_name = '';

	public function __construct(
        Principal $principal,
        ContactNumber $number,
        ContactPerson $person,
        Permission $permission
    )
	{
		$this->principal = $principal;
        $this->person = $person;
        $this->number = $number;
		$this->permission = $permission;
		$this->auth = Auth::guard('client');
		$this->prefix_name = config('modules.client');
	}

	public function permissions()
    {
        return $this->permission->getPermission($this->principal->getModuleId());
    }

    public function index($principal_hashid)
    {
    	$this->authorize('activated', $this->permissions());
        $principal_id  = decode($principal_hashid);

    	$data['permissions'] = $this->permissions();       
        $data['principal'] = $this->principal->findById($principal_id);
        $data['userLogs'] = $this->person->getUserLogs($this->person->getModuleId(), '', 'Contacts-'.$principal_id);
        return view('Client::principals.contact-persons.index', $data);
    }

    public function show($id)
    {
        $this->authorize('activated', $this->permissions());
    }

    public function create($principal_hashid)
    {   
        $this->authorize('create', $this->permissions());

        $principal_id  = decode($principal_hashid);
        $data['principal'] = $this->principal->findById($principal_id);
        return view('Client::principals.contact-persons.create', $data);
    }

    public function store(ContactPersonRequest $request, $principal_hashid)
    {
        $this->authorize('create', $this->permissions());
        $principal_id  = decode($principal_hashid);
        $input = $request->except(['contact']);
        $input['principal_id'] = $principal_id;
        $person = $this->person->create($input);

        $contacts = array_filter($request->get('contact'), 'strlen');
        if(!empty($contacts)) {
            foreach ($contacts as $contact_key => $contact) {
               $input_number['contact'] = $contact;
               $input_number['principal_contact_id'] = $person->id;
               $this->number->create($input_number);
            }
        }
        if(!$request->ajax()) {         
            session()->flash('success', 'Successfully added.');
            return redirect($this->prefix_name.'/principals/'.hashid($principal_id).'/contact-persons');
        }

        return response(
                array('message'=>'Successfully added.','type'=>'success', 'row' => $person)
            )->header('Content-Type', 'application/json');
    }

    public function edit($principal_hashid, $hashid)
    {
        $this->authorize('update', $this->permissions());
        $principal_id = decode($principal_hashid);
        $id = decode($hashid);

        $data['principal'] = $this->principal->findById($principal_id);
        $data['contact'] = $this->person->with(['numbers'])->find($id);
        $data['userLogs'] = $this->person->getUserLogs($this->person->getModuleId(), $id, 'Contacts-'.$principal_id);

        return view('Client::principals.contact-persons.edit', $data);
    }

    public function update(ContactPersonRequest $request, $principal_hashid, $hashid)
    {
        $this->authorize('update', $this->permissions());

        $principal_id = decode($principal_hashid);
        $id = decode($hashid);

        $input = $request->except(['contact']);
        $input['principal_id'] = $principal_id;

        $person = $this->person->update($id, $input);


        $contacts = array_filter($request->get('contact'), 'strlen');

       $check = $this->number->where('principal_contact_id', $id)->whereNotIn('id', array_keys($contacts));
        if(count($check->get()) > 0) {
            $check->delete();
            session()->flash('success', 'Successfully updated.');
        }
        if(!empty($contacts)) {
            foreach ($contacts as $contact_key => $contact) {
                $input_number['contact'] = $contact;
                $input_number['principal_contact_id'] = $person->id;

                if(starts_with($contact_key, 'new')) {
                    $this->number->create($input_number);
                    session()->flash('success', 'Successfully updated.');
                } else {
                    $this->number->update($contact_key, $input_number);
                }
            }
        }

        return redirect($this->prefix_name.'/principals/'.hashid($principal_id).'/contact-persons/'.$person->hashid.'/edit');
    }

    public function destroy($principal_hashid, $hashid)
    {
        $this->authorize('delete', $this->permissions());
        $principal_id = decode($principal_hashid);
        $id = decode($hashid);
        return $this->person->delete($id);      
    }

    /*
    * Datatables
    */
    public function getContactPersonsData($principal_hashid)
    {   
        $principal_id = decode($principal_hashid);        
        $contacts = $this->person->select([
            'id',
            'principal_id',
            'name',
            'position',
            'email'
        ])->with(['numbers'])->where(function($query) use ($principal_id){
            if($principal_id) $query->where('principal_id', $principal_id);
        });

        $permissions = $this->permissions();

        return Datatables::of($contacts)
            
            ->addColumn('contact_details', function($model){
                $html_out = "";
                if($model->name != '')
                {
                    $html_out .= '<b>Name:</b>&nbsp;<a href="'.url($this->prefix_name.'/principals/'.hashid($model->principal_id).'/contact-persons/'.$model->hashid.'/edit').'"><font size="4">'.$model->name.'</font></a>';
                    $html_out .= "<br /><b>Position:</b>&nbsp;".$model->position; 
                    $html_out .= "<br /><b>Email:</b>&nbsp;".$model->email; 
                }
                return $html_out;
            })
            ->addColumn('contact_numbers', function($model){
                $html_out = "";
                if(count($model->numbers) > 0) {
                    foreach ($model->numbers as $number_key => $number) {
                        $html_out .= "<i class=\"fa fa-mobile\"></i> ".$number->contact."<br />";
                    }
                }

                return $html_out;
            })
            ->editColumn('name', function($model){
                $html_out = '';
                if($model->name != '')
                {
                    $html_out .= '<a href="'.url($this->prefix_name.'/principals/'.hashid($model->principal_id).'/contact-persons/'.$model->hashid.'/edit').'">'.$model->name.'</a>';
                }
                return $html_out;
            })
            ->addColumn('action', function ($model) use ($permissions){
                $html_out = '';
                if($this->auth->user()->can('update', $permissions)) {
                    $html_out .= '<a href="'.url($this->prefix_name.'/principals/'.hashid($model->principal_id).'/contact-persons/'.$model->hashid.'/edit').'" class="btn btn-xs btn-flat btn-warning" data-toggle="tooltip" data-placement="top" title="Edit"><i class="fa fa-pencil"></i></a>';
                }
                if($this->auth->user()->can('delete', $permissions)) {
                    $html_out .= '&nbsp;&nbsp;<a href="#delete-'.$model->hashid.'" class="btn btn-xs btn-flat btn-danger" id="btn-delete" data-action="'.url($this->prefix_name).'/principals/'.hashid($model->principal_id).'/contact-persons/'.$model->hashid.'" data-toggle="tooltip" data-placement="top" title="Delete"><i class="fa fa-trash-o"></i></a>';
                }                               
              
                return $html_out;
            })
            ->orderColumn('contact_details', 'name $1')
			->make(true);
    }
}PK�8]=[����0Client/Controllers/Subject/SubjectController.phpnu�Iw��<?php

namespace QxCMS\Modules\Client\Controllers\Subject;

use DB;
use Auth;
use Datatables;

use Illuminate\Http\Request;
use QxCMS\Http\Controllers\Controller;

use QxCMS\Modules\Client\Requests\Subject\SubjectRequest;
use QxCMS\Modules\Client\Repositories\Subject\SubjectRepositoryInterface as Subject;
use QxCMS\Modules\Client\Repositories\Settings\Roles\PermissionRepositoryInterface as Permission;

class SubjectController extends Controller
{
	protected $subject;
	protected $permission;
	protected $auth;
	protected $prefix_name = '';

	public function __construct(Subject $subject, Permission $permission)
	{
		$this->subject = $subject;
		$this->permission = $permission;
		$this->auth = Auth::guard('client');
		$this->prefix_name = config('modules.client');
        $this->getDetails($this->subject->getModuleId());
	}

	public function permissions()
    {

        return $this->permission->getPermission($this->subject->getModuleId());
    }

    public function index() 
    {
    	$this->authorize('activated', $this->permissions());
    	$data['permissions'] = $this->permissions();
        $data['userLogs'] = $this->subject->getUserLogs($this->subject->getModuleId());
        return view('Client::subject.index', $data);    	
    }
    public function create()
    {
        $this->authorize('create', $this->permissions());        
        $data['permissions'] = $this->permissions();
        return view('Client::subject.create', $data);
    }

    public function store(SubjectRequest $request)
    {
        $this->authorize('create', $this->permissions());
        $input = $request->all();
        $subject = $this->subject->create($input); 
        session()->flash('success', 'Successfully added.');

        return redirect($this->prefix_name.'/subject');
    }

    public function show($id)
    {
        $this->authorize('activated', $this->permissions());
        return $id;
    }

    public function edit($hashid)
    {
        $this->authorize('update', $this->permissions());
        $id = decode($hashid);

        $data['subject'] = $this->subject->with(['principal', 'template', 'fieldOfficer', 'editor'])->find($id);
        $data['permissions'] = $this->permissions();
        $data['userLogs'] = $this->subject->getUserLogs($this->subject->getModuleId(), $id);

        return view('Client::subject.edit', $data);
    }

    public function update(SubjectRequest $request, $hashid)
    {
        $this->authorize('update', $this->permissions());
        $id = decode($hashid);
        $subject = $this->subject->update($id, $request->all());
        return redirect($this->prefix_name.'/subject');
    }

    public function destroy($hashid)
    {
        $this->authorize('delete', $this->permissions());
        $id = decode($hashid);
        return $this->subject->delete($id); 
    }

  
    public function getDatatablesIndex(Request $request)
    {        

        $permissions = $this->permissions();
        $subjects = $this->subject->datatablesIndex();

        return Datatables::of($subjects)
            ->editColumn('status', function($model){
                if($model->status == 'Close') return '<span class="label label-danger">Close</span>';
                return '<span class="label label-success">Open</span>';
            })
            ->editColumn('created_at', function($model){
                return $model->created_at->format('M d, Y');
            })
            ->addColumn('details', function($model){
                $html_out = "";
                $html_out .= "<font size=\"4\"><b>Subject:&nbsp;</b>".$model->name."</font>";

                if(isset($model->principal->name)) {
                    $html_out .= "<br/><b>Client:&nbsp;</b><a href=\"".route(config('modules.client').'.settings.principals.overview', hashid($model->principal_id))."\">".$model->principal->name.'</a>';
                }

                if(isset($model->template->title)) {
                    $html_out .= "<br/><b>Questionnaire:&nbsp;</b><a href=\"".route(config('modules.client').'.questionnaire.question.index', hashid($model->template_id))."\">".$model->template->title."</a>";
                }

                if(!empty($model->interview_date))
                {
                    $html_out .= "<br/><b>Interview Date:&nbsp;</b>".$model->interview_date;
                }

                if(!empty($model->completion_date))
                {
                    $html_out .= "<br/><b>Interview Date Completion:&nbsp;</b>".$model->completion_date;
                }

                return $html_out;
            })
            ->addColumn('assigned_to', function($model) {
                $html_out = "";
                if(isset($model->fieldOfficer->name))
                {
                    $html_out .= "<b>Field Officer:</b>&nbsp;<font size=\"3\">".$model->fieldOfficer->name."</font>";
                }
                if(isset($model->editor->name))
                {
                    $html_out .= "<br /><b>Editor:</b>&nbsp;<font size=\"3\">".$model->editor->name."</font>";
                }
                return $html_out;
            })


            ->addColumn('action', function ($model) use ($permissions) {
                $html_out = '';
                
                if($this->auth->user()->can('update', $permissions)) {
                    $html_out .= '<a href="'.url($this->prefix_name.'/subject/'.$model->hashid.'/edit').'" class="btn btn-xs btn-flat btn-warning" data-toggle="tooltip" data-placement="top" title="Edit"><i class="fa fa-pencil"></i></a>';
                }
                if($this->auth->user()->can('delete', $permissions)) {
                    $html_out .= '&nbsp;&nbsp;<a href="#delete-'.$model->hashid.'" class="btn btn-xs btn-flat btn-danger" id="btn-delete" data-action="'.url($this->prefix_name).'/subject/'.$model->hashid.'" data-toggle="tooltip" data-placement="top" title="Delete"><i class="fa fa-trash-o"></i></a>';
                }
                
                return $html_out;
            })
            ->filterColumn('details', function($query, $keyword) {
                $query->whereRaw("name like ?", ["%{$keyword}%"]);
            })
            ->orderColumn('details', 'interview_date $1, completion_date $1')
            ->make(true);
    }

}PK�8]f���6Client/Controllers/JobOpening/JobOpeningController.phpnu�Iw��<?php

namespace QxCMS\Modules\Client\Controllers\JobOpening;

use Auth;
use Session;
use Datatables;
use Carbon\Carbon;

use Illuminate\Http\Request;
use QxCMS\Http\Controllers\Controller;

use QxCMS\Modules\Client\Models\Settings\Country;
use QxCMS\Modules\Client\Requests\JobOpening\JobOpeningRequest;
use QxCMS\Modules\Client\Repositories\JobOpening\JobOpeningRepositoryInterface as JobOpening;
use QxCMS\Modules\Client\Repositories\Settings\Roles\PermissionRepositoryInterface as Permission;

class JobOpeningController extends Controller
{
	protected $job_opening;
	protected $permission;
	protected $auth;
    protected $country;
	protected $prefix_name = '';

	public function __construct(Permission $permission, JobOpening $job_opening, Country $country)
	{
        $this->country = $country;
		$this->job_opening = $job_opening;

		$this->permission = $permission;
		$this->auth = Auth::guard('client');
		$this->prefix_name = config('modules.client');
        $this->getDetails($this->job_opening->getModuleId());
	}

	public function permissions()
    {
        return $this->permission->getPermission($this->job_opening->getModuleId());
    }

    public function index() 
    {
    	$this->authorize('activated', $this->permissions());
    	$data['permissions'] = $this->permissions();
        $data['userLogs'] = $this->job_opening->getUserLogs($this->job_opening->getModuleId());
        return view('Client::job-opening.index', $data, $this->getFormOptions());    	
    }

    public function create()
    {
        $this->authorize('create', $this->permissions());
        $data['permissions'] = $this->permissions();
        return view('Client::job-opening.create', $data, $this->getFormOptions());
    }

    public function store(JobOpeningRequest $request)
    {
        $this->authorize('create', $this->permissions());
        $job_opening = $this->job_opening->create($request); 

        if($request->get('_save') == 'add_another') {
            session()->flash('success', 'Successfully added. Please add another.');
            return redirect($this->prefix_name.'/job-opening/create');
        }

        session()->flash('success', 'Successfully added.');
        return redirect($this->prefix_name.'/job-opening');
    }

    public function show($id)
    {
        //
    }

    public function edit($hashid)
    {
        $this->authorize('update', $this->permissions());
        $id = decode($hashid);
        $data['permissions'] = $this->permissions();
        $data['job'] = $this->job_opening->findById($id);
        $data['userLogs'] = $this->job_opening->getUserLogs($this->job_opening->getModuleId(), $id);
        return view('Client::job-opening.edit', $data, $this->getFormOptions());
    }

    public function update(JobOpeningRequest $request, $hashid)
    {
        $this->authorize('update', $this->permissions());
        $id = decode($hashid);

        $pages = $this->job_opening->update($id, $request);
        return redirect($this->prefix_name.'/job-opening');
    }

    public function destroy($hashid)
    {
        $this->authorize('delete', $this->permissions());
        $id = decode($hashid);
        return $this->job_opening->delete($id);
    }

    public function details(Request $request, $hashid)
    {
        $id = decode($hashid);
        $job = $this->job_opening->where('id', $id)->with('country')->first();
        if($request->ajax()) {
            return $job;
        }
    }
  
    public function getJobData(Request $request)
    {
        $job = $this->job_opening->select(['job_opening.*']);
        $permissions = $this->permissions();

        return Datatables::of($job)
            ->filter(function ($query) use ($request) {
                if ($request->has('position')) {
                    $query->where('position', 'like', "%{$request->get('position')}%");
                }
                if ($request->has('status')) {
                    $query->where('status', '=', "{$request->get('status')}");
                }
            })
            ->editColumn('position', function($job){
                return '<span data-toggle="tooltip" data-placement="top" title="View Details"><a href="#job-details-modal" data-toggle="modal" data-details_url="'.route($this->prefix_name.'.job-opening.details', $job->hashid).'">'.$job->position.'</a></span>';
            })
            ->editColumn('opening_date', function($job){
                return Carbon::parse($job->opening_date)->format('M j, Y');
            })
            ->editColumn('closing_date', function($job){
                return Carbon::parse($job->closing_date)->format('M j, Y');
            })
            ->addColumn('action', function($job) use ($permissions){
                $html = '';
                if($this->auth->user()->can('update', $permissions)) {
                    $html .= '<a href="'.route($this->prefix_name.'.job-opening.edit', $job->hashid).'"><button type="button" data-toggle="tooltip" title="Edit" class="btn btn-warning btn-xs btn-flat edited"><span class="glyphicon glyphicon-pencil"></span></button></a>';
                }
                if($this->auth->user()->can('delete', $permissions)) {
                    $html .= '&nbsp;&nbsp;<a href="#delete-'.$job->hashid.'" class="btn btn-xs btn-flat btn-danger" id="btn-delete" data-action="'.route($this->prefix_name.'.job-opening.destroy', $job->hashid).'" data-toggle="tooltip" data-placement="top" title="Delete"><i class="fa fa-trash-o"></i></a>';
                }
                return $html;
            })
            ->make(true);
    }

    protected function getFormOptions()
    {
        $data['status'] = Array('Open' => 'Open', 'Close' => 'Close', 'Draft' => 'Draft');
        $data['country'] = $this->country->pluck('name', 'id');
        return $data;
    }

}PK�8]{b�;;1Client/Controllers/Officers/OfficerController.phpnu�Iw��<?php

namespace QxCMS\Modules\Client\Controllers\Officers;

use DB;
use Auth;
use Carbon\Carbon;
use Datatables;

use Illuminate\Http\Request;
use QxCMS\Http\Controllers\Controller;

use QxCMS\Modules\Client\Requests\Officers\OfficerRequest;
use QxCMS\Modules\Client\Repositories\Officers\OfficerRepositoryInterface as Officer;
use QxCMS\Modules\Client\Repositories\Settings\Roles\RoleRepositoryInterface as Role;
use QxCMS\Modules\Client\Repositories\Settings\Roles\PermissionRepositoryInterface as Permission;

class OfficerController extends Controller
{
	protected $officer;
    protected $role;
	protected $permission;
	protected $auth;
	protected $prefix_name = '';
    protected $module_id = 10;

	public function __construct(Officer $officer, Role $role, Permission $permission)
	{
		$this->officer = $officer;
        $this->role = $role;
		$this->permission = $permission;
		$this->auth = Auth::guard('client');
		$this->prefix_name = config('modules.client');
        $this->getDetails($this->module_id);
	}

	public function permissions()
    {
        return $this->permission->getPermission($this->module_id);
    }

    public function index() 
    {
    	$this->authorize('activated', $this->permissions());
        return view('Client::officers.index', array(), $this->globalData());
    }
    public function create()
    {
        $this->authorize('create', $this->permissions());        
        return view('Client::officers.create', array(), $this->globalData());
    }

    public function store(OfficerRequest $request)
    {
        $this->authorize('create', $this->permissions());
        $input = $request->all();
        $input['role_id'] = ((strtolower($input['access_type']) == 'editor') ? $this->role->getEditorId():$this->role->getFieldOfficerId());

        $officer = $this->officer->create($input); 
        session()->flash('success', 'Successfully added.');

        return redirect($this->prefix_name.'/officers');
    }

    public function show($id)
    {
        $this->authorize('activated', $this->permissions());
        return $id;
    }

    public function edit($hashid)
    {
        $this->authorize('update', $this->permissions());
        $id = decode($hashid);
        $data['officer'] = $this->officer->findById($id);
        $data['userLogs'] = $this->officer->getUserLogs($this->module_id, $id);
       
        return view('Client::officers.edit', $data, $this->globalData());
    }

    public function update(OfficerRequest $request, $hashid)
    {
        $this->authorize('update', $this->permissions());
        $id = decode($hashid);

        $input = $request->all();
        $input['role_id'] = ((strtolower($input['access_type']) == 'editor') ? $this->role->getEditorId():$this->role->getFieldOfficerId());

        $officer = $this->officer->update($id, $input);
        return redirect($this->prefix_name.'/officers');
    }

    public function destroy($hashid)
    {
        $this->authorize('delete', $this->permissions());
        $id = decode($hashid);
        return $this->officer->delete($id); 
    }


    public function globalData()
    {
        return [
            'permissions' => $this->permissions(),
            'access_types' => $this->officer->getAccessTypes(),
            'userLogs' => $this->officer->getUserLogs($this->module_id)
        ];
    }
  
    public function getDatatablesIndex(Request $request)
    {        

        $permissions = $this->permissions();
        $officers = $this->officer->datatablesIndex();
        $permissions = $this->permissions();
        $dateformats = getDateFormatConfig('get');
        return Datatables::of($officers)
            ->filter(function($query) use ($request) {
                if($request->get('access_type')){
                    $query->where('access_type', $request->get('access_type'));
                }

                if ($keyword = $request->get('search')['value']) {
                    $query->whereRaw("name like ?", ["%{$keyword}%"]);   
                    $query->whereRaw("email like ?", ["%{$keyword}%"]);   
                }
            })


            ->editColumn('status', function($model){
                if($model->status == 0) return '<span class="label label-danger">Inactive</span>';
                return '<span class="label label-success">Active</span>';
            })
            ->editColumn('validity_date', function($model) use ($dateformats) {
                if($model->validity_date == '') return "<span class=\"label label-warning\">No Access Validity</label>";
                else {
                    $validity_date = Carbon::createFromFormat($dateformats['php'], $model->validity_date);
                    if(!$validity_date->lt(Carbon::now())) {
                        return $model->validity_date;
                    } else {
                        return '<span class="label label-danger">Account Expired</label>';
                    }
                }
            })
            ->editColumn('access_type', function($model) {
                $access_type = strtolower($model->access_type);
                if($access_type == 'field officer') return ucwords($access_type) . '&nbsp;('.$model->access_view.')';
                else return  ucwords($access_type);
            })
            ->addColumn('action', function ($model) use ($permissions) {
                $html_out = '';

                if($this->auth->user()->can('update', $permissions)) {
                    $html_out .= '<a href="'.url($this->prefix_name.'/officers/'.$model->hashid.'/edit').'" class="btn btn-xs btn-flat btn-warning" data-toggle="tooltip" data-placement="top" title="Edit"><i class="fa fa-pencil"></i></a>';
                }

                if($this->auth->user()->can('delete', $permissions)) {
                    $html_out .= '&nbsp;&nbsp;<a href="#delete-'.$model->hashid.'" class="btn btn-xs btn-flat btn-danger" id="btn-delete" data-action="'.url($this->prefix_name).'/officers/'.$model->hashid.'" data-toggle="tooltip" data-placement="top" title="Delete"><i class="fa fa-trash-o"></i></a>';
                }
                
                return $html_out;
            })
            ->make(true);
    }

}PK�8]���=��,Client/Controllers/Pages/PagesController.phpnu�Iw��<?php

namespace QxCMS\Modules\Client\Controllers\Pages;

use Auth;
use Datatables;
use Session;

use Illuminate\Http\Request;
use QxCMS\Http\Controllers\Controller;

use QxCMS\Modules\Client\Requests\Pages\PagesRequest;
use QxCMS\Modules\Client\Repositories\Settings\Roles\PermissionRepositoryInterface as Permission;
use QxCMS\Modules\Client\Repositories\Pages\PagesRepositoryInterface as Pages;

class PagesController extends Controller
{
	protected $pages;
	protected $permission;
	protected $auth;
	protected $prefix_name = '';
    protected $module_id = 12;

	public function __construct(Permission $permission, Pages $pages)
	{
		$this->pages = $pages;

		$this->permission = $permission;
		$this->auth = Auth::guard('client');
		$this->prefix_name = config('modules.client');
        $this->getDetails($this->module_id);
	}

	public function permissions()
    {
        return $this->permission->getPermission($this->module_id);
    }

    public function index() 
    {
    	$this->authorize('activated', $this->permissions());
    	$data['permissions'] = $this->permissions();
        $data['userLogs'] = $this->pages->getUserLogs($this->module_id);
        return view('Client::pages.index', $data);    	
    }

    public function create()
    {
        $this->authorize('create', $this->permissions());        
        $data['permissions'] = $this->permissions();
        return view('Client::pages.create', $data, $this->getFormOptions());
    }

    public function store(PagesRequest $request)
    {

        $this->authorize('create', $this->permissions());
        $pages = $this->pages->create($request); 
        session()->flash('success', 'Successfully added.');

        return redirect($this->prefix_name.'/pages');
    }

    public function show($id)
    {
        //
    }

    public function edit($hashid)
    {
        $this->authorize('update', $this->permissions());
        $id = decode($hashid);
        $data['permissions'] = $this->permissions();
        $data['page'] = $this->pages->findById($id);
        $data['userLogs'] = $this->pages->getUserLogs($this->module_id, $id);
        return view('Client::pages.edit', $data, $this->getFormOptions($data['page']));
    }

    public function update(PagesRequest $request, $hashid)
    {
        $this->authorize('update', $this->permissions());
        $id = decode($hashid);

        $pages = $this->pages->update($id, $request);
        return redirect($this->prefix_name.'/pages');
    }

    public function destroy($hashid)
    {
        $this->authorize('delete', $this->permissions());
        $id = decode($hashid);
        return $this->pages->delete($id); 
    }
  
    public function getPagesData(Request $request)
    {
        $pages = $this->pages->select('*')->where('post_type', '=', 'Page')->with('author');

        $permissions = $this->permissions();
        return Datatables::of($pages)
            ->filter(function ($query) use ($request) {
                if ($request->has('title')) {
                    $query->where('title', 'like', "%{$request->get('title')}%");
                }
            })
            ->editColumn('author', function($row) {
                if($row->author == null) return '';
                else return $row->author->name;
            })
            ->addColumn('action', function ($pages) use ($permissions){
                $html = '';
                if($this->auth->user()->can('update', $permissions)) {
                    $html .= '<a href="'.url('client').'/pages/edit/'.$pages->hashid.'"><button type="button" data-toggle="tooltip" title="Update" class="btn btn-warning btn-xs btn-flat edited"><span class="glyphicon glyphicon-pencil"></span></button></a>';
                }
                if($this->auth->user()->can('delete', $permissions)) {
                    $html .= '&nbsp;<button type="button" data-toggle="tooltip" title="Delete" class="btn btn-danger btn-xs btn-flat deleted" data-action="'.url('client').'/pages/destroy/'.$pages->hashid.'"><span class="glyphicon glyphicon-trash"></span></button>';
                }
                return $html;
            })
            ->make(true);
    }

    protected function getFormOptions($page = '')
    {
        $data['pages'] = $this->pages->pagesList($page ? $page->id : '');
        $data['visibility'] = Array('Public' => 'Public', 'Private' => 'Private');
        $data['status'] = Array('Publish' => 'Publish', 'Draft' => 'Draft', 'Inactive' => 'Inactive');
        return $data;
    }

}PK�8]%�r��*Client/Controllers/Pages/FAQController.phpnu�Iw��<?php

namespace QxCMS\Modules\Client\Controllers\Pages;

use Auth;
use Session;
use Datatables;

use Illuminate\Http\Request;
use QxCMS\Http\Controllers\Controller;

use QxCMS\Modules\Client\Requests\Pages\FAQRequest;
use QxCMS\Modules\Client\Repositories\Pages\FAQRepositoryInterface as FAQ;
use QxCMS\Modules\Client\Repositories\Settings\Roles\PermissionRepositoryInterface as Permission;

class FAQController extends Controller
{
	protected $faq;
	protected $permission;
	protected $auth;
	protected $prefix_name = '';

	public function __construct(Permission $permission, FAQ $faq)
	{
		$this->faq = $faq;

		$this->permission = $permission;
		$this->auth = Auth::guard('client');
		$this->prefix_name = config('modules.client');
        $this->getDetails($this->faq->getModuleId());
	}

	public function permissions()
    {
        return $this->permission->getPermission($this->faq->getModuleId());
    }

    public function index() 
    {
    	$this->authorize('activated', $this->permissions());
    	$data['permissions'] = $this->permissions();
        $data['userLogs'] = $this->faq->getUserLogs($this->faq->getModuleId());
        return view('Client::pages.faq.index', $data, $this->getFormOptions());
    }

    public function create()
    {
        $this->authorize('create', $this->permissions());
        $data['permissions'] = $this->permissions();
        return view('Client::pages.faq.create', $data, $this->getFormOptions());
    }

    public function store(FAQRequest $request)
    {
        $this->authorize('create', $this->permissions());
        $faq = $this->faq->create($request);
        session()->flash('success', 'Successfully added.');

        return redirect()->route($this->prefix_name.'.faq.index');
    }

    public function show($id)
    {
        //
    }

    public function edit($hashid)
    {
        $this->authorize('update', $this->permissions());
        $id = decode($hashid);
        $data['permissions'] = $this->permissions();
        $data['faq'] = $this->faq->findById($id);
        $data['userLogs'] = $this->faq->getUserLogs($this->faq->getModuleId(), $id);
        return view('Client::pages.faq.edit', $data, $this->getFormOptions());
    }

    public function update(FAQRequest $request, $hashid)
    {
        $this->authorize('update', $this->permissions());
        $id = decode($hashid);
        $faq = $this->faq->update($id, $request);
        return redirect()->route($this->prefix_name.'.faq.index');
    }

    public function destroy($hashid)
    {
        $this->authorize('delete', $this->permissions());
        $id = decode($hashid);
        return $this->faq->delete($id);
    }

    public function details(Request $request, $hashid)
    {
        $id = decode($hashid);
        $faq = $this->faq->findById($id);
        if($request->ajax()){
            return $faq;
        }
    }

    public function getFAQData(Request $request)
    {
        $faq = $this->faq->select('*');

        $permissions = $this->permissions();
        return Datatables::of($faq)
            ->filter(function ($query) use ($request){
                if ($request->has('title')){
                    $query->where('title', 'like', "%{$request->get('title')}%");
                }
                if ($request->has('status')){
                    $query->where('status', '=', "{$request->get('status')}");
                }
            })
            ->editColumn('title', function($faq){
                return '<span data-toggle="tooltip" data-placement="top" title="View Details"><a href="#faq-details-modal" data-toggle="modal" data-details_url="'.route($this->prefix_name.'.faq.details', $faq->hashid).'">'.$faq->title.'</a></span>';
            })
            ->addColumn('action', function ($faq) use ($permissions){
                $html = '';
                if($this->auth->user()->can('update', $permissions)){
                    $html .= '<a href="'.route($this->prefix_name.'.faq.edit', $faq->hashid).'"><button type="button" data-toggle="tooltip" title="Edit" class="btn btn-warning btn-xs btn-flat edited"><span class="glyphicon glyphicon-pencil"></span></button></a>';
                }
                if($this->auth->user()->can('delete', $permissions)){
                    $html .= '&nbsp;&nbsp;<a href="#delete-'.$faq->hashid.'" class="btn btn-xs btn-flat btn-danger" id="btn-delete" data-action="'.route($this->prefix_name.'.faq.destroy', $faq->hashid).'" data-toggle="tooltip" data-placement="top" title="Delete"><i class="fa fa-trash-o"></i></a>';
                }
                return $html;
            })
            ->make(true);
    }

    protected function getFormOptions()
    {
        $data['status'] = Array('Publish' => 'Publish', 'Draft' => 'Draft', 'Inactive' => 'Inactive');
        return $data;
    }
}PK�8]�$颿�0Client/Controllers/Pages/ContactUsController.phpnu�[���<?php

namespace QxCMS\Modules\Client\Controllers\Pages;

use Auth;
use Session;
use Datatables;

use Illuminate\Http\Request;
use QxCMS\Http\Controllers\Controller;

use QxCMS\Modules\Client\Requests\Pages\ContactUsRequest;
use QxCMS\Modules\Client\Repositories\Pages\ContactUsRepositoryInterface as ContactUs;
use QxCMS\Modules\Client\Repositories\Settings\Roles\PermissionRepositoryInterface as Permission;

class ContactUsController extends Controller
{
	protected $contact_us;
	protected $permission;
	protected $auth;
	protected $prefix_name = '';

	public function __construct(Permission $permission, ContactUs $contact_us)
	{
		$this->contact_us = $contact_us;

		$this->permission = $permission;
		$this->auth = Auth::guard('client');
		$this->prefix_name = config('modules.client');
        $this->getDetails($this->contact_us->getModuleId());
	}

	public function permissions()
    {
        return $this->permission->getPermission($this->contact_us->getModuleId());
    }

    public function index() 
    {
    	$this->authorize('activated', $this->permissions());
    	$data['permissions'] = $this->permissions();
        $data['userLogs'] = $this->contact_us->getUserLogs($this->contact_us->getModuleId());
        return view('Client::pages.contact-us.index', $data, $this->getFormOptions());
    }

    public function create()
    {
        $this->authorize('create', $this->permissions());
        $data['permissions'] = $this->permissions();
        return view('Client::pages.contact-us.create', $data, $this->getFormOptions());
    }

    public function store(ContactUsRequest $request)
    {
        $this->authorize('create', $this->permissions());
        $contact_us = $this->contact_us->create($request);
        session()->flash('success', 'Successfully added.');

        return redirect()->route($this->prefix_name.'.contact-us.index');
    }

    public function show($id)
    {
        //
    }

    public function edit($hashid)
    {
        $this->authorize('update', $this->permissions());
        $id = decode($hashid);
        $data['permissions'] = $this->permissions();
        $data['contact_us'] = $this->contact_us->findById($id);
        $data['userLogs'] = $this->contact_us->getUserLogs($this->contact_us->getModuleId(), $id);
        return view('Client::pages.contact-us.edit', $data, $this->getFormOptions());
    }

    public function update(ContactUsRequest $request, $hashid)
    {
        $this->authorize('update', $this->permissions());
        $id = decode($hashid);
        $contact_us = $this->contact_us->update($id, $request);
        return redirect()->route($this->prefix_name.'.contact-us.index');
    }

    public function destroy($hashid)
    {
        $this->authorize('delete', $this->permissions());
        $id = decode($hashid);
        return $this->contact_us->delete($id);
    }

    public function getContactUsData(Request $request)
    {
        $contact_us = $this->contact_us->select('*');

        $permissions = $this->permissions();
        return Datatables::of($contact_us)
            ->filterColumn('address', function($query, $keyword) {
                $query->whereRaw("CONCAT(building_name,' ',building_floor,' ',rec_number,' ',rec_street,', ',rec_city) like ?", ["%{$keyword}%"]);
            })
            ->addColumn('status_name', function($contact_us){
                return $contact_us->status;
            })
            ->addColumn('address', function($contact_us){
                $html = '';
                $html .= $contact_us->building_floor.($contact_us->building_floor && $contact_us->building_name ? ', ' : '').$contact_us->building_name.($contact_us->building_floor || $contact_us->building_name ? '<br>' : '');
                $html .= $contact_us->rec_number.' '.$contact_us->rec_street.', '.$contact_us->rec_city;
                return $html;
            })
            ->addColumn('action', function ($contact_us) use ($permissions){
                $html = '';
                if($this->auth->user()->can('update', $permissions)){
                    $html .= '<a href="'.route($this->prefix_name.'.contact-us.edit', $contact_us->hashid).'"><button type="button" data-toggle="tooltip" title="Edit" class="btn btn-warning btn-xs btn-flat edited"><span class="glyphicon glyphicon-pencil"></span></button></a>';
                }
                if($this->auth->user()->can('delete', $permissions)){
                    $html .= '&nbsp;&nbsp;<a href="#delete-'.$contact_us->hashid.'" class="btn btn-xs btn-flat btn-danger" id="btn-delete" data-action="'.route($this->prefix_name.'.contact-us.destroy', $contact_us->hashid).'" data-toggle="tooltip" data-placement="top" title="Delete"><i class="fa fa-trash-o"></i></a>';
                }
                return $html;
            })
            ->rawColumns(['action', 'status'])
            ->make(true);
    }

    protected function getFormOptions()
    {
        $data['status'] = Array('Publish' => 'Publish', 'Draft' => 'Draft', 'Inactive' => 'Inactive');
        return $data;
    }
}PK�8]$B`.Client/Controllers/Pages/AboutUsController.phpnu�[���<?php

namespace QxCMS\Modules\Client\Controllers\Pages;

use Auth;
use Session;
use Datatables;

use Illuminate\Http\Request;
use QxCMS\Http\Controllers\Controller;

use QxCMS\Modules\Client\Requests\Pages\AboutUsRequest;
use QxCMS\Modules\Client\Repositories\Pages\AboutUsRepositoryInterface as AboutUs;
use QxCMS\Modules\Client\Repositories\Settings\Roles\PermissionRepositoryInterface as Permission;

class AboutUsController extends Controller
{
	protected $about_us;
	protected $permission;
	protected $auth;
	protected $prefix_name = '';

	public function __construct(Permission $permission, AboutUs $about_us)
	{
		$this->about_us = $about_us;

		$this->permission = $permission;
		$this->auth = Auth::guard('client');
		$this->prefix_name = config('modules.client');
        $this->getDetails($this->about_us->getModuleId());
	}

	public function permissions()
    {
        return $this->permission->getPermission($this->about_us->getModuleId());
    }

    public function index() 
    {
    	$this->authorize('activated', $this->permissions());
    	$data['permissions'] = $this->permissions();
        $data['userLogs'] = $this->about_us->getUserLogs($this->about_us->getModuleId());
        return view('Client::pages.about-us.index', $data, $this->getFormOptions());
    }

    public function create()
    {
        $this->authorize('create', $this->permissions());
        $data['permissions'] = $this->permissions();
        return view('Client::pages.about-us.create', $data, $this->getFormOptions());
    }

    public function store(AboutUsRequest $request)
    {
        $this->authorize('create', $this->permissions());
        $about_us = $this->about_us->create($request);
        session()->flash('success', 'Successfully added.');

        return redirect()->route($this->prefix_name.'.about-us.index');
    }

    public function show($id)
    {
        //
    }

    public function edit($hashid)
    {
        $this->authorize('update', $this->permissions());
        $id = decode($hashid);
        $data['permissions'] = $this->permissions();
        $data['about_us'] = $this->about_us->findById($id);
        $data['userLogs'] = $this->about_us->getUserLogs($this->about_us->getModuleId(), $id);
        return view('Client::pages.about-us.edit', $data, $this->getFormOptions());
    }

    public function update(AboutUsRequest $request, $hashid)
    {
        $this->authorize('update', $this->permissions());
        $id = decode($hashid);
        $about_us = $this->about_us->update($id, $request);
        return redirect()->route($this->prefix_name.'.about-us.index');
    }

    public function destroy($hashid)
    {
        $this->authorize('delete', $this->permissions());
        $id = decode($hashid);
        return $this->about_us->delete($id);
    }

    public function details(Request $request, $hashid)
    {
        $id = decode($hashid);
        $about_us = $this->about_us->findById($id);
        if($request->ajax()){
            return $about_us;
        }
    }

    public function getAboutUsData(Request $request)
    {
        $about_us = $this->about_us->select('*');

        $permissions = $this->permissions();
        return Datatables::of($about_us)
            ->filter(function ($query) use ($request){
                if ($request->has('title')){
                    $query->where('title', 'like', "%{$request->get('title')}%");
                }
                if ($request->has('status') && !empty($request->get('status'))){
                    $query->where('status', '=', "{$request->get('status')}");
                }
            })
            ->editColumn('title', function($about_us){
                return '<span data-toggle="tooltip" data-placement="top" title="View Details"><a href="#about-us-details-modal" data-toggle="modal" data-details_url="'.route($this->prefix_name.'.about-us.details', $about_us->hashid).'">'.$about_us->title.'</a></span>';
            })
            ->addColumn('action', function ($about_us) use ($permissions){
                $html = '';
                if($this->auth->user()->can('update', $permissions)){
                    $html .= '<a href="'.route($this->prefix_name.'.about-us.edit', $about_us->hashid).'"><button type="button" data-toggle="tooltip" title="Edit" class="btn btn-warning btn-xs btn-flat edited"><span class="glyphicon glyphicon-pencil"></span></button></a>';
                }
                if($this->auth->user()->can('delete', $permissions)){
                    $html .= '&nbsp;&nbsp;<a href="#delete-'.$about_us->hashid.'" class="btn btn-xs btn-flat btn-danger" id="btn-delete" data-action="'.route($this->prefix_name.'.about-us.destroy', $about_us->hashid).'" data-toggle="tooltip" data-placement="top" title="Delete"><i class="fa fa-trash-o"></i></a>';
                }
                return $html;
            })
            ->rawColumns(['action', 'title', 'status_name'])
            ->make(true);
    }

    protected function getFormOptions()
    {
        $data['status'] = Array('Publish' => 'Publish', 'Draft' => 'Draft', 'Inactive' => 'Inactive');
        return $data;
    }
}PK�8]�y*$KK*Client/Controllers/Auth/AuthController.phpnu�Iw��<?php

namespace QxCMS\Modules\Client\Controllers\Auth;

use QxCMS\Modules\Likod\Models\Clients\User;
use Validator;
use JsValidator;
use Auth;
use Artisan;
use Illuminate\Http\Request;
use QxCMS\Http\Controllers\Controller;
use Illuminate\Foundation\Auth\AuthenticatesUsers;
use QxCMS\Modules\Client\Repositories\Settings\Roles\RoleRepositoryInterface as Role;
use QxCMS\Modules\Client\Models\Settings\LoginLogs\LoginLogs;

class AuthController extends Controller
{
    /*
    |--------------------------------------------------------------------------
    | Registration & Login Controller
    |--------------------------------------------------------------------------
    |
    | This controller handles the registration of new users, as well as the
    | authentication of existing users. By default, this controller uses
    | a simple trait to add these behaviors. Why don't you explore it?
    |
    */

    use AuthenticatesUsers;

    /**
     * Where to redirect users after login / registration.
     *
     * @var string
     */
    protected $redirectTo = '/client/dashboard';
    protected $guard = 'client';
    protected $redirectAfterLogout = 'client/auth/login';
    protected $role;
    protected $loginlogs;
    /**
     * Create a new authentication controller instance.
     *
     * @return void
     */
    public function __construct(Role $role, LoginLogs $loginlogs)
    {
        $this->middleware('guest.client', ['except' => 'logout']);
        $this->role = $role;
        $this->loginlogs = $loginlogs;
    }

    /**
     * Get a validator for an incoming registration request.
     *
     * @param  array  $data
     * @return \Illuminate\Contracts\Validation\Validator
     */
    protected function validator(array $data)
    {
        return Validator::make($data, [
            'name' => 'required|max:255',
            'email' => 'required|email|max:255|unique:users',
            'password' => 'required|confirmed|min:6',
        ]);
    }

    /**
     * Create a new user instance after a valid registration.
     *
     * @param  array  $data
     * @return User
     */
    protected function create(array $data)
    {
        return User::create([
            'name' => $data['name'],
            'email' => $data['email'],
            'password' => bcrypt($data['password']),
        ]);
    }

    public function getLogin()
    {
        $rules = array(
            'email' => 'required|email',
            'password' => 'required',
        );
        $validator = JsValidator::make($rules, array(), array(), '#login-form');
        return view('Client::auth.login', ['validator'=> $validator]);
    }    

    public function postLogin(Request $request)
    {
        return $this->login($request);
    }
    
    protected function authenticated(Request $request, $user)
    {                
        $user = Auth::guard('client')->user();
        if(Auth::guard('client')->user()->client->status==1) {
            if($user->status == 1)
            {
                if(view()->exists('Client::cache.menus.'.$user->client->id.'.custom_'.$user->role_id))
                {
                    //check file modified if already eight hours
                    if(\File::lastModified(app_path().'/Modules/Client/Views/cache/menus/'.$user->client->id.'/custom_'.$user->role_id.'.blade.php')<time() - (8 * 60 * 60)) {
                        $this->role->setConfig($user->client);
                        $this->role->write_menu($user->client->id, $user->role_id, $user->client->database_name);
                    }                
                } else {
                    $this->role->setConfig($user->client);
                    $this->role->write_menu($user->client->id, $user->role_id, $user->client->database_name);
                }
                //run migrate
                $this->role->setConfig($user->client);
                Artisan::call('migrate', array('--database'=>'client','--path'=>'database/migrations/client'));
                //log in logs
                $loginlog = $this->loginlogs;
                $loginlog_details = [
                    'name' => $user->name,
                    'username' => $user->email,
                    'ipaddress' => $_SERVER['REMOTE_ADDR']
                ];
                $loginlog->fill($loginlog_details);                              
                $loginlog->save();
                return redirect($this->redirectTo);
            } else {
                $this->guard()->logout();
                $request->session()->regenerate();
                session()->flash('error', 'You account is inactive.');
                return redirect(property_exists($this, 'redirectAfterLogout') ? $this->redirectAfterLogout : '/');
            }
        } else {
            $this->guard()->logout();
            $request->session()->regenerate();
            session()->flash('error', 'This client is inactive.');
            return redirect(property_exists($this, 'redirectAfterLogout') ? $this->redirectAfterLogout : '/');
        }      
    }

    public function guard() 
    {
        return Auth::guard('client');
    }

    public function logout(Request $request)
    {
        $this->guard()->logout();
        $request->session()->regenerate();
        session()->flash('logout', 'You have successfully logged out!');
        return redirect(property_exists($this, 'redirectAfterLogout') ? $this->redirectAfterLogout : '/');
    }
}PK�8]�D}.Client/Controllers/Settings/RoleController.phpnu�Iw��<?php

namespace QxCMS\Modules\Client\Controllers\Settings;

use DB;
use Auth;
use Datatables;

use QxCMS\Http\Requests;
use Illuminate\Http\Request;
use QxCMS\Http\Controllers\Controller;

use QxCMS\Modules\Client\Requests\Settings\RoleRequest;
use QxCMS\Modules\Client\Repositories\Settings\Roles\RoleRepositoryInterface as Role;
use QxCMS\Modules\Client\Repositories\Settings\Roles\PermissionRepositoryInterface as Permission;

class RoleController extends Controller
{
	protected $role;
    protected $permission;
    protected $prefix_name = '';

    public function __construct(Role $role, Permission $permission)
    {
    	$this->auth = Auth::guard('client');
    	$this->prefix_name = config('modules.client');
    	$this->role = $role;
    	$this->permission = $permission;
    }

    public function permissions()
    {
        return $this->permission->getPermission($this->role->getModuleId());
    }

    public function index()
    {
        $this->authorize('activated', $this->permissions());
    	$data['permissions'] = $this->permissions();
        $data['userLogs'] = $this->role->getUserLogs($this->role->getModuleId());
        return view('Client::settings.roles.index', $data);
    }

    public function create()
    {
        $this->authorize('create', $this->permissions());
        $data['permissions'] = $this->permissions();
        $data['role_permissions'] = $this->role->build_role_permissions();
        return view('Client::settings.roles.create', $data);
    }

    public function store(RoleRequest $request)
    {
        $this->authorize('create', $this->permissions());
        $role = $this->role->create($request->all());
        $request->session()->flash('success', 'Successfully added.');
        return redirect($this->prefix_name.'/settings/roles/'.$role->hashid.'/edit');
    }

    public function show($id)
    {
        $this->authorize('activated', $this->permissions());
        $data['permissions'] = $this->permissions();
    }

    public function edit($hashid)
    {
        $this->authorize('update', $this->permissions());
        $id = decode($hashid);
        $data['permissions'] = $this->permissions();
        $data['role'] = $this->role->findById($id);
        $data['role_permissions'] = $this->role->build_role_permissions($id);  
        $data['userLogs'] = $this->role->getUserLogs($this->role->getModuleId(), $id);      
        return view('Client::settings.roles.edit',$data);
    }

    public function update(RoleRequest $request, $hashid)
    {
        $this->authorize('update', $this->permissions());
        $id = decode($hashid);
        $role = $this->role->update($id, $request->all());
        return redirect($this->prefix_name.'/settings/roles/'.$role->hashid.'/edit');
    }

    public function destroy($hashid)
    {        
        $this->authorize('delete', $this->permissions());
        $id = decode($hashid);
        return $this->role->delete($id, $this->auth->user()->client->id);   
    }

    /*
    * Datatables
    */
    public function getRolesData(Request $request)
    {        
        $roles = $this->role->datatablesIndex();
        $permissions = $this->permissions();
        return Datatables::of($roles)
            ->addColumn('action', function ($role) use ($permissions) {
                $html_out = '';
                if(!in_array($role->id, $this->role->getdefaultIDs())) {
                    if($this->auth->user()->can('update', $permissions)) {
                        $html_out .= '<a href="'.url($this->prefix_name.'/settings/roles/'.$role->hashid.'/edit').'" class="btn btn-xs btn-flat btn-warning" data-toggle="tooltip" data-placement="top" title="Edit"><i class="fa fa-pencil"></i></a>&nbsp;&nbsp;';
                    }
                    if($this->auth->user()->can('delete', $permissions)) {
                        $html_out .= '<a href="#delete-'.$role->hashid.'" class="btn btn-xs btn-flat btn-danger" id="btn-delete" data-action="'.url($this->prefix_name).'/settings/roles/'.$role->hashid.'" data-toggle="tooltip" data-placement="top" title="Delete"><i class="fa fa-trash-o"></i></a>';
                    } 
                } else {
                    if($this->auth->user()->can('update', $permissions)) {
                        $html_out = '<a href="'.url($this->prefix_name.'/settings/roles/'.$role->hashid.'/edit').'" class="btn btn-xs btn-flat btn-warning" data-toggle="tooltip" data-placement="top" title="Edit"><i class="fa fa-pencil"></i></a>&nbsp;&nbsp;';
                    }
                }
                return $html_out;
            })
            ->make(true);
    }
}PK�8]�ss.Client/Controllers/Settings/UserController.phpnu�[���<?php

namespace QxCMS\Modules\Client\Controllers\Settings;

use Illuminate\Http\Request;


use QxCMS\Http\Controllers\Controller;
use QxCMS\Modules\Client\Repositories\Settings\Users\UserRepositoryInterface as User;
use QxCMS\Modules\Client\Repositories\Settings\Roles\RoleRepositoryInterface as Role;
use QxCMS\Modules\Client\Repositories\Settings\Roles\PermissionRepositoryInterface as Permission;
use QxCMS\Modules\Client\Requests\Settings\UserRequest;
use Datatables;
use Auth;
use DB;

class UserController extends Controller
{
    protected $user;
	protected $role;
	protected $permission;
	protected $auth;
	protected $prefix_name = '';

	public function __construct(User $user, Role $role, Permission $permission)
	{
		$this->user = $user;
        $this->role = $role;
		$this->permission = $permission;
		$this->auth = Auth::guard('client');
		$this->prefix_name = config('modules.client');
        $this->getDetails($this->user->getModuleId());
	}

	public function permissions()
    {
        return $this->permission->getPermission($this->user->getModuleId());
    }

    public function index()
    {
    	$this->authorize('activated', $this->permissions());
    	$data['permissions'] = $this->permissions();
        $data['userLogs'] = $this->user->getUserLogs($this->user->getModuleId());
        return view('Client::settings.users.index', $data);    	
    }

    public function create()
    {
        $this->authorize('create', $this->permissions());        
        $data['permissions'] = $this->permissions();
        $data['roles'] = $this->role->getLists();
        return view('Client::settings.users.create', $data);
    }

    public function store(UserRequest $request)
    {
        $this->authorize('create', $this->permissions());
        $user = $this->user->create($request->all()); 
        session()->flash('success', 'Successfully added.');
        return redirect($this->prefix_name.'/settings/users');
    }

    public function show($id)
    {
        $this->authorize('activated', $this->permissions());
    }

    public function edit($hashid)
    {
        $this->authorize('update', $this->permissions());
        $id = decode($hashid);
        $data['permissions'] = $this->permissions();
        $data['roles'] = $this->role->getLists();
        $data['user'] = $this->user->findById($id);
        $data['userLogs'] = $this->user->getUserLogs($this->user->getModuleId(), $id);
        return view('Client::settings.users.edit', $data);
    }

    public function update(UserRequest $request, $hashid)
    {
        $this->authorize('update', $this->permissions());
        $id = decode($hashid);
        $this->user->update($id, $request->all());
        return redirect($this->prefix_name.'/settings/users');
    }

    public function destroy($hashid)
    {
        $this->authorize('delete', $this->permissions());
        $id = decode($hashid);
        return $this->user->delete($id); 
    }


    public function select2(Request $request)
    {   
        return $this->user->select2($request->all());
    }


    /*
    * Datatables
    */
    public function getUsersData(Request $request)
    {        
        $params = [
            'hiddenRoleIds' => $this->role->getHiddenRoleIds(),
            'developer_id' => $this->role->getDeveloperId()
        ];

        $users = $this->user->datatablesIndex($params);
        return Datatables::of($users)
        	->editColumn('status',function($client){
                if($client->status == 0) return '<span class="label label-danger">Deactivated</span>';
                return '<span class="label label-success">Activated</span>';
            })
	        ->addColumn('action', function ($user) {
	            $html_out = '';
	            $permissions = $this->permissions();
	            if($user->id != 1) {
	                if($this->auth->user()->can('update', $permissions)) {
	                    $html_out .= '<a href="'.url($this->prefix_name.'/settings/users/'.$user->hashid.'/edit').'" class="btn btn-xs btn-flat btn-warning" data-toggle="tooltip" data-placement="top" title="Edit"><i class="fa fa-pencil"></i></a>';
	                }
	                if($this->auth->user()->can('delete', $permissions)) {
	                    $html_out .= '&nbsp;&nbsp;<a href="#delete-'.$user->hashid.'" class="btn btn-xs btn-flat btn-danger" id="btn-delete" data-action="'.url($this->prefix_name).'/settings/users/'.$user->hashid.'" data-toggle="tooltip" data-placement="top" title="Delete"><i class="fa fa-trash-o"></i></a>';
	                }
	            } else {
	                if($this->auth->user()->can('update', $permissions)) {
	                    $html_out = '<a href="'.url($this->prefix_name.'/settings/users/'.$user->hashid.'/edit').'" class="btn btn-xs btn-flat btn-warning" data-toggle="tooltip" data-placement="top" title="Edit"><i class="fa fa-pencil"></i></a>';
	                }
	            }
	            return $html_out;
	        })
            ->rawColumns(['action', 'status'])
	        ->make(true);
    }

    public function getTokenInputUserLists(Request $request)
    {
        if($request->has('q')) {
            if($request->input('q') <> '') {
                return $this->user->tokenInputLists()->where('name', 'LIKE', '%'.$request->input('q').'%')->where('client_id', $this->auth->user()->client->id)->get();
            }
        }
        return $this->user->tokenInputLists()->where('client_id', $this->auth->user()->client->id)->get();
    }
}PK�8]���qq6Client/Controllers/Applicants/ApplicantsController.phpnu�Iw��<?php

namespace QxCMS\Modules\Client\Controllers\Applicants;

use Auth;
use Excel;
use Session;
use Datatables;
use Carbon\Carbon;

use Illuminate\Http\Request;
use QxCMS\Http\Controllers\Controller;

use QxCMS\Modules\Client\Models\Applicants\JobApplied as JobApplied;
use QxCMS\Modules\Client\Repositories\JobOpening\JobOpeningRepositoryInterface as JobOpening;
use QxCMS\Modules\Client\Repositories\Settings\Roles\PermissionRepositoryInterface as Permission;

class ApplicantsController extends Controller
{
    protected $job_applied;
	protected $job_opening;

    protected $auth;
	protected $permission;
	protected $prefix_name = '';
    protected $module_id = 19;

	public function __construct(Permission $permission, JobOpening $job_opening, JobApplied $job_applied)
	{
        $this->job_applied = $job_applied;
		$this->job_opening = $job_opening;

		$this->permission = $permission;
		$this->auth = Auth::guard('client');
		$this->prefix_name = config('modules.client');
        $this->getDetails($this->module_id);
	}

	public function permissions()
    {
        return $this->permission->getPermission($this->module_id);
    }

    public function index() 
    {
    	$this->authorize('activated', $this->permissions());
    	$data['permissions'] = $this->permissions();
        return view('Client::applicants.index', $data);
    }

    public function view($hashid)
    {
        $this->authorize('activated', $this->permissions());
        $data['permissions'] = $this->permissions();

        $id = decode($hashid);
        $data['job'] = $this->job_opening->findById($id);
        return view('Client::applicants.view', $data);
    }

    public function excel($hashid)
    {
        $id = decode($hashid);
        $data['job'] = $this->job_opening->findById($id);
        $data['applicants'] = $this->job_applied->select(['job_applied.*', 'applicants.first_name', 'applicants.middle_name', 'applicants.last_name', 'applicants.mobile_number'])
                            ->where('job_id', $id)->with('applicant')
                            ->join('applicants', 'applicants.id', '=', 'job_applied.applicant_id')
                            ->orderBy('applicants.last_name', 'asc')->get();
        $data['type'] = 'Applicant Lists';

        Excel::create('Applicant Lists', function($excel) use ($data){
            $excel->setTitle('Applicant Lists');

            $excel->sheet('sheet1', function($sheet) use ($data) {
                $sheet->loadView('Client::applicants.includes.applicant-lists-table', $data);
            });
        })->export('xlsx');
    }

    public function getApplicantsData()
    {
        $dateToday = Carbon::now()->toDateString();
        $job = $this->job_opening->where('status', 'Open')
                                ->where('opening_date', '<=', $dateToday)
                                ->where('closing_date', '>=', $dateToday)
                                ->withCount('applicants');

        return Datatables::of($job)
        ->filterColumn('opening_date', function($query, $keyword) {
            $query->whereRaw("DATE_FORMAT(opening_date,'%b %d, %Y') like ?", ["%$keyword%"]);
        })
        ->filterColumn('closing_date', function($query, $keyword) {
            $query->whereRaw("DATE_FORMAT(closing_date,'%b %d, %Y') like ?", ["%$keyword%"]);
        })
        ->editColumn('opening_date', function($job){
            return Carbon::parse($job->opening_date)->format('M d, Y');
        })
        ->editColumn('closing_date', function($job){
            return Carbon::parse($job->closing_date)->format('M d, Y');
        })
        ->editColumn('applicants_count', function($job){
            if($job->applicants_count != 0){
                return '<a href="'.route($this->prefix_name.'.applicants.view', $job->hashid).'" data-toggle="tooltip" data-placement="top" title="No. Applied" target="_blank">'.$job->applicants_count.'</a>';
            }else{
                return $job->applicants_count;
            }
            
        })
        ->make(true);
    }

    public function getApplicantListData($hashid)
    {
        $id = decode($hashid);
        $applicant = $this->job_applied->select(['job_applied.*', 'applicants.first_name', 'applicants.middle_name', 'applicants.last_name', 'applicants.mobile_number'])->where('job_id', $id)->with('applicant')
                            ->join('applicants', 'applicants.id', '=', 'job_applied.applicant_id');

        return Datatables::of($applicant)
        ->editColumn('full_name', function($applicant){
            return $applicant->applicant->last_name.', '.$applicant->applicant->first_name.' '.$applicant->applicant->middle_name;
        })
        ->editColumn('apply_date', function($applicant){
            return Carbon::parse($applicant->apply_date)->format('M d, Y');
        })
        ->orderColumn('full_name', 'applicants.last_name $1, applicants.first_name $1, applicants.middle_name $1')
        ->make(true);
    }
}PK�8]����
�
<Client/Controllers/Applicants/SearchApplicantsController.phpnu�Iw��<?php

namespace QxCMS\Modules\Client\Controllers\Applicants;

use Auth;
use Datatables;
use Carbon\Carbon;

use Illuminate\Http\Request;
use QxCMS\Http\Controllers\Controller;

use QxCMS\Modules\Client\Repositories\Applicants\ApplicantRepositoryInterface as Applicant;
use QxCMS\Modules\Client\Repositories\Settings\Roles\PermissionRepositoryInterface as Permission;

class SearchApplicantsController extends Controller
{
    protected $applicant;

    protected $auth;
	protected $permission;
	protected $prefix_name = '';
    protected $module_id = 20;

	public function __construct(Permission $permission, Applicant $applicant)
	{
        $this->applicant = $applicant;

		$this->permission = $permission;
		$this->auth = Auth::guard('client');
		$this->prefix_name = config('modules.client');
        $this->getDetails($this->module_id);
	}

	public function permissions()
    {
        return $this->permission->getPermission($this->module_id);
    }

    public function index() 
    {
    	$this->authorize('activated', $this->permissions());
    	$data['permissions'] = $this->permissions();
        return view('Client::applicants.search-applicant.index', $data);
    }

    public function getSearchApplicantsData(Request $request)
    {
        $applicant = $this->applicant->select('applicants.*')->with('latestJob')
                                     ->whereHas('latestJob',function($query){
                                       $query->where('id', '!=', null);
                                    })
                                    ->join('job_applied', 'job_applied.applicant_id', '=', 'applicants.id')
                                    ->groupBy('job_applied.applicant_id');

        return Datatables::of($applicant)
        ->filter(function ($query) use ($request){
            if ($request->has('name')) {
                $query->whereRaw("CONCAT(first_name,' ',last_name) like ?", "%{$request->get('name')}%");
                $query->orWhereRaw("CONCAT(last_name,' ',first_name) like ?", ["%{$request->get('name')}%"]);
            }
        })
        ->editColumn('full_name', function($applicant){
            return $applicant->last_name.', '.$applicant->first_name.' '.$applicant->middle_name;
        })
        ->editColumn('position', function($applicant){
            if($applicant->latestJob == null) return '';
            else return $applicant->latestJob->job->position;
        })
        ->editColumn('apply_date', function($applicant){
            if($applicant->latestJob == null) return '';
            else return Carbon::parse($applicant->latestJob->apply_date)->format('M d, Y');
        })
        ->orderColumn('full_name', 'last_name $1, first_name $1, middle_name $1')
        ->make(true);
    }
}PK�8]�h[�
�
<Client/Controllers/Applicants/SourceApplicantsController.phpnu�Iw��<?php

namespace QxCMS\Modules\Client\Controllers\Applicants;

use Auth;
use Excel;
use Datatables;

use Illuminate\Http\Request;
use QxCMS\Http\Controllers\Controller;

use QxCMS\Modules\Client\Repositories\Applicants\ApplicantRepositoryInterface as Applicant;
use QxCMS\Modules\Client\Repositories\Settings\Roles\PermissionRepositoryInterface as Permission;

class SourceApplicantsController extends Controller
{
    protected $applicant;

    protected $auth;
	protected $permission;
	protected $prefix_name = '';
    protected $module_id = 21;

	public function __construct(Permission $permission, Applicant $applicant)
	{
        $this->applicant = $applicant;

		$this->permission = $permission;
		$this->auth = Auth::guard('client');
		$this->prefix_name = config('modules.client');
        $this->getDetails($this->module_id);
	}

	public function permissions()
    {
        return $this->permission->getPermission($this->module_id);
    }

    public function index()
    {
    	$this->authorize('activated', $this->permissions());
    	$data['permissions'] = $this->permissions();
        return view('Client::applicants.source-applicant.index', $data);
    }

    public function show(Request $request)
    {
        $this->authorize('activated', $this->permissions());
        $data['permissions'] = $this->permissions();
        $data['count'] = $this->applicant->getSourceApplicant($request)->count();
        if($data['count'] == 0){
            return view('Client::no-data');
        }else{
            return view('Client::applicants.source-applicant.view', $data);
        }
    }

    public function excel(Request $request)
    {
        $data['applicants'] = $this->applicant->getSourceApplicant($request)->orderByRaw("last_name ASC, first_name ASC, middle_name ASC")->get();
        $data['count'] = $this->applicant->getSourceApplicant($request)->count();
        $data['type'] = 'Applicant Source';

        Excel::create('Applicant Source Result', function($excel) use ($data){
            $excel->setTitle('Applicant Source');

            $excel->sheet('sheet1', function($sheet) use ($data) {
                $sheet->loadView('Client::applicants.source-applicant.includes.source-applicant-table', $data);
            });
        })->export('xlsx');
    }

    public function getSourceApplicantsData(Request $request)
    {
        $applicant = $this->applicant->getSourceApplicant($request);

        return Datatables::of($applicant)
        ->editColumn('full_name', function($applicant){
            return $applicant->last_name.', '.$applicant->first_name.' '.$applicant->middle_name;
        })
        ->orderColumn('full_name', 'last_name $1, first_name $1, middle_name $1')
        ->make(true);
    }
}PK�8]+t�:Client/Controllers/Directory/SpecializationsController.phpnu�Iw��<?php

namespace QxCMS\Modules\Client\Controllers\Directory;

use Illuminate\Http\Request;
use QxCMS\Http\Controllers\Controller;
use Datatables;

use QxCMS\Modules\Client\Repositories\Directory\SpecializationsRepositoryInterface as Specializations;

class SpecializationsController extends Controller
{
    public function __construct(Specializations $specialization)
    {
        $this->specialization = $specialization;
    }

    public function store(Request $request)
    {        
        return $this->specialization->create($request->all());
    }

    public function update(Request $request)
    {
        return $this->specialization->update($request);
    }

    public function destroy($id)
    {
       return $this->specialization->delete($id); 
    }

    public function getSpecializationsData()
    {
        $specialization = $this->specialization->select(['*']);
        return Datatables::of($specialization)
           ->addColumn('action', function($specialization) {
                $html = '<a href="#edit" class="btn btn-xs btn-flat btn-warning btn-edit" data-id="'.$specialization->id.'">
                        <i class="fa fa-pencil"></i>
                    </a>
                    <a href="#delete" class="btn btn-xs btn-flat btn-danger btn-delete" data-id="'.$specialization->id.'" data-action="'.url('client').'/modals/specialization/destroy/'.$specialization->id.'">
                    <i class="fa fa-trash-o"></i>
                    </a>';
            return $html;
            })->make(true);
    }
}
PK�8]>��K��6Client/Controllers/Directory/DirectoriesController.phpnu�Iw��<?php

namespace QxCMS\Modules\Client\Controllers\Directory;

use DB;
use Auth;
use Datatables;
use Session;

use Illuminate\Http\Request;
use QxCMS\Http\Controllers\Controller;

use QxCMS\Modules\Client\Requests\Directory\DirectoryRequest;
use QxCMS\Modules\Client\Repositories\Settings\Roles\PermissionRepositoryInterface as Permission;
use QxCMS\Modules\Client\Repositories\Directory\DirectoriesRepositoryInterface as Directory;
use QxCMS\Modules\Client\Repositories\Directory\AffiliatesRepositoryInterface as Affiliates;
use QxCMS\Modules\Client\Repositories\Directory\SpecializationsRepositoryInterface as Specializations;
use QxCMS\Modules\Client\Repositories\Directory\CitiesRepositoryInterface as Cities;
use QxCMS\Modules\Client\Repositories\Directory\ProvincesRepositoryInterface as Provinces;
use QxCMS\Modules\Client\Repositories\Directory\MunicipalitiesRepositoryInterface as Municipalities;


class DirectoriesController extends Controller
{
	protected $directory;
	protected $permission;
	protected $auth;
	protected $prefix_name = '';

	public function __construct(Permission $permission, Directory $directory, Affiliates $affiliates, Specializations $specializations, Cities $cities, Provinces $provinces, Municipalities $municipalities)
	{
		$this->directory = $directory;
        $this->affiliates = $affiliates;
        $this->specializations = $specializations;
        $this->cities = $cities;
        $this->provinces = $provinces;
        $this->municipalities = $municipalities;

		$this->permission = $permission;
		$this->auth = Auth::guard('client');
		$this->prefix_name = config('modules.client');
        $this->getDetails($this->directory->getModuleId());
	}

	public function permissions()
    {
        return $this->permission->getPermission($this->directory->getModuleId());
    }

    public function index() 
    {
    	$this->authorize('activated', $this->permissions());
    	$data['permissions'] = $this->permissions();
        $data['userLogs'] = $this->directory->getUserLogs($this->directory->getModuleId());
        return view('Client::directory-store.index', $data, $this->getFormOptions());    	
    }
    public function create()
    {
        $this->authorize('create', $this->permissions());        
        $data['permissions'] = $this->permissions();
        return view('Client::directory-store.create', $data, $this->getFormOptions());
    }

    public function store(DirectoryRequest $request)
    {
        $this->authorize('create', $this->permissions());
        $subject = $this->directory->create($request->all()); 
        session()->flash('success', 'Successfully added.');

        return redirect($this->prefix_name.'/directory-store');
    }

    public function show($id)
    {
        //
    }

    public function edit($hashid)
    {
        $this->authorize('update', $this->permissions());
        $id = decode($hashid);
        $data['permissions'] = $this->permissions();
        $data['directory'] = $this->directory->findById($id);
        $data['userLogs'] = $this->directory->getUserLogs($this->directory->getModuleId(), $id);

        return view('Client::directory-store.edit', $data, $this->getFormOptions());
    }

    public function update(DirectoryRequest $request, $hashid)
    {
        $this->authorize('update', $this->permissions());
        $id = decode($hashid);
        
        $directory = $this->directory->update($id, $request->all());
        return redirect($this->prefix_name.'/directory-store');
    }

    public function destroy($hashid)
    {
        $this->authorize('delete', $this->permissions());
        $id = decode($hashid);
        return $this->directory->delete($id); 
    }

  
    public function getDirectoriesData(Request $request)
    {
        $directory = $this->directory->select([
            'id', 
            'category', 
            'name', 
            'affiliate_id', 
            'specialization_id', 
            'lat', 
            'lng', 
            'tel_no', 
            'email',
            DB::raw("CONCAT(locations.address_number,' ',locations.street,' ',locations.barangay) AS address")
        ])->with('affiliates', 'specializations');

        $permissions = $this->permissions();
        return Datatables::of($directory)
            ->filter(function ($query) use ($request) {
                if ($request->has('name')) {
                    $query->where('name', 'like', "%{$request->get('name')}%");
                }
                if ($request->has('category')) {
                    $query->where('category', 'like', "%{$request->get('category')}%");
                }
            })
            ->editColumn('affiliates-specializations.name', function($row) {
                if($row->affiliates == null) $html = "<p><b>Affiliate: </b>".'N/A'.'';
                else $html = "<p><b>Affiliates: </b>".$row->affiliates->name.'';

                if($row->specializations == null) $html.= "<br><b>Specialization: </b>".'N/A'.'';
                else $html.= "<br><b>Specialization: </b>".$row->specializations->name.'</p>';
                return $html;
            })
            ->addColumn('locations', function ($directory) {
                $html = "<p><b>Latitude: </b>".$directory->lat."";
                $html.= "<br/><b>Longitude: </b>".$directory->lng."</p>";
                return $html;
            })
            ->addColumn('contacts', function ($directory) {
                $html = "<p><b>Tel. No.: </b>".$directory->tel_no."";
                $html.= "<br/><b>Email: </b>".$directory->email."";
                $html.= "<br/><b>Address: </b>".$directory->address."</p>";
                return $html;
            })
            ->addColumn('action', function ($directory) use ($permissions){
                $html = '';
                if($this->auth->user()->can('update', $permissions)) {
                    $html .= '<a href="'.url('client').'/directory-store/edit/'.$directory->hashid.'"><button type="button" data-toggle="tooltip" title="Update" class="btn btn-warning btn-xs btn-flat edited"><span class="glyphicon glyphicon-pencil"></span></button></a>';
                }
                if($this->auth->user()->can('delete', $permissions)) {
                    $html .= '&nbsp;<button type="button" data-toggle="tooltip" title="Delete" class="btn btn-danger btn-xs btn-flat deleted" data-action="'.url('client').'/directory-store/destroy/'.$directory->hashid.'"><span class="glyphicon glyphicon-trash"></span></button>';
                }
                return $html;
            })
            ->make(true);
    }

    protected function getFormOptions($directories = null)
    {
        $data['affiliates'] = $this->affiliates->affiliatesList();
        $data['specializations'] = $this->specializations->specializationsList();
        $data['cities'] = $this->cities->citiesList();
        $data['provinces'] = $this->provinces->provincesList();
        $data['municipalities'] = $this->municipalities->municipalitiesList();
        $data['categories'] = Array('directory' => 'Directory', 'store' => 'Store');
        return $data;
    }

}PK�8]|o�5Client/Controllers/Directory/AffiliatesController.phpnu�Iw��<?php

namespace QxCMS\Modules\Client\Controllers\Directory;

use Illuminate\Http\Request;
use QxCMS\Http\Controllers\Controller;
use Datatables;

use QxCMS\Modules\Client\Repositories\Directory\AffiliatesRepositoryInterface as Affiliates;

class AffiliatesController extends Controller
{

    public function __construct(Affiliates $affiliates)
    {
        $this->affiliates = $affiliates;
    }

    public function store(Request $request)
    {        
        return $this->affiliates->create($request->all());
    }

    public function update(Request $request)
    {
         return $this->affiliates->update($request);
    }

    public function destroy($id)
    {
        return $this->affiliates->delete($id); 
    }

    public function getAffiliatesData()
    {
        $affiliates = $this->affiliates->select(['*']);
        return Datatables::of($affiliates)
           ->addColumn('action', function($affiliates) {
                $html = '<a href="#edit" class="btn btn-xs btn-flat btn-warning btn-edit" data-action="'.url('client').'/modals/affiliates/update/'.$affiliates->id.'" data-id="'.$affiliates->id.'">
                        <i class="fa fa-pencil"></i>
                    </a>
                    <a href="#delete" class="btn btn-xs btn-flat btn-danger btn-delete" data-action="'.url('client').'/modals/affiliates/destroy/'.$affiliates->id.'" data-id="'.$affiliates->id.'">
                    <i class="fa fa-trash-o"></i>
                    </a>';
            return $html;
            })->make(true);
    }
}
PK�8]ٚݑ//4Client/Controllers/Dashboard/DashboardController.phpnu�Iw��<?php

namespace QxCMS\Modules\Client\Controllers\Dashboard;

use Illuminate\Http\Request;

use QxCMS\Http\Requests;
use QxCMS\Http\Controllers\Controller;

class DashboardController extends Controller
{    
    public function dashboard()
    {
    	return view('Client::dashboard.dashboard');
    }
}
PK�8]+#7�!�!7Client/Controllers/Questionnaire/QuestionController.phpnu�Iw��<?php

namespace QxCMS\Modules\Client\Controllers\Questionnaire;

use DB;
use Auth;
use Datatables;

use Illuminate\Http\Request;
use QxCMS\Http\Controllers\Controller;

use QxCMS\Modules\Client\Requests\Questionnaire\QuestionRequest;
use QxCMS\Modules\Client\Repositories\Questionnaire\TemplateRepositoryInterface as Template;
use QxCMS\Modules\Client\Repositories\Questionnaire\QuestionRepositoryInterface as Question;
use QxCMS\Modules\Client\Repositories\Questionnaire\AnswerRepositoryInterface as Answer;
use QxCMS\Modules\Client\Repositories\Settings\Roles\PermissionRepositoryInterface as Permission;

class QuestionController extends Controller
{
    protected $template;
	protected $question;
    protected $answer;
	protected $permission;
	protected $auth;
	protected $prefix_name = '';

	public function __construct(
        Template $template, 
        Question $question,
        Answer $answer,
        Permission $permission
    )
	{
        $this->template = $template;
		$this->question = $question;
        $this->answer = $answer;
		$this->permission = $permission;
		$this->auth = Auth::guard('client');
		$this->prefix_name = config('modules.client');
        config(['jsvalidation.view' => 'jsvalidation::bootstrap-modal']);
	}

	public function permissions()
    {
        return $this->permission->getPermission($this->template->getModuleId());
    }

    public function index($template_hashid) 
    {
    	$this->authorize('activated', $this->permissions());
    	
        $data['permissions'] = $this->permissions();
        $template_id = decode($template_hashid);
        $data['template'] = $this->template->findById($template_id);
        $data['userLogs'] = $this->question->getUserLogs($this->template->getModuleId(), '', 'Questions-'.$template_id);
        return view('Client::questionnaire.question.index', $data);    	
    }

    public function create($template_hashid)
    {
        $this->authorize('create', $this->permissions());        
        $data['permissions'] = $this->permissions();

        $template_id = decode($template_hashid);
        $data['template'] = $this->template->findById($template_id);
        $data['question_types'] = $this->question->getQuestionTypes();

        return view('Client::questionnaire.question.create', $data);      
    }

    public function store(Request $request, $template_hashid)
    {
        $this->authorize('create', $this->permissions());
        $template_id = decode($template_hashid);

        $question_input = $request->except(['name']);
        $question_input['template_id'] = $template_id;

        $question = $this->question->create($question_input);

        $choices = array_filter($request->get('name'), 'strlen');
        if(!empty($choices)) {
            $order = 1;
            foreach ($choices as $choice_key => $choice) {
                $input['name'] = $choice;
                $input['question_id'] = $question->id;
                $input['order'] = $order;
                $this->answer->create($input);
                $order = $order + 1;
            }
        }

        if($request->get('_save') == 'add_another') {
            session()->flash('success', 'Question is successfully added. Please add another question.');
            return redirect($this->prefix_name.'/questionnaire/'.hashid($question->template_id).'/question/create');
        }

        session()->flash('success', 'Question is successfully added.');
        return redirect($this->prefix_name.'/questionnaire/'.hashid($question->template_id).'/question');
    }

    public function show($id)
    {
        $this->authorize('activated', $this->permissions());
        return $id;
    }

    public function edit($template_hashid, $hashid)
    {
        $this->authorize('update', $this->permissions());
        $template_id = decode($template_hashid);
        $id = decode($hashid);

        $data['permissions'] = $this->permissions();
        $data['question_types'] = $this->question->getQuestionTypes();

        $data['template'] = $this->template->findById($template_id);
        $data['userLogs'] = $this->question->getUserLogs($this->question->getModuleId(), $id,'Questions-'.$template_id);
        $data['question'] = $this->question->with(['answers' => function($query){
            $query->orderBy('order', 'ASC');
        }])->find($id);
    
        return view('Client::questionnaire.question.edit', $data);
    }

    public function update(QuestionRequest $request, $template_hashid, $hashid)
    {
        $this->authorize('update', $this->permissions());
        $id = decode($hashid);
        $template_id = decode($template_hashid);

        $question = $this->question->update($id, $request->except(['name']));
        $choices = array_filter($request->get('name'), 'strlen');

        $this->answer->where('question_id', $id)->whereNotIn('id', array_keys($choices))->delete();
        if(!empty($choices)) {
            $order = 1;
            foreach ($choices as $choice_key => $choice) {
              //  return $choice_key;
                $input['name'] = $choice;
                $input['question_id'] = $question->id;
                $input['order'] = $order;

                if(starts_with($choice_key, 'new')) {
                    $this->answer->create($input);
                } else {
                    $this->answer->update($choice_key, $input);
                }

                $order = $order + 1;
            }
        }

        return redirect($this->prefix_name.'/questionnaire/'.hashid($question->template_id).'/question');
    }

    public function destroy($template_hashid, $hashid)
    {
        $this->authorize('delete', $this->permissions());
        $id = decode($hashid);
        $template_id = decode($template_hashid);
        return $this->question->delete($id); 
    }


    public function copyQuestion($hashid)
    {
        $this->authorize('update', $this->permissions());
        $id = decode($hashid);
       
        $question = $this->question->with(['answers'])->find($id);
        return $this->question->copyQuestion($question);
    }

    public function sortQuestion(Request $request)
    {
        $orders = $request->get('question-table');
        foreach ($orders as $order => $id) {
            //if ($key <> 0) {
                $this->question->sort(($order + 1), $id);
           // } 
        }
        return $orders;
    }

    /*
    * Datatables
    */
    public function getQuestionData($template_hashid)
    {        

        $template_id = decode($template_hashid);
        $questions = $this->question->where('template_id', '=', $template_id)->orderBy('order', 'ASC');
        $permissions = $this->permissions();


        return Datatables::of($questions)
            
                
                ->addColumn('action', function ($question) use ($permissions) {
                    $html_out = '';
    	            
                    if($this->auth->user()->can('update', $permissions)) {
                        $html_out .= '<a href="'.url($this->prefix_name.'/questionnaire/'.hashid($question->template_id).'/question/'.$question->hashid.'/edit').'" class="btn btn-xs btn-flat btn-warning" data-toggle="tooltip" data-placement="top" title="Edit"><i class="fa fa-pencil"></i></a>';
                        $html_out .= '&nbsp;&nbsp;<a href="'.url($this->prefix_name.'/questionnaire/'.$question->hashid.'/question/copy').'" id="copy-question" class="btn btn-xs btn-flat btn-info" data-toggle="tooltip" data-placement="top" title="Duplicate"><i class="fa fa-copy"></i></a>';
                    }

                    if($this->auth->user()->can('delete', $permissions)) {
                        $html_out .= '&nbsp;&nbsp;<a href="#delete-'.$question->hashid.'" class="btn btn-xs btn-flat btn-danger" id="btn-delete" data-action="'.url($this->prefix_name).'/questionnaire/'.hashid($question->template_id).'/question/'.$question->hashid.'" data-toggle="tooltip" data-placement="top" title="Delete"><i class="fa fa-trash-o"></i></a>';
                    }
    	            
    	            return $html_out;
    	        })
                ->setRowId('id')

	            ->make(true);
    }

    /*public function getTokenInputUserLists(Request $request)
    {
        if($request->has('q')) {
            if($request->input('q') <> '') {
                return $this->user->tokenInputLists()->where('name', 'LIKE', '%'.$request->input('q').'%')->where('client_id', $this->auth->user()->client->id)->get();
            }
        }
        return $this->user->tokenInputLists()->where('client_id', $this->auth->user()->client->id)->get();
    }*/
}PK�8]�HGIpp7Client/Controllers/Questionnaire/TemplateController.phpnu�Iw��<?php

namespace QxCMS\Modules\Client\Controllers\Questionnaire;

use DB;
use Auth;
use Datatables;

use Illuminate\Http\Request;
use QxCMS\Http\Controllers\Controller;

use QxCMS\Modules\Client\Requests\Questionnaire\TemplateRequest;
use QxCMS\Modules\Client\Repositories\Questionnaire\TemplateRepositoryInterface as Template;
//use QxCMS\Modules\Client\Repositories\Participants\ParticipantRepositoryInterface as Participant;
use QxCMS\Modules\Client\Repositories\Settings\Roles\PermissionRepositoryInterface as Permission;

class TemplateController extends Controller
{
	protected $template;
    //protected $
	protected $permission;
	protected $auth;
	protected $prefix_name = '';

	public function __construct(Template $template, Permission $permission)
	{
		$this->template = $template;
		$this->permission = $permission;
		$this->auth = Auth::guard('client');
		$this->prefix_name = config('modules.client');
        config(['jsvalidation.view' => 'jsvalidation::bootstrap-modal']);
        $this->getDetails($this->template->getModuleId());
	}

	public function permissions()
    {
        return $this->permission->getPermission($this->template->getModuleId());
    }

    public function index() 
    {
    	$this->authorize('activated', $this->permissions());
    	$data['permissions'] = $this->permissions();
        $data['userLogs'] = $this->template->getUserLogs($this->template->getModuleId());
        return view('Client::questionnaire.template.index', $data);    	
    }

    public function create()
    {
        $this->authorize('create', $this->permissions());        
        $data['permissions'] = $this->permissions();
        $data['roles'] = $this->user->getRolelists();
        return view('Client::settings.users.create', $data);
    }

    public function store(TemplateRequest $request)
    {
        $this->authorize('create', $this->permissions());
        $input = $request->all();
        $input['user_id'] = auth('client')->user()->id;
        $template = $this->template->create($input); 
        session()->flash('success', 'Questionnaire template successfully added.');
        return redirect($this->prefix_name.'/questionnaire/'.$template->hashid.'/question');
    }

    public function show($id)
    {
        $this->authorize('activated', $this->permissions());
        return $id;
    }

    public function edit($hashid)
    {
        $this->authorize('update', $this->permissions());
        $id = decode($hashid);
        $data['template'] = $this->template->findById($id);
        $data['permissions'] = $this->permissions();
        $data['userLogs'] = $this->template->getUserLogs($this->template->getModuleId(), $id);
        return view('Client::questionnaire.template.edit', $data);
    }

    public function update(TemplateRequest $request, $hashid)
    {
        $this->authorize('update', $this->permissions());
        $id = decode($hashid);
        $template = $this->template->update($id, $request->all());
        return redirect($this->prefix_name.'/questionnaire');
    }

    public function destroy($hashid)
    {
        $this->authorize('delete', $this->permissions());
        $id = decode($hashid);
        return $this->template->delete($id); 
    }

    public function copyTemplate($hashid)
    {
        $this->authorize('update', $this->permissions());
        $id = decode($hashid);
        return $this->template->copyTemplate($id);
    }

    public function select2(Request $request)
    {   
        return $this->template->select2($request->all());
    }

    public function preview(Request $request, $hashid)
    {
        $id = decode($hashid);
        $data['template'] = $this->template->findById($id);
        return view('Client::questionnaire.template.preview', $data);
    }

    public function result(Request $request, $hashid)
    {
        $id = decode($hashid);
        $data['template'] = $this->template->findTemplateById($id, ['questions']);
        return view('Client::questionnaire.results.index', $data);
    }
    /*
    * Datatables
    */
    public function getTemplateData()
    {        
        $templates = $this->template->all();
        $permissions = $this->permissions();


        return Datatables::of($templates)
            ->editColumn('status', function($template){
                if($template->status == 'Close') return '<span class="label label-danger">Close</span>';
                return '<span class="label label-success">Open</span>';
            })
            ->editColumn('created_at', function($template){
                return $template->created_at->format('M d, Y');
            })
            ->addColumn('description', function($template){
                $html_out = "";
                $html_out .= "<a href=\"".url($this->prefix_name.'/questionnaire/'.$template->hashid.'/question')."\">".$template->title."</a>";
               // $html_out .= "<br/>".$template->description;

                return $html_out;
            })
            ->addColumn('action', function ($template) use ($permissions) {
                $html_out = '';
	            return view('Client::questionnaire.template.action', compact('template', 'permissions'))->render();
	        })
	        ->make(true);
    }

}PK�8];%���3Client/Controllers/Reports/AuditTrailController.phpnu�Iw��<?php

namespace QxCMS\Modules\Client\Controllers\Reports;

use Auth;
use Excel;
use Session;
use Datatables;

use Illuminate\Http\Request;
use QxCMS\Http\Controllers\Controller;

use QxCMS\Modules\Client\Repositories\Settings\Users\UserRepositoryInterface as User;
use QxCMS\Modules\Client\Repositories\Settings\Roles\PermissionRepositoryInterface as Permission;

class AuditTrailController extends Controller
{
    protected $auth;
    protected $user;
	protected $permission;
    protected $module_id = 13;
	protected $prefix_name = '';

	public function __construct(Permission $permission, User $user)
	{
        $this->user = $user;
		$this->permission = $permission;
		$this->auth = Auth::guard('client');
		$this->prefix_name = config('modules.client');
        $this->getDetails($this->module_id);
	}

	public function permissions()
    {
        return $this->permission->getPermission($this->module_id);
    }

    public function index() 
    {
    	$this->authorize('activated', $this->permissions());
    	$data['permissions'] = $this->permissions();
        return view('Client::reports.audittrail.index', $data, $this->getFormOptions());
    }

    public function show(Request $request)
    {
        $this->authorize('activated', $this->permissions());
        $data['permissions'] = $this->permissions();
        $data['type'] = $this->user->getUserLogType($request);
        $data['date'] = $this->user->getUserLogDate($request);
        $count = $this->user->getUserLogCount($request);
        if($request->report_type == 1){
            $data['visibleUser'] = true;
            $data['visibleLogin'] = false;
        }else{
            $data['visibleUser'] = false;
            $data['visibleLogin'] = true;
        }
        if($count == 0){
            return view('Client::no-data');
        }else{
            return view('Client::reports.audittrail.view', $data);
        }
    }

    public function excel(Request $request) {
        $reportType = $request->has('report_type');
        $type = $this->user->getUserLogType($request);
        $date = $this->user->getUserLogDate($request);
        $userLogs = $this->user->getUserLog($request)->where(function($query) use ($request, $reportType){
            if($reportType && $request->report_type == 1){
                if ($request->has('user_id')) {
                    $query->where('user_id', $request->user_id);
                }
            }
            if($reportType && $request->report_type == 2){
                if ($request->has('user_id')) {
                    $user = $this->user->searchUserUsername($request->user_id);
                    $query->where('username', $user->email);
                }
            }
            if ($request->has('start_date') && $request->has('end_date')) {
                $query->whereRaw("date_format(created_at, '%Y-%m-%d') >= '{$request->start_date}'")
                ->whereRaw("date_format(created_at, '%Y-%m-%d') <= '{$request->end_date}'");
            }
        })->orderBy('created_at', 'desc')->get();

        Excel::create('Audit trail report', function($excel) use ($userLogs, $request, $type, $date){
            $excel->setTitle('Audit Trail Report');
            $excel->setCreator('Quantum X, Inc.')->setCompany('Quantum X, Inc.');
            $excel->setDescription('audit trail report');

            $excel->sheet('sheet1', function($sheet) use ($userLogs, $request, $type, $date) {
                if($request->report_type == 1){
                    $sheet->loadView('Client::reports.audittrail.includes.user-logs-table')
                        ->with('userLogs', $userLogs)
                        ->with('type', $type)
                        ->with('date', $date);
                }else{
                    $sheet->loadView('Client::reports.audittrail.includes.login-logs-table')
                        ->with('userLogs', $userLogs)
                        ->with('type', $type)
                        ->with('date', $date);
                }
            });
        })->export('xlsx');
    }
  
    public function getReportsDataByUser(Request $request)
    {
        $userLogs = $this->user->getUserLog($request);
        $reportType = $request->has('report_type');
        return Datatables::of($userLogs)
            ->filter(function ($query) use ($request, $reportType) {
                if($reportType && $request->report_type == 1){
                    if ($request->has('user_id')) {
                        $query->where('user_id', $request->user_id);
                    }
                }
                if($reportType && $request->report_type == 2){
                    if ($request->has('user_id')) {
                        $user = $this->user->searchUserUsername($request->user_id);
                        $query->where('username', $user->email);
                    }
                }
                if ($request->has('start_date') && $request->has('end_date')) {
                    $query->whereRaw("date_format(created_at, '%Y-%m-%d') >= '{$request->start_date}'")
                    ->whereRaw("date_format(created_at, '%Y-%m-%d') <= '{$request->end_date}'");
                }
            })
            ->editColumn('module', function($row) {
                if(!isset($row->module)) return '';
                else return $row->module->title;
            })
            ->editColumn('action', function($row) {
                if(!isset($row->action)) return '';
                else return $row->action;
            })
            ->editColumn('ipaddress', function($row) {
                if(!isset($row->ipaddress)) return '';
                else return $row->ipaddress;
            })
            ->editColumn('username', function($row) {
                if(!isset($row->username)) return '';
                else return $row->username;
            })
            ->editColumn('user', function($row) {
                if($row->user == null) {
                    if(isset($row->name)) return $row->name;
                    else return '';
                }
                else return $row->user->name;
            })
            ->make(true);
    }

    protected function getFormOptions()
    {
        $data['users'] = $this->user->userLists();
        $data['type'] = Array('1' => 'Add, Edit, Delete of Data', '2' => 'User Access Logs');
        return $data;
    }
}PK�8]�_h��3Client/Controllers/Posts/PostCategoryController.phpnu�Iw��<?php

namespace QxCMS\Modules\Client\Controllers\Posts;

use Illuminate\Http\Request;
use QxCMS\Http\Controllers\Controller;
use Datatables;

use QxCMS\Modules\Client\Repositories\Posts\PostCategoryRepositoryInterface as PostCategory;

class PostCategoryController extends Controller
{

    public function __construct(PostCategory $postCategory)
    {
        $this->postCategory = $postCategory;
    }

    public function store(Request $request)
    {        
        return $this->postCategory->create($request->all());
    }

    public function update(Request $request)
    {
        return $this->postCategory->update($request);
    }

    public function destroy($id)
    {
        return $this->postCategory->delete($id); 
    }

    public function getPostCategoryData()
    {
        $postCategory = $this->postCategory->select(['*']);
        return Datatables::of($postCategory)
           ->addColumn('action', function($postCategory) {
                $html = '<a href="#edit" class="btn btn-xs btn-flat btn-warning btn-edit" data-id="'.$postCategory->id.'">
                        <i class="fa fa-pencil"></i>
                    </a>
                    <a href="#delete" class="btn btn-xs btn-flat btn-danger btn-delete" data-action="'.url('client').'/modals/postcategory/destroy/'.$postCategory->id.'" data-id="'.$postCategory->id.'">
                    <i class="fa fa-trash-o"></i>
                    </a>';
            return $html;
            })->make(true);
    }
}
PK�8]��~~,Client/Controllers/Posts/PostsController.phpnu�Iw��<?php

namespace QxCMS\Modules\Client\Controllers\Posts;

use Auth;
use Datatables;
use Session;

use Illuminate\Http\Request;
use QxCMS\Http\Controllers\Controller;

use QxCMS\Modules\Client\Requests\Posts\PostRequest;
use QxCMS\Modules\Client\Repositories\Settings\Roles\PermissionRepositoryInterface as Permission;
use QxCMS\Modules\Client\Repositories\Posts\PostsRepositoryInterface as Posts;
use QxCMS\Modules\Client\Repositories\Posts\PostCategoryRepositoryInterface as PostCategory;

class PostsController extends Controller
{
	protected $posts;
	protected $permission;
	protected $auth;
	protected $prefix_name = '';

	public function __construct(Permission $permission, Posts $posts, PostCategory $postCategory)
	{
		$this->posts = $posts;
        $this->postCategory = $postCategory;

		$this->permission = $permission;
		$this->auth = Auth::guard('client');
		$this->prefix_name = config('modules.client');
        $this->getDetails($this->posts->getModuleId());
	}

	public function permissions()
    {
        return $this->permission->getPermission($this->posts->getModuleId());
    }

    public function index() 
    {
    	$this->authorize('activated', $this->permissions());
    	$data['permissions'] = $this->permissions();
        $data['userLogs'] = $this->posts->getUserLogs($this->posts->getModuleId());
        return view('Client::posts.index', $data, $this->getFormOptions());
    }

    public function create()
    {
        $this->authorize('create', $this->permissions());        
        $data['permissions'] = $this->permissions();
        return view('Client::posts.create', $data, $this->getFormOptions());
    }

    public function store(PostRequest $request)
    {

        $this->authorize('create', $this->permissions());
        $posts = $this->posts->create($request); 
        session()->flash('success', 'Successfully added.');

        return redirect($this->prefix_name.'/posts');
    }

    public function show($id)
    {
        //
    }

    public function edit($hashid)
    {
        $this->authorize('update', $this->permissions());
        $id = decode($hashid);
        $data['permissions'] = $this->permissions();
        $data['post'] = $this->posts->findById($id);
        $data['userLogs'] = $this->posts->getUserLogs($this->posts->getModuleId(), $id);
        return view('Client::posts.edit', $data, $this->getFormOptions());
    }

    public function update(PostRequest $request, $hashid)
    {
        $this->authorize('update', $this->permissions());
        $id = decode($hashid);

        $posts = $this->posts->update($id, $request);
        return redirect($this->prefix_name.'/posts');
    }

    public function destroy($hashid)
    {
        $this->authorize('delete', $this->permissions());
        $id = decode($hashid);
        return $this->posts->delete($id);
    }
  
    public function getPostsData(Request $request)
    {
        $posts = $this->posts->select('*')->where('post_type', '=', 'Post')->with('author', 'category');

        $permissions = $this->permissions();
        return Datatables::of($posts)
            ->filter(function ($query) use ($request) {
                if ($request->has('title')) {
                    $query->where('title', 'like', "%{$request->get('title')}%");
                }
                if ($request->has('posts_category_id')) {
                    $query->where('posts_category_id', 'like', "%{$request->get('posts_category_id')}%");
                }
            })
            ->editColumn('category', function($row) {
                if($row->category == null) return 'N/A';
                else return $row->category->name;
            })
            ->editColumn('author', function($row) {
                if($row->author == null) return '';
                else return $row->author->name;
            })
            ->addColumn('date', function ($posts) {
                $html = "<small>Published <br> ".$posts->published_at."";
                if($posts->expired_at <> 0000-00-00){
                    $html.= "<br/>Expiring<br> ".$posts->expired_at."</small>";
                }else{
                    $html.= '';
                }
                return $html;
            })
            ->addColumn('action', function ($posts) use ($permissions){
                $html = '';
                if($this->auth->user()->can('update', $permissions)) {
                    $html .= '<a href="'.url('client').'/posts/edit/'.$posts->hashid.'"><button type="button" data-toggle="tooltip" title="Update" class="btn btn-warning btn-flat btn-xs edited"><span class="glyphicon glyphicon-pencil"></span></button></a>';
                }
                if($this->auth->user()->can('delete', $permissions)) {
                    $html .= '&nbsp;<button type="button" data-toggle="tooltip" title="Delete" class="btn btn-danger btn-xs btn-flat deleted" data-action="'.url('client').'/posts/destroy/'.$posts->hashid.'"><span class="glyphicon glyphicon-trash"></span></button>';
                }
                return $html;
            })
            ->orderColumn('date', 'posts.published_at $1, posts.expired_at $1')
            ->make(true);
    }

    protected function getFormOptions()
    {
        $data['category'] = $this->postCategory->postCategoryList();
        $data['visibility'] = Array('Public' => 'Public', 'Private' => 'Private');
        $data['status'] = Array('Publish' => 'Publish', 'Draft' => 'Draft', 'Inactive' => 'Inactive');
        return $data;
    }

}PK�8]�&}t��1Client/Controllers/Products/ProductController.phpnu�Iw��<?php

namespace QxCMS\Modules\Client\Controllers\Products;

use DB;
use Auth;
use Datatables;
use Session;
use File;
use Storage;

use Illuminate\Http\Request;
use QxCMS\Http\Controllers\Controller;

use QxCMS\Modules\Client\Requests\Products\ProductRequest;
use QxCMS\Modules\Client\Repositories\Settings\Roles\PermissionRepositoryInterface as Permission;
use QxCMS\Modules\Client\Repositories\Products\ProductRepositoryInterface as Product;
use QxCMS\Modules\Client\Repositories\Products\ProductBrandRepositoryInterface as ProductBrand;
use QxCMS\Modules\Client\Repositories\Products\ProductCategoryRepositoryInterface as ProductCategory;

class ProductController extends Controller
{
	protected $product;
	protected $permission;
	protected $auth;
	protected $prefix_name = '';

	public function __construct(Permission $permission, Product $product, ProductBrand $productBrand, ProductCategory $productCategory)
	{
		$this->product = $product;
        $this->productBrand = $productBrand;
        $this->productCategory = $productCategory;

		$this->permission = $permission;
		$this->auth = Auth::guard('client');
		$this->prefix_name = config('modules.client');
        $this->getDetails($this->product->getModuleId());
	}

	public function permissions()
    {

        return $this->permission->getPermission($this->product->getModuleId());
    }

    public function index() 
    {
    	$this->authorize('activated', $this->permissions());
    	$data['permissions'] = $this->permissions();
        $data['userLogs'] = $this->product->getUserLogs($this->product->getModuleId());
        return view('Client::product.index', $data, $this->getFormOptions());    	
    }
    public function create()
    {
        $this->authorize('create', $this->permissions());        
        $data['permissions'] = $this->permissions();
        return view('Client::product.create', $data, $this->getFormOptions());
    }

    public function store(ProductRequest $request)
    {
        $this->authorize('create', $this->permissions());
        $product = $this->product->create($request); 
        session()->flash('success', 'Successfully added.');

        return redirect($this->prefix_name.'/products');
    }

    public function show($id)
    {
        //
    }

    public function edit($hashid)
    {
        $this->authorize('update', $this->permissions());
        $id = decode($hashid);
        $data['permissions'] = $this->permissions();
        $data['product'] = $this->product->findById($id);
        $data['userLogs'] = $this->product->getUserLogs($this->product->getModuleId(), $id);

        return view('Client::product.edit', $data, $this->getFormOptions());
    }

    public function update(ProductRequest $request, $hashid)
    {
        $this->authorize('update', $this->permissions());
        $id = decode($hashid);
        
        $product = $this->product->update($id, $request);
        return redirect($this->prefix_name.'/products');
    }

    public function destroy($hashid)
    {
        $this->authorize('delete', $this->permissions());
        $id = decode($hashid);
        return $this->product->delete($id); 
    }

  
    public function getProductData(Request $request)
    {
        $product = $this->product->select('*')->with('brand', 'category');

        $user = auth()->user();
        $permissions = $this->permissions();
        return Datatables::of($product)
            ->filter(function ($query) use ($request) {
                if ($request->has('name')) {
                    $query->where('name', 'like', "%{$request->get('name')}%");
                }
                if ($request->has('category_id')) {
                    $query->where('category_id', 'like', "%{$request->get('category_id')}%");
                }
                if ($request->has('brand_id')) {
                    $query->where('brand_id', 'like', "%{$request->get('brand_id')}%");
                }
            })
            ->editColumn('information', function($row) {
                if($row->category == null) $html = "<p><b>Category: </b>".'N/A'.'';
                else $html = "<p><b>Category: </b>".$row->category->name.'';

                if($row->brand == null) $html.= "<br><b>Brand: </b>".'N/A'.'';
                else $html.= "<br><b>Brand: </b>".$row->brand->name.'</p>';
                return $html;
            })
            ->addColumn('image', function ($product) use ($user){
                if($product->image <> ''){
                    return '<img src="'.Storage::disk($user->client->storage_type)->url($user->client->root_dir.'/products/'.$product->image).'" alt="Not available" width="75px" height="70px" style="border-radius: 50%;"/>';
                }else{
                    return 'Not Available';
                }
            })
            ->addColumn('others', function ($product) {
                $html = "<p><b>Price: </b>".$product->price."";
                $html.= "<br/><b>Year: </b>".$product->year."";
                $html.= "<br/><b>Status: </b>".$product->status."</p>";
                return $html;
            })
            ->addColumn('action', function ($product) use ($permissions){
                $html = '';
                if($this->auth->user()->can('update', $permissions)) {
                    $html .= '<a href="'.url('client').'/products/edit/'.$product->hashid.'"><button type="button" data-toggle="tooltip" title="Update" class="btn btn-warning btn-xs btn-flat edited"><span class="glyphicon glyphicon-pencil"></span></button></a>';
                }
                if($this->auth->user()->can('delete', $permissions)) {
                    $html .= '&nbsp;<button type="button" data-toggle="tooltip" title="Delete" class="btn btn-danger btn-xs btn-flat deleted" data-action="'.url('client').'/products/destroy/'.$product->hashid.'"><span class="glyphicon glyphicon-trash"></span></button>';
                }
                return $html;
            })
            ->make(true);
    }

    protected function getFormOptions()
    {
        $data['brand'] = $this->productBrand->productBrandList();
        $data['category'] = $this->productCategory->productCategoryList();
        $data['products'] = $this->product->all();
        $data['status'] = Array('Publish' => 'Publish', 'Draft' => 'Draft', 'Inactive' => 'Inactive');
        return $data;
    }

}PK�8]�~h��6Client/Controllers/Products/ProductBrandController.phpnu�Iw��<?php

namespace QxCMS\Modules\Client\Controllers\Products;

use Illuminate\Http\Request;
use QxCMS\Http\Controllers\Controller;
use Datatables;

use QxCMS\Modules\Client\Repositories\Products\ProductBrandRepositoryInterface as ProductBrand;

class ProductBrandController extends Controller
{

    public function __construct(ProductBrand $productBrand)
    {
        $this->productBrand = $productBrand;
    }

    public function store(Request $request)
    {        
        return $this->productBrand->create($request->all());
    }

    public function update(Request $request)
    {
        return $this->productBrand->update($request);
    }

    public function destroy($id)
    {
        return $this->productBrand->delete($id); 
    }

    public function getproductBrandData()
    {
        $productBrand = $this->productBrand->select(['*']);
        return Datatables::of($productBrand)
           ->addColumn('action', function($productBrand) {
                $html = '<a href="#edit" class="btn btn-xs btn-flat btn-warning btn-edit" data-id="'.$productBrand->id.'">
                        <i class="fa fa-pencil"></i>
                    </a>
                    <a href="#delete" class="btn btn-xs btn-flat btn-danger btn-delete" data-action="'.url('client').'/modals/brand/destroy/'.$productBrand->id.'" data-id="'.$productBrand->id.'">
                    <i class="fa fa-trash-o"></i>
                    </a>';
            return $html;
            })->make(true);
    }
}
PK�8]�>�$9Client/Controllers/Products/ProductCategoryController.phpnu�Iw��<?php

namespace QxCMS\Modules\Client\Controllers\Products;

use Illuminate\Http\Request;
use QxCMS\Http\Controllers\Controller;
use Datatables;

use QxCMS\Modules\Client\Repositories\Products\ProductCategoryRepositoryInterface as ProductCategory;

class ProductCategoryController extends Controller
{

    public function __construct(ProductCategory $productCategory)
    {
        $this->productCategory = $productCategory;
    }

    public function store(Request $request)
    {        
        return $this->productCategory->create($request->all());
    }

    public function update(Request $request)
    {
        return $this->productCategory->update($request);
    }

    public function destroy($id)
    {
        return $this->productCategory->delete($id); 
    }

    public function getproductCategoryData()
    {
        $productCategory = $this->productCategory->select(['*']);
        return Datatables::of($productCategory)
           ->addColumn('action', function($productCategory) {
                $html = '<a href="#edit" class="btn btn-xs btn-flat btn-warning btn-edit" data-id="'.$productCategory->id.'">
                        <i class="fa fa-pencil"></i>
                    </a>
                    <a href="#delete" class="btn btn-xs btn-flat btn-danger btn-delete" data-action="'.url('client').'/modals/category/destroy/'.$productCategory->id.'" data-id="'.$productCategory->id.'">
                    <i class="fa fa-trash-o"></i>
                    </a>';
            return $html;
            })->make(true);
    }
}
PK�8]����Client/Policies/RolePolicy.phpnu�Iw��<?php

namespace QxCMS\Modules\Client\Policies;

use QxCMS\Modules\Likod\Models\Clients\User;
use QxCMS\Modules\Client\Models\Settings\Roles\Permission;
use Illuminate\Auth\Access\HandlesAuthorization;

class RolePolicy
{
    use HandlesAuthorization;
    
    public function activated(User $user, Permission $permission)
    {
        return $permission->can_access;
    }

    public function create(User $user, Permission $permission)
    {

        return $permission->can_access == $permission->can_create;
    }

    public function update(User $user, Permission $permission)
    {
        return $permission->can_access == $permission->can_update;
    }

    public function delete(User $user, Permission $permission)
    {
        return $permission->can_access == $permission->can_delete;
    }

    public function export(User $user, Permission $permission)
    {
        return $permission->can_access == $permission->can_export;
    }

    public function import(User $user, Permission $permission)
    {
        return $permission->can_access == $permission->can_import;
    }

    public function prints(User $user, Permission $permission)
    {
        return $permission->can_access == $permission->can_print;
    }    
}PK�8]���3Client/Requests/Principals/ContactPersonRequest.phpnu�Iw��<?php

namespace QxCMS\Modules\Client\Requests\Principals;

use Illuminate\Foundation\Http\FormRequest;

class ContactPersonRequest extends FormRequest
{
    /**
     * Determine if the user is authorized to make this request.
     *
     * @return bool
     */
    public function authorize()
    {
        return true;
    }

    /**
     * Get the validation rules that apply to the request.
     *
     * @return array
     */
    public function rules()
    {
        return [
            'name'     => 'required|min:3|unique:client.principal_contact_persons,name,'.(($this->getId()) ? $this->getId():'NULL').',id,principal_id,'.decode($this->principal),
            'position' => 'required',
            'email'    => 'required|email',
            'contact' => 'required',
        ];
    }

    public function messages()
    {
        return [
        ];
    }

    public function getId()
    {
        return decode($this->contact_person);
    }
}PK�8]ê{��/Client/Requests/Principals/PrincipalRequest.phpnu�Iw��<?php

namespace QxCMS\Modules\Client\Requests\Principals;

use Illuminate\Foundation\Http\FormRequest;

class PrincipalRequest extends FormRequest
{
    /**
     * Determine if the user is authorized to make this request.
     *
     * @return bool
     */
    public function authorize()
    {
        return true;
    }

    /**
     * Get the validation rules that apply to the request.
     *
     * @return array
     */
    public function rules()
    {
        return [
            'name' => 'required|min:3|unique:client.principals,name,'.(($this->getId()) ? $this->getId():'NULL'),
            'address' => 'required',
            'email' => 'required|email|unique:client.principals,email,'.(($this->getId()) ? $this->getId():'NULL')
        ];
    }

    public function messages()
    {
        return [
           
        ];
    }

    public function getId()
    {
        return decode($this->principal);
    }
}PK�8]��G�jj*Client/Requests/Subject/SubjectRequest.phpnu�Iw��<?php

namespace QxCMS\Modules\Client\Requests\Subject;

use Illuminate\Foundation\Http\FormRequest;

class SubjectRequest extends FormRequest
{
    /**
     * Determine if the user is authorized to make this request.
     *
     * @return bool
     */
    public function authorize()
    {
        return true;
    }

    /**
     * Get the validation rules that apply to the request.
     *
     * @return array
     */
    public function rules()
    {
        $client = auth('client')->user()->client;
        $dateformat = $client->date_picker;
        $field_officer_assigned = $this->input('field_officer_assigned');
        $template_id = $this->input('template_id');
        $principal_id = $this->input('principal_id');
        return [
            'name' => 'required',
            'principal_id' => 'required',
            'template_id' => 'required',
            'field_officer_assigned' => 'required|unique:client.survey_subjects,field_officer_assigned,'.(($this->getId()) ? $this->getId():'NULL').',id,template_id,'.$template_id.',principal_id,'.$principal_id,
            'editor_assigned' => 'required',
            'interview_date' => 'required|date_format:'.$dateformat['php'],
            //'completion_date' => 'required|date_format:'.$dateformat['php'],

        ];
    }

    public function messages()
    {
        return [
            'name.required' => 'The <i>Subject Name</i> field is required.',
            'principal_id.required' => 'The <i>Client Assignment</> field is required.',
            'template_id.required' => 'The <i><em>Questionnaire Assigned</em></i> field is required.',
            'field_officer_assigned.required' => 'The <i><em>Field Officer Assigned</em></i> field is required.',
            'field_officer_assigned.unique' => 'This field officer is already assigned to same client and questionnaire.',
            'editor_assigned.required' => 'The <i><em>Editor Assigned</em></i> field is required.',
            'completion_date' => 'The <i><em>Interview Date Completion</em></i> field is required.'
        ];
    }


    public function getId()
    {
        return decode($this->subject);
    }
}PK�8]P>�0Client/Requests/JobOpening/JobOpeningRequest.phpnu�Iw��<?php

namespace QxCMS\Modules\Client\Requests\JobOpening;

use Input;
use Illuminate\Foundation\Http\FormRequest;

class JobOpeningRequest extends FormRequest
{
    /**
     * Determine if the user is authorized to make this request.
     *
     * @return bool
     */
    public function authorize()
    {
        return true;
    }

    /**
     * Get the validation rules that apply to the request.
     *
     * @return array
     */

    public function rules()
    {
        return [
            'position'     => 'required|min:3|unique:client.job_opening,position,'.($this->getId() ? $this->getId() : NULL).',id',
            'no_position' => 'required|numeric|min:1',
            'min_age' => 'numeric|min:1',
            'max_age' => 'numeric|greater_than_field:min_age|min:1',
            'opening_date' => 'required',
            'closing_date' => 'required|after:opening_date',
            'status' => 'required',
            'location' => 'required',
        ];
    }

    public function messages()
    {
        return [
            'position.required' => 'The position title field is required.',
            'no_position.required' => 'The no of applicant field is required.',
            'no_position.numeric' => 'The no of applicant must be a number.',
            'no_position.min' => 'The no of applicant field must be at least 1.',
            'max_age.greater_than_field' => 'The max age field must be greater than min age.',
        ];
    }

    public function getId()
    {
        return decode($this->job_opening);
    }
}PK�8])��8
8
+Client/Requests/Officers/OfficerRequest.phpnu�Iw��<?php

namespace QxCMS\Modules\Client\Requests\Officers;

use Illuminate\Foundation\Http\FormRequest;

class OfficerRequest extends FormRequest
{
    /**
     * Determine if the user is authorized to make this request.
     *
     * @return bool
     */
    public function authorize()
    {
        return true;
    }

    /**
     * Get the validation rules that apply to the request.
     *
     * @return array
     */
    public function rules()
    {
        $client = auth('client')->user()->client;
        $dateformat = $client->date_picker;
 
        if($this->getId()) {
            return [
                'name' => 'required',
                'access_type' => 'required',
                'email' => 'required|email|unique:qxcms.client_users,email,'.(($this->getId()) ? $this->getId():'NULL').',id,client_id,'.auth()->user()->client->id,
                'username' => 'required|unique:qxcms.client_users,username,'.(($this->getId()) ? $this->getId():'NULL').',id,client_id,'.auth()->user()->client->id,
                'status' => 'required',
                'password' => 'min:6',
                'password_confirmation' => 'required_with:password|same:password',
                'validity_date' => 'date_format:'.$dateformat['php'],
            ];
        } 

        return [
                'name' => 'required',
                'access_type' => 'required',
                'email' => 'required|email|unique:qxcms.client_users,email,'.(($this->getId()) ? $this->getId():'NULL').',id,client_id,'.auth()->user()->client->id,
                'username' => 'required|unique:qxcms.client_users,username,'.(($this->getId()) ? $this->getId():'NULL').',id,client_id,'.auth()->user()->client->id,
                'status' => 'required',
                'password' => 'required|min:6',
                'password_confirmation' => 'required|same:password',
                'validity_date' => 'date_format:'.$dateformat['php'],
            ];

    }

    public function messages()
    {
        return [
            'password_confirmation.required' => 'The re-type password field is required.',
            'password_confirmation.required_with' => 'The re-type password field is required when changing password.',
            'password_confirmation.same' => 'The re-type password and password must match.',
            //'validity_date.required' => 'The account period validity field is required.',
            'validity_date.date_format' => 'The account period validity date does not match the format :format.'
        ];
    }


    public function getId()
    {
        return decode($this->officer);
    }
}PK�8]N��Ғ�&Client/Requests/Pages/PagesRequest.phpnu�Iw��<?php

namespace QxCMS\Modules\Client\Requests\Pages;

use Illuminate\Foundation\Http\FormRequest;

class PagesRequest extends FormRequest
{
    /**
     * Determine if the user is authorized to make this request.
     *
     * @return bool
     */
    public function authorize()
    {
        return true;
    }

    /**
     * Get the validation rules that apply to the request.
     *
     * @return array
     */
    public function rules()
    {
        return [
            'title'     => 'required|min:3',
        ];
    }

    public function messages()
    {
        return [
            'title.required' => 'Title is required.',
        ];
    }
}PK�8]�K�~��(Client/Requests/Pages/AboutUsRequest.phpnu�Iw��<?php

namespace QxCMS\Modules\Client\Requests\Pages;

use Illuminate\Foundation\Http\FormRequest;

class AboutUsRequest extends FormRequest
{
    /**
     * Determine if the user is authorized to make this request.
     *
     * @return bool
     */
    public function authorize()
    {
        return true;
    }

    /**
     * Get the validation rules that apply to the request.
     *
     * @return array
     */
    public function rules()
    {
        return [
            'title'     => 'required',
            'content'     => 'required',
            'status'     => 'required',
        ];
    }

    public function messages()
    {
        return [
            // 'title.required' => 'The Question field is required.',
        ];
    }
}PK�8]��	��$Client/Requests/Pages/FAQRequest.phpnu�Iw��<?php

namespace QxCMS\Modules\Client\Requests\Pages;

use Illuminate\Foundation\Http\FormRequest;

class FAQRequest extends FormRequest
{
    /**
     * Determine if the user is authorized to make this request.
     *
     * @return bool
     */
    public function authorize()
    {
        return true;
    }

    /**
     * Get the validation rules that apply to the request.
     *
     * @return array
     */
    public function rules()
    {
        return [
            'title'     => 'required',
            'content'     => 'required',
            'status'     => 'required',
        ];
    }

    public function messages()
    {
        return [
            'title.required' => 'The Question field is required.',
        ];
    }
}PK�8]�X��*Client/Requests/Pages/ContactUsRequest.phpnu�Iw��<?php

namespace QxCMS\Modules\Client\Requests\Pages;

use Illuminate\Foundation\Http\FormRequest;

class ContactUsRequest extends FormRequest
{
    /**
     * Determine if the user is authorized to make this request.
     *
     * @return bool
     */
    public function authorize()
    {
        return true;
    }

    /**
     * Get the validation rules that apply to the request.
     *
     * @return array
     */
    public function rules()
    {
        return [
            'name'     => 'required',
            'email'     => 'required|email',
            'contact'     => 'required',
            'rec_street'     => 'required',
            'rec_city'     => 'required',
            // 'lat' => 'required',
            // 'lng' => 'required',
        ];
    }

    public function messages()
    {
        return [
            'contact.required' => 'The contact number field is required.',
            'rec_street.required' => 'The street field is required.',
            'rec_city.required' => 'The city field is required.',
            'lat.required' => 'The latitude field is required.',
            'lng.required' => 'The longitude field is required.',
        ];
    }
}PK�8]���D��(Client/Requests/Settings/RoleRequest.phpnu�Iw��<?php

namespace QxCMS\Modules\Client\Requests\Settings;

use Illuminate\Foundation\Http\FormRequest;

class RoleRequest extends FormRequest
{
    /**
     * Determine if the user is authorized to make this request.
     *
     * @return bool
     */
    public function authorize()
    {
        return true;
    }

    /**
     * Get the validation rules that apply to the request.
     *
     * @return array
     */
    public function rules()
    {
        return [
            'name' => 'required|min:3|unique:client.roles,name,'.($this->getId() ? $this->getId():NULL).',id',
            'display_name' => 'required|min:3'
        ];
    }

    public function getId()
    {
        return decode($this->role);
    }
}PK�8]`"�jj(Client/Requests/Settings/UserRequest.phpnu�Iw��<?php

namespace QxCMS\Modules\Client\Requests\Settings;

use Illuminate\Foundation\Http\FormRequest;

class UserRequest extends FormRequest
{
    /**
     * Determine if the user is authorized to make this request.
     *
     * @return bool
     */
    public function authorize()
    {
        return true;
    }

    /**
     * Get the validation rules that apply to the request.
     *
     * @return array
     */
    public function rules()
    {
        if($this->getId()) {
            return [
                'name' => 'required|min:3',
                'email' => 'required|email|unique:qxcms.client_users,email,'.(($this->getId()) ? $this->getId():'NULL').',id,client_id,'.auth('client')->user()->client->id,
                'role_id' => 'required',
                'password' => 'min:6',
                'password_confirmation' => 'required_with:password|min:6|same:password'
            ];
        }
        return [
            'name' => 'required|min:3',
            'email' => 'required|email|unique:qxcms.client_users,email,'.(($this->getId()) ? $this->getId():'NULL').',id,client_id,'.auth('client')->user()->client->id,
            'role_id' => 'required',
            'password' => 'required|min:6',
            'password_confirmation' => 'required|min:6|same:password'
        ];
    }

    public function getId()
    {
        return decode($this->user);
    }
}PK�8]��^���.Client/Requests/Directory/DirectoryRequest.phpnu�Iw��<?php

namespace QxCMS\Modules\Client\Requests\Directory;

use Illuminate\Foundation\Http\FormRequest;

class DirectoryRequest extends FormRequest
{
    /**
     * Determine if the user is authorized to make this request.
     *
     * @return bool
     */
    public function authorize()
    {
        return true;
    }

    /**
     * Get the validation rules that apply to the request.
     *
     * @return array
     */
    public function rules()
    {
        return [
            'name'     => 'required|min:3|unique:client.locations,name,'.($this->getId() ? $this->getId() : NULL).',id',
            'affiliate_id' => 'required_if:category,Directory',
            'tel_no' => 'required',
            'email'    => 'email',
            'street' => 'required_if:category,Directory',
            'barangay' => 'required_if:category,Directory',
            'province_id' => 'required_if:category,Directory',
            'zip_code' => 'numeric',
            'details' => 'required_if:category,Directory',
            'lat' => 'required',
            'lng' => 'required',
        ];
    }

    public function messages()
    {
        return [
            'name.required' => 'Name is required.',
            'tel_no.required' => 'Telephone number is required.',
            'affiliate_id.required_if' => 'Affiliate is required.',
            'street.required_if' => 'Street is required.',
            'barangay.required_if' => 'Barangay is required.',
            'province_id.required_if' => 'Province is required.',
            'lat.required' => 'Latitude is required.',
            'lng.required' => 'Longitude is required.',
        ];
    }

    public function getId()
    {
        return decode($this->id);
    }
}PK�8]�V���1Client/Requests/Questionnaire/TemplateRequest.phpnu�Iw��<?php

namespace QxCMS\Modules\Client\Requests\Questionnaire;

use Illuminate\Foundation\Http\FormRequest;

class TemplateRequest extends FormRequest
{
    /**
     * Determine if the user is authorized to make this request.
     *
     * @return bool
     */
    public function authorize()
    {
        return true;
    }

    /**
     * Get the validation rules that apply to the request.
     *
     * @return array
     */
    public function rules()
    {

        return [
            'title' => 'required',
            'description' => 'required'
        ];
    }

    public function getId()
    {
        return decode($this->questionnaire);
    }
}PK�8]�8�>

1Client/Requests/Questionnaire/QuestionRequest.phpnu�Iw��<?php

namespace QxCMS\Modules\Client\Requests\Questionnaire;

use Illuminate\Foundation\Http\FormRequest;

class QuestionRequest extends FormRequest
{
    /**
     * Determine if the user is authorized to make this request.
     *
     * @return bool
     */
    public function authorize()
    {
        return true;
    }

    /**
     * Get the validation rules that apply to the request.
     *
     * @return array
     */
    public function rules()
    {

        return [
            'title' => 'required',
            'name' => 'required',
        ];
    }

    public function messages()
    {
        return [
            'name.required' => 'This field is required.'
        ];
    }

    public function getId()
    {
        return decode($this->question);
    }
}PK�8]>ѱ||%Client/Requests/Posts/PostRequest.phpnu�Iw��<?php

namespace QxCMS\Modules\Client\Requests\Posts;

use Illuminate\Foundation\Http\FormRequest;

class PostRequest extends FormRequest
{
    /**
     * Determine if the user is authorized to make this request.
     *
     * @return bool
     */
    public function authorize()
    {
        return true;
    }

    /**
     * Get the validation rules that apply to the request.
     *
     * @return array
     */
    public function rules()
    {
        return [
            'title'     => 'required|min:3',
            'posts_category_id' => 'required',
            'expired_at' => 'after:published_at'
        ];
    }

    public function messages()
    {
        return [
            'title.required' => 'Title is required.',
            'posts_category_id.required' => 'Category is required.',
            'expired_at.after' => 'This must be after publish date.',
        ];
    }
}PK�8]MU3�+Client/Requests/Products/ProductRequest.phpnu�Iw��<?php

namespace QxCMS\Modules\Client\Requests\Products;

use Illuminate\Foundation\Http\FormRequest;

class ProductRequest extends FormRequest
{
    /**
     * Determine if the user is authorized to make this request.
     *
     * @return bool
     */
    public function authorize()
    {
        return true;
    }

    /**
     * Get the validation rules that apply to the request.
     *
     * @return array
     */
    public function rules()
    {
        return [
            'name'     => 'required|min:3|unique:client.products,name,'.($this->getId() ? $this->getId() : NULL).',id',
            'brand_id' => 'required',
            'category_id' => 'required',
            'price' => 'numeric',
            'year' => 'numeric',
            'details' => 'required',
            'image' => 'image',
        ];
    }

    public function messages()
    {
        return [
            'name.required' => 'Product name is required.',
            'brand_id.required' => 'Product Brand is required.',
            'category_id.required' => 'Product Category is required.',
            'details.required' => 'Details is required.',
            'image.image' => 'This must be an image.',
        ];
    }

    public function getId()
    {
        return decode($this->id);
    }
}PK�8]_ڙP"P"ClientServiceProvider.phpnu�Iw��<?php

namespace QxCMS\Modules;

use Illuminate\Routing\Router;
use Illuminate\Support\ServiceProvider;

class ClientServiceProvider extends ServiceProvider
{

    protected $namespace = 'QxCMS\Modules';

    /**
     * Bootstrap the application services.
     *
     * @return void
     */
    public function boot(Router $router)
    {
        $modules = config('modules.modules');
        array_filter($modules, function($module) use ($router){
            if($module=='Client')
            {
                $this->registerModuleRoute($router, $module);
                $this->registerModuleView($module);
            }
        });

        view()->composer(['Client::dashboard.*', 'Client::layouts'], function($view){
            if (auth('client')->check())
            {
                $permissions = $this->serializePermission(auth('client')->user()->permissions);
                $view->with('userPermissions', $permissions);
            }
        });
    }

    public function serializePermission($permissions){
        $results = array();
        foreach ($permissions as $k => $permission){
            $results[$permission->menu_id] =  array(
                'can_access' => $permission->can_access,
                'can_update' => $permission->can_update,
                'can_create' => $permission->can_create,
                'can_delete' => $permission->can_delete,
                'can_export' => $permission->can_export,
                'can_import' => $permission->can_import,
                'can_print' => $permission->can_print,
            );
        }
        return $results;
    }

    /**
     * Register the application services.
     *
     * @return void
     */
    public function register()
    {
        $this->setClientInterface();
        $this->mergeConfigFrom(
            __DIR__.'/tables.php', 'tables'
        );
        $this->mergeConfigFrom(
            config_path().'/account.php', 'account'
        );
    }

    public function registerModuleView($module)
    {
        return $this->loadViewsFrom(__DIR__."/$module/Views", $module);
    }

    public function registerModuleRoute($router, $module)
    {
        $router->group([
            'namespace' => $this->namespace.'\\'.$module.'\\'.'Controllers',
            'middleware' => 'web',
            'prefix' => strtolower($module)
        ], function ($router) use ($module) {
                require __DIR__."/$module/routes.php";
        });
    }
    
    public function setClientInterface()
    {
        $this->app->bind(
            \QxCMS\Modules\Client\Repositories\Settings\Roles\RoleRepositoryInterface::class,
            \QxCMS\Modules\Client\Repositories\Settings\Roles\RoleRepository::class
        );
        $this->app->bind(
            \QxCMS\Modules\Client\Repositories\Settings\Roles\PermissionRepositoryInterface::class,
            \QxCMS\Modules\Client\Repositories\Settings\Roles\PermissionRepository::class
        );
        $this->app->bind(
            \QxCMS\Modules\Client\Repositories\Settings\Users\UserRepositoryInterface::class,
            \QxCMS\Modules\Client\Repositories\Settings\Users\UserRepository::class
        );

        $this->app->bind(
            \QxCMS\Modules\Client\Repositories\Principals\PrincipalRepositoryInterface::class,
            \QxCMS\Modules\Client\Repositories\Principals\PrincipalRepository::class
        );

        $this->app->bind(
            \QxCMS\Modules\Client\Repositories\Principals\ContactPersonRepositoryInterface::class,
            \QxCMS\Modules\Client\Repositories\Principals\ContactPersonRepository::class
        );

        $this->app->bind(
            \QxCMS\Modules\Client\Repositories\Principals\ContactNumberRepositoryInterface::class,
            \QxCMS\Modules\Client\Repositories\Principals\ContactNumberRepository::class
        );

        $this->app->bind(
            \QxCMS\Modules\Client\Repositories\Questionnaire\TemplateRepositoryInterface::class,
            \QxCMS\Modules\Client\Repositories\Questionnaire\TemplateRepository::class
        );

        $this->app->bind(
            \QxCMS\Modules\Client\Repositories\Questionnaire\QuestionRepositoryInterface::class,
            \QxCMS\Modules\Client\Repositories\Questionnaire\QuestionRepository::class
        );

        $this->app->bind(
            \QxCMS\Modules\Client\Repositories\Questionnaire\AnswerRepositoryInterface::class,
            \QxCMS\Modules\Client\Repositories\Questionnaire\AnswerRepository::class
        );

        $this->app->bind(
            \QxCMS\Modules\Client\Repositories\Subject\SubjectRepositoryInterface::class,
            \QxCMS\Modules\Client\Repositories\Subject\SubjectRepository::class
        );

        $this->app->bind(
            \QxCMS\Modules\Client\Repositories\Officers\OfficerRepositoryInterface::class,
            \QxCMS\Modules\Client\Repositories\Officers\OfficerRepository::class
        );

        $this->app->bind(
            \QxCMS\Modules\Client\Repositories\Directory\DirectoriesRepositoryInterface::class,
            \QxCMS\Modules\Client\Repositories\Directory\DirectoriesRepository::class
        );

        $this->app->bind(
            \QxCMS\Modules\Client\Repositories\Directory\AffiliatesRepositoryInterface::class,
            \QxCMS\Modules\Client\Repositories\Directory\AffiliatesRepository::class
        );

        $this->app->bind(
            \QxCMS\Modules\Client\Repositories\Directory\SpecializationsRepositoryInterface::class,
            \QxCMS\Modules\Client\Repositories\Directory\SpecializationsRepository::class
        );

        $this->app->bind(
            \QxCMS\Modules\Client\Repositories\Directory\CitiesRepositoryInterface::class,
            \QxCMS\Modules\Client\Repositories\Directory\CitiesRepository::class
        );

        $this->app->bind(
            \QxCMS\Modules\Client\Repositories\Directory\MunicipalitiesRepositoryInterface::class,
            \QxCMS\Modules\Client\Repositories\Directory\MunicipalitiesRepository::class
        );

        $this->app->bind(
            \QxCMS\Modules\Client\Repositories\Directory\ProvincesRepositoryInterface::class,
            \QxCMS\Modules\Client\Repositories\Directory\ProvincesRepository::class
        );

        $this->app->bind(
            \QxCMS\Modules\Client\Repositories\Products\ProductRepositoryInterface::class,
            \QxCMS\Modules\Client\Repositories\Products\ProductRepository::class
        );

        $this->app->bind(
            \QxCMS\Modules\Client\Repositories\Products\ProductBrandRepositoryInterface::class,
            \QxCMS\Modules\Client\Repositories\Products\ProductBrandRepository::class
        );

        $this->app->bind(
            \QxCMS\Modules\Client\Repositories\Products\ProductCategoryRepositoryInterface::class,
            \QxCMS\Modules\Client\Repositories\Products\ProductCategoryRepository::class
        );

        $this->app->bind(
            \QxCMS\Modules\Client\Repositories\Posts\PostCategoryRepositoryInterface::class,
            \QxCMS\Modules\Client\Repositories\Posts\PostCategoryRepository::class
        );

        $this->app->bind(
            \QxCMS\Modules\Client\Repositories\Posts\PostsRepositoryInterface::class,
            \QxCMS\Modules\Client\Repositories\Posts\PostsRepository::class
        );

        $this->app->bind(
            \QxCMS\Modules\Client\Repositories\Pages\PagesRepositoryInterface::class,
            \QxCMS\Modules\Client\Repositories\Pages\PagesRepository::class
        );

        $this->app->bind(
            \QxCMS\Modules\Client\Repositories\Participants\ParticipantRepositoryInterface::class,
            \QxCMS\Modules\Client\Repositories\Participants\ParticipantRepository::class
        );

        $this->app->bind(
            \QxCMS\Modules\Client\Repositories\JobOpening\JobOpeningRepositoryInterface::class,
            \QxCMS\Modules\Client\Repositories\JobOpening\JobOpeningRepository::class
        );

        $this->app->bind(
            \QxCMS\Modules\Client\Repositories\Pages\FAQRepositoryInterface::class,
            \QxCMS\Modules\Client\Repositories\Pages\FAQRepository::class
        );

        $this->app->bind(
            \QxCMS\Modules\Client\Repositories\Pages\AboutUsRepositoryInterface::class,
            \QxCMS\Modules\Client\Repositories\Pages\AboutUsRepository::class
        );

        $this->app->bind(
            \QxCMS\Modules\Client\Repositories\Pages\ContactUsRepositoryInterface::class,
            \QxCMS\Modules\Client\Repositories\Pages\ContactUsRepository::class
        );

        $this->app->bind(
            \QxCMS\Modules\Client\Repositories\Applicants\ApplicantRepositoryInterface::class,
            \QxCMS\Modules\Client\Repositories\Applicants\ApplicantRepository::class
        );
    }
}
PK�8]��[M��ApiServiceProvider.phpnu�Iw��<?php

namespace QxCMS\Modules;

use Illuminate\Routing\Router;
use Illuminate\Support\ServiceProvider;

class ApiServiceProvider extends ServiceProvider
{

    protected $namespace = 'QxCMS\Modules';

    /**
     * Bootstrap the application services.
     *
     * @return void
     */
    public function boot(Router $router)
    {
        $modules = config('modules.modules');
        array_filter($modules, function($module) use ($router) {
            if(strtolower($module)=='api')
            {
                $this->registerModuleRoute($router, $module);
            }
        });
    }

    /**
     * Register the application services.
     *
     * @return void
     */
    public function register()
    {
        $this->mergeConfigFrom(
            __DIR__.'/tables.php', 'tables'
        );
    }

    public function registerModuleRoute($router, $module)
    {
        $router->group([
            'namespace' => $this->namespace.'\\'.$module.'\\'.'Controllers',
            'middleware' => 'cors',
            'prefix' => strtolower($module)
        ], function ($router) use ($module) {
                require __DIR__."/$module/routes.php";
        });
    }
    
}
PK�8]u@�ú�Api/Middleware/Cors.phpnu�Iw��<?php

namespace QxCMS\Modules\Api\Middleware;

use Closure;
use Config;

class Cors
{
    /**
     * Handle an incoming request.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Closure  $next
     * @return mixed
     */
    public function handle($request, Closure $next)
    {
        Config::set('database.connections.client', array(
            'driver'    => 'mysql',
            'host'      => env('API_DB_HOST'),
            'database'  => env('API_DB_DATABASE'),
            'username'  => env('API_DB_USERNAME'),
            'password'  => env('API_DB_PASSWORD'),
            'charset'   => 'utf8',
            'collation' => 'utf8_unicode_ci',
            'prefix'    => '',
        ));
        config(['account.dateformat.default' => 1]);
        config(['account.displaydateformat.default' => 2]);
        return $next($request)
            //->header('Access-Control-Allow-Credentials', true)
            ->header('Access-Control-Allow-Origin' , '*')
            ->header('Access-Control-Allow-Methods', 'POST, GET, OPTIONS, PUT, DELETE')
            ->header('Access-Control-Allow-Headers', 'Content-Type, Accept, Authorization, X-Requested-With');
            
    }
}
PK�8]_�BL��Api/routes.phpnu�Iw��<?php

//Route::group(['middleware' => 'cors'], function(){
    Route::post('post-login', ['api.post-login','uses' => 'LoginController@postLogin']);
    Route::get('connect', ['api.post-login','uses' => 'LoginController@connect']);
    Route::post('save-profile', ['api.save-profile','uses' => 'ProfileController@saveProfile']);
    Route::post('upload-picture', ['api.upload-picture','uses' => 'ProfileController@uploadPicture']);
    Route::get('get-subject', ['api.get-subject','uses' => 'SubjectController@getSubject']);
    Route::get('get-questionnaire', ['api.get-questionnaire','uses' => 'QuestionnaireController@getQuestionnaire']);
    Route::get('get-job-opening', ['api.get-job-opening','uses' => 'JobOpeningController@getJobOpening']);

    //App - Pages
    Route::get('get-faq-page', ['api.get-faq-page','uses' => 'PagesController@getFAQ']);
    Route::get('get-about-us-page', ['api.get-about-us-page','uses' => 'PagesController@getAboutUs']);
    Route::get('get-contact-us-page', ['api.get-contact-us-page','uses' => 'PagesController@getContactUs']);
    //Applicant
    Route::post('save-applicant', ['as' => 'api.save-applicant', 'uses' => 'ApplicantController@saveApplicant']);
    Route::post('save-job-applied', ['as' => 'api.save-job-applied', 'uses' => 'ApplicantController@saveJobApplied']);

    Route::get('save-participant', ['as' => 'api.save-participant', 'uses' => 'ParticipantController@saveParticipant']);
//});PK�8]��>��%Api/Controllers/SubjectController.phpnu�Iw��<?php

namespace QxCMS\Modules\Api\Controllers;

use Illuminate\Http\Request;

use QxCMS\Http\Controllers\Controller;
use QxCMS\Modules\Client\Repositories\Subject\SubjectRepositoryInterface as Subject;
use Auth;
use \Carbon\Carbon;

class SubjectController extends Controller
{
	protected $subject;


	public function __construct(Subject $subject)
	{
		$this->subject = $subject;
	}

    public function getSubject(Request $request)
    {

        $subjects = $this->subject->apiGetSubject($request->all());
        $responses = array();
        foreach ($subjects as $subject_key => $subject) {
            $responses[] =   array(
                                'original_id'            => $subject->id,
                                'name'                   => $subject->name,
                                'principal_id'           => $subject->principal_id,
                                'template_id'            => $subject->template_id,
                                'field_officer_assigned' => $subject->field_officer_assigned,
                                'editor_assigned'        => $subject->editor_assigned,
                                'interview_date'         => Carbon::parse($subject->interview_date)->format('Y-m-d'),
                                'completion_date'        => Carbon::parse($subject->completion_date)->format('Y-m-d'),
                            );
        }

        return response()->json($responses)->withCallback($request->input('callback'));
    }
}PK�8]G ��PP#Api/Controllers/PagesController.phpnu�Iw��<?php

namespace QxCMS\Modules\Api\Controllers;

use Auth;
use Carbon\Carbon;

use Illuminate\Http\Request;
use QxCMS\Http\Controllers\Controller;

use QxCMS\Modules\Client\Repositories\Pages\FAQRepositoryInterface as FAQ;
use QxCMS\Modules\Client\Repositories\Pages\AboutUsRepositoryInterface as AboutUs;
use QxCMS\Modules\Client\Repositories\Pages\ContactUsRepositoryInterface as ContactUs;

class PagesController extends Controller
{
	protected $faq;
    protected $about_us;
    protected $contact_us;

	public function __construct(FAQ $faq, AboutUs $about_us, ContactUs $contact_us)
	{
		$this->faq = $faq;
        $this->about_us = $about_us;
        $this->contact_us = $contact_us;
	}

    public function getFAQ(Request $request)
    {
        $faqs = $this->faq->apiGetFAQ($request->all());
        $responses = array();
        foreach ($faqs as $key => $faq) {
            $responses[] =   array(
                                'id'                     => $faq->id,
                                'question'               => $faq->title,
                                'answer'                 => $faq->content,
                                'status'                 => $faq->status,
                                'slug'                   => $faq->slug,
                            );
        }
        return response()->json($responses)->withCallback($request->input('callback'));
    }

    public function getAboutUs(Request $request)
    {
        $abouts = $this->about_us->apiGetAboutUs($request->all());
        $responses = array();
        foreach ($abouts as $key => $about_us) {
            $responses[] =   array(
                                'id'                     => $about_us->id,
                                'title'                  => $about_us->title,
                                'content'                => $about_us->content,
                                'status'                 => $about_us->status,
                                'slug'                   => $about_us->slug,
                            );
        }
        return response()->json($responses)->withCallback($request->input('callback'));
    }

    public function getContactUs(Request $request)
    {
        $contacts = $this->contact_us->apiGetContactUs($request->all());
        $responses = array();
        foreach ($contacts as $key => $contact_us) {
            $responses[] =  array(
                                'id'                        => $contact_us->id,
                                'name'                      => $contact_us->name,
                                'email'                     => $contact_us->email,
                                'contact'                   => $contact_us->contact,
                                'building_name'             => $contact_us->building_name,
                                'building_floor'            => $contact_us->building_floor,
                                'number'                    => $contact_us->rec_number,
                                'street'                    => $contact_us->rec_street,
                                'city'                      => $contact_us->rec_city,
                                'building'                  => $contact_us->building_floor.($contact_us->building_floor && $contact_us->building_name ? ', ' : '').$contact_us->building_name,
                                'recruitment_address'       => $contact_us->rec_number.' '.$contact_us->rec_street.', '.$contact_us->rec_city,
                            );
        }
        return response()->json($responses)->withCallback($request->input('callback'));
    }
}PK�8]��Յuu(Api/Controllers/JobOpeningController.phpnu�Iw��<?php

namespace QxCMS\Modules\Api\Controllers;

use Auth;
use Carbon\Carbon;

use Illuminate\Http\Request;
use QxCMS\Http\Controllers\Controller;

use QxCMS\Modules\Client\Repositories\JobOpening\JobOpeningRepositoryInterface as JobOpening;

class JobOpeningController extends Controller
{
	protected $job_opening;


	public function __construct(JobOpening $job_opening)
	{
		$this->job_opening = $job_opening;
	}

    public function getJobOpening(Request $request)
    {

        $job_openings = $this->job_opening->apiGetJobOpening($request->all());
        $responses = array();
        foreach ($job_openings as $job_key => $job_opening) {
            $responses[] =   array(
                                'id'                     => $job_opening->id,
                                'type_questionnaire'     => $job_opening->type_questionnaire,
                                'position'               => $job_opening->position,
                                'no_position'            => $job_opening->no_position,
                                'proposed_salary'        => $job_opening->proposed_salary,
                                'gender'                 => $job_opening->gender,
                                'min_age'                => $job_opening->min_age,
                                'max_age'                => $job_opening->max_age,
                                'opening_date'           => Carbon::parse($job_opening->opening_date)->format('F d, Y'),
                                'closing_date'           => Carbon::parse($job_opening->closing_date)->format('F d, Y'),
                                'location'               => $job_opening->location,
                                'country'                => $job_opening->country->name,
                                'status'                 => $job_opening->status,
                                'job_details'            => $job_opening->job_details,
                                'slug'                   => $job_opening->slug,
                            );
        }

        return response()->json($responses)->withCallback($request->input('callback'));
    }
}PK�8]���Iaa'Api/Controllers/ApplicantController.phpnu�Iw��<?php

namespace QxCMS\Modules\Api\Controllers;

use Auth;
use \Carbon\Carbon;
use Illuminate\Http\Request;

use QxCMS\Http\Controllers\Controller;
use QxCMS\Modules\Client\Models\Applicants\Applicant as Applicant;
use QxCMS\Modules\Client\Models\Applicants\JobApplied as JobApplied;

class ApplicantController extends Controller
{
    protected $applicant;
    protected $job_applied;

	public function __construct(Applicant $applicant, JobApplied $job_applied)
	{
		$this->applicant = $applicant;
        $this->job_applied = $job_applied;
	}

    public function saveApplicant(Request $request)
    {
        $applicant_input = array(
            'first_name'            => 'Sample First Name',
            'middle_name'           => 'Sample Middle Name',
            'last_name'             => 'Sample Last Name',
            'mobile_number'         => '09222222222',
            'email'                 => 'sample@only.com',
            'school'                => 'Sample College',
            'college_degree'        => 'Bachelor Degree',
            'company'               => 'Sample Company',
            'position'              => 'Sample Position',
            'yrs_exp'               => '3',
            'work_location'         => 'Quezon City',
        );

        $applicant = $this->applicant->create($applicant_input);
    
        return response()->json($applicant_input)->withCallback($request->input('callback'));
    }

    public function saveJobApplied(Request $request)
    {
        $job_applied_input = array(
            'applicant_id'          => '1',
            'job_id'                => '1',
            'apply_date'            => Carbon::now()->toDateString(),
        );
        
        $job_applied = $this->job_applied->create($job_applied_input);

        return response()->json($job_applied_input)->withCallback($request->input('callback'));
    }
}PK�8]~�C�ss#Api/Controllers/LoginController.phpnu�Iw��<?php

namespace QxCMS\Modules\Api\Controllers;

use Illuminate\Http\Request;

use QxCMS\Http\Controllers\Controller;
use QxCMS\Modules\Client\Repositories\Settings\Users\UserRepositoryInterface as User;
use Auth;
class LoginController extends Controller
{
	protected $user;


	public function __construct(User $user)
	{
		$this->user = $user;
	}

    public function postLogin(Request $request)
    {
        $user = array();
        if (Auth::guard('client')->attempt(['email' => $request->get('email'), 'password' => $request->get('password'), 'access_type' => config('role.field_officer')])) {
            $user_login = auth('client')->user();
            $user = array(
                    'client_id'             => $user_login->client_id,
                    'id'                    => $user_login->id,
                    'email'                 => $user_login->email,
                    'name'                  => $user_login->name,
                    'photo'                 => $user_login->photo,
                    'username'              => $user_login->username,
                    'position'              => $user_login->position,
                );
        }

        Auth::guard('client')->logout();
        return $user;
    }

    public function connect(Request $request)
    {
        return response()->json([
                'connected' => true
            ]);
    }
}PK�8]�dV"��%Api/Controllers/ProfileController.phpnu�Iw��<?php

namespace QxCMS\Modules\Api\Controllers;

use Illuminate\Http\Request;

use QxCMS\Http\Controllers\Controller;
use QxCMS\Modules\Client\Repositories\Settings\Users\UserRepositoryInterface as User;
use Auth;


class ProfileController extends Controller
{
	protected $user;


	public function __construct(User $user)
	{
		$this->user = $user;
	}

    public function saveProfile(Request $request)
    {
        $user = $this->user->findById($request->get('id'));
        if(!empty($user)) {
            $user->name = $request->get('name');
            $user->photo = $request->get('photo');
            $user->position = $request->get('position');
            $user->save();
        }
        return $request->all();
    }

    public function uploadPicture(Request $request)
    {
        $filename =  $request->file('file')->getClientOriginalName();
        $path = $request->file('file')->storeAs(
            'avatars', $filename , 'public'
        );   
    }
}PK�8]�u	�yy+Api/Controllers/QuestionnaireController.phpnu�Iw��<?php

namespace QxCMS\Modules\Api\Controllers;

use Illuminate\Http\Request;

use QxCMS\Http\Controllers\Controller;
use QxCMS\Modules\Client\Repositories\Questionnaire\QuestionRepositoryInterface as Question;
use QxCMS\Modules\Client\Repositories\Questionnaire\TemplateRepositoryInterface as Template;
use Auth;
use \Carbon\Carbon;

class QuestionnaireController extends Controller
{
    protected $question;
	protected $template;


	public function __construct(Question $question, Template $template)
	{
		$this->question = $question;
        $this->template = $template;
	}

    public function getQuestionnaire(Request $request)
    {


        $types = $this->question->getTypes();

        $template = $this->template->apiGetQuestionnaire($request->all());
        $responses = array();
        $responses['title']  = $template->title;
        /*$responses['pages'] = array();*/
        foreach ($template->questions as $question_key => $question) {

            $type = (($question->multiple_select == true) ? 3:$question->question_type);
            $choices = array();
            if($type == 2 || $type == 3)
            {
                foreach ($question->answers as $answer_key => $answer) {
                    
                    $choices[] =  array('value' => "$answer->id", 'text' => $answer->name);
                }
            }


            $responses['pages'][$question_key] =  array(
                                            'name' => 'page'.$question->id,
                                            'questions' =>  array(array(
                                                'type' => $types[$type],
                                                'name' => 'question'.$question->id,
                                                'title' => $question->title,
                                                'choices' => $choices,
                                                'isRequired' => ($question->required == true) ? true:false
                                            ))
                                        );

        }

        return response()->json($responses)->withCallback($request->input('callback'));
    }
}PK�8]�;$��
�
)Api/Controllers/ParticipantController.phpnu�Iw��<?php

namespace QxCMS\Modules\Api\Controllers;

use Illuminate\Http\Request;

use QxCMS\Http\Controllers\Controller;
/*use QxCMS\Modules\Client\Repositories\Participants\AnswersRepositoryInterface as Answer;*/
use QxCMS\Modules\Client\Repositories\Questionnaire\QuestionRepositoryInterface as Question;
use QxCMS\Modules\Client\Repositories\Participants\ParticipantRepositoryInterface as Participant;
use Auth;
use \Carbon\Carbon;

class ParticipantController extends Controller
{
    protected $participant;
    protected $question;

	public function __construct(Participant $participant, Question $question)
	{
		$this->participant = $participant;
        $this->question = $question;
	}

    public function saveParticipant(Request $request)
    {
        $location = $request->get('pos');
        $participant_input = array(
            'email' => 'danilo@quantumx.com',
            'name' => 'Danilo R. Dela Cruz',
            'template_id' => $request->get('template_id'),
            'loc_lat' => $location['loc_lat'],
            'loc_long' => $location['loc_long']
        );

        $participant = $this->participant->create($participant_input);
        
        $answers = $request->get('answers');
        $types = $this->question->getTypes();
        $str = 'question';
        $answers_input = [];
        foreach ($answers as $answer_key => $answer) {
            if(starts_with($answer_key, $str)) {
                $question_id = str_replace($str, '', $answer_key);
                $answers_input['question_id'] = $question_id;
                if(!empty($question_id)) {

                    $question = $this->question->findById($question_id);
                    if(!empty($question)) {
                        $type = $question->question_type;
                        if($type == 2 || $type == 3) {
                            if(is_array($answer)) {
                                foreach ($answer as $ans_key => $ans_val) {
                                    $answers_input['answer_id'] = $ans_val;
                                    $participant->answers()->create($answers_input);
                                }
                                continue;
                            }

                            $answers_input['answer_id'] = $answer;
                        }

                        if($type == 1) { 
                            $answers_input['answer'] = $answer;
                        }
                    }

                    $participant->answers()->create($answers_input);
                }
            }
            unset($answers_input);
        }

        return $this->participant->select(['*'])->with(['answers'])->get();
    
        return response()->json($responses)->withCallback($request->input('callback'));
    }
}PK�8]Kiosk/routes.phpnu�Iw��PK�8]���ac
c
AbstractRepository.phpnu�Iw��<?php

namespace QxCMS\Modules;

abstract class AbstractRepository
{
    public function findById($id)
    {
        return $this->model->findOrFail($id);
    }

    public function select($columns = ['*'])
    {
       return $this->model->select($columns);
    }

    public function all()
    {
        return $this->model->all();
    }

    public function where($column, $operator = null, $value = null, $boolean = 'and')
    {
        return $this->model->where($column, $operator, $value, $boolean);
    }

    public function lists($name = 'name', $id = '', $orderBy = array('name', 'asc'))
    {
        if($id != '') return $this->model->orderBy($orderBy[0], $orderBy[1])->lists($name, $id)->all();
        else return $this->model->orderBy($orderBy[0], $orderBy[1])->lists($name)->all();
    }

    public function pluck($name = 'name', $id = '')
    {
        if($id != '') return $this->model->pluck($name, $id);
        else return $this->model->pluck($name);
    }

    public function with($eagers = '')
    {
        return $this->model->with($eagers);
    }

    public function getAjaxResponse($type, $message)
    {
        return  response(
            array('message'=>$message,'type'=>$type)
        )->header('Content-Type', 'application/json');
    }

    public function getModuleId()
    {
        return $this->model->module_id;
    }

    public function setConfig($client)
    {
        \Config::set('database.connections.client', array(
            'driver'    => 'mysql',
            'host'      => $client->database_host,
            'database'  => env('DB_PREFIX', 'qxcms_').$client->database_name,
            'username'  => $client->database_username,
            'password'  => $client->database_password,
            'charset'   => 'utf8',
            'collation' => 'utf8_unicode_ci',
            'prefix'    => '',
        ));
        return config('database.connections.client');
    }

    public function getUserLogs($module_id, $id = null, $sub_menu = null)
    {
        if(($id == null) && ($sub_menu == null)) return $this->log->where('module_id', $module_id)->latest()->take(3)->with('user')->get();
        else if($sub_menu == null) return $this->log->where('module_id', $module_id)->where('data_id', $id)->where('sub_menu', '')->latest()->take(3)->with('user')->get();
        else if(($id == null) && ($sub_menu != null)) return $this->log->where('module_id', $module_id)->where('sub_menu', $sub_menu)->latest()->take(3)->with('user')->get();
        else return $this->log->where('module_id', $module_id)->where('data_id', $id)->where('sub_menu', $sub_menu)->latest()->take(3)->with('user')->get();
    }
}PK�8]R�ܖ||LikodServiceProvider.phpnu�Iw��<?php

namespace QxCMS\Modules;

use Illuminate\Routing\Router;
use Illuminate\Support\ServiceProvider;

class LikodServiceProvider extends ServiceProvider
{

    protected $namespace = 'QxCMS\Modules';

    /**
     * Bootstrap the application services.
     *
     * @return void
     */
    public function boot(Router $router)
    {
        $modules = config('modules.modules');
        array_filter($modules, function($module) use ($router) {
            if($module=='Likod')
            {
                $this->registerModuleRoute($router, $module);
                $this->registerModuleView($module);
            }
        });
        /*\DB::listen(function($sql) {
            var_dump($sql);
        });*/
    }

    /**
     * Register the application services.
     *
     * @return void
     */
    public function register()
    {
        $this->setLikodInterface();
        $this->mergeConfigFrom(
            __DIR__.'/tables.php', 'tables'
        );
    }

    public function registerModuleView($module)
    {
        return $this->loadViewsFrom(__DIR__."/$module/Views", $module);
    }

    public function registerModuleRoute($router, $module)
    {
        $router->group([
            'namespace' => $this->namespace.'\\'.$module.'\\'.'Controllers',
            'middleware' => 'web',
            'prefix' => strtolower($module)
        ], function ($router) use ($module) {
                require __DIR__."/$module/routes.php";
        });
    }

    public function setLikodInterface()
    {
        $this->app->bind(
            \QxCMS\Modules\Likod\Repositories\Settings\Roles\RoleRepositoryInterface::class,
            \QxCMS\Modules\Likod\Repositories\Settings\Roles\RoleRepository::class
        );
        $this->app->bind(
            \QxCMS\Modules\Likod\Repositories\Settings\Users\UserRepositoryInterface::class,
            \QxCMS\Modules\Likod\Repositories\Settings\Users\UserRepository::class
        );
        $this->app->bind(
            \QxCMS\Modules\Likod\Repositories\Clients\Clients\ClientRepositoryInterface::class,
            \QxCMS\Modules\Likod\Repositories\Clients\Clients\ClientRepository::class
        );
    }
}
PK�8]�	�::$Employer/Middleware/Authenticate.phpnu�Iw��<?php

namespace QxCMS\Modules\Employer\Middleware;

use Closure;
use Config;
use Illuminate\Support\Facades\Auth;
use QxCMS\Modules\Likod\Models\Clients\Client;

class Authenticate
{
    /**
     * Handle an incoming request.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Closure  $next
     * @param  string|null  $guard
     * @return mixed
     */
    public function handle($request, Closure $next, $guard = 'employer')
    {
        $root_dir = strtolower(session('root_dir'));
        $new_root_dir = strtolower($request->segment(2));
        if($root_dir == '')  {
            $root_dir = $new_root_dir;
            session(['root_dir' => $root_dir]);
        }
        if($root_dir != $new_root_dir) return redirect()->route('employer.logout', $root_dir);
        $client = new Client;
        $config = $client->where('root_dir', $root_dir)->get()->first();
        if(count($config) <= 0) return response()->view('errors.404', [], 500);

        config(['auth.defaults.guard' => $guard]);
        Config::set('database.connections.client', array(
            'driver'    => 'mysql',
            'host'      =>  $config->database_host,
            'database'  => 'myradh_'. $config->database_name,
            'username'  =>  $config->database_username,
            'password'  =>  $config->database_password,
            'charset'   => 'utf8',
            'collation' => 'utf8_unicode_ci',
            'prefix'    => '',
        ));
        Config::set('filesystems.disks.s3', array(
            'driver' => 's3',
            'key'    =>  $config->s3_key,
            'secret' =>  $config->s3_secret,
            'region' =>  $config->s3_region,
            'bucket' =>  $config->s3_bucket_name,
            'scheme' => 'http',
        ));

        if (Auth::guard($guard)->guest()) {
            if ($request->ajax() || $request->wantsJson()) {
                return response('Unauthorized.', 401);
            } else {
                return redirect()->guest('employer/'.$new_root_dir.'/auth/login');
            }
        }
        return $next($request);
    }
}PK�8]&�m��/Employer/Middleware/RedirectIfAuthenticated.phpnu�Iw��<?php

namespace QxCMS\Modules\Employer\Middleware;

use Closure;
use Config;
use Illuminate\Support\Facades\Auth;
use QxCMS\Modules\Likod\Models\Clients\Client;

class RedirectIfAuthenticated
{
    /**
     * Handle an incoming request.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Closure  $next
     * @param  string|null  $guard
     * @return mixed
     */
    public function handle($request, Closure $next, $guard = 'employer')
    {
        $root_dir = strtolower($request->segment(2));
        session(['root_dir' => $root_dir]);
        if($root_dir == '')  return response()->view('errors.404', [], 500);
        $client = new Client;
        $config = $client->where('root_dir', $root_dir)->get()->first();
        if(count($config) <= 0) return response()->view('errors.404', [], 500);

        config(['auth.defaults.guard' => $guard]);
        Config::set('database.connections.client', array(
            'driver'    => 'mysql',
            'host'      =>  $config->database_host,
            'database'  => 'myradh_'. $config->database_name,
            'username'  =>  $config->database_username,
            'password'  =>  $config->database_password,
            'charset'   => 'utf8',
            'collation' => 'utf8_unicode_ci',
            'prefix'    => '',
        ));
        Config::set('filesystems.disks.s3', array(
            'driver' => 's3',
            'key'    =>  $config->s3_key,
            'secret' =>  $config->s3_secret,
            'region' =>  $config->s3_region,
            'bucket' =>  $config->s3_bucket_name,
            'scheme' => 'http',
        ));

        if (Auth::guard($guard)->check()) {
            $request->setUserResolver(function () use ($guard) {
                return Auth::guard($guard)->user();
            });
            return redirect('employer/'.$root_dir.'/dashboard');
        }
        return $next($request);
    }
}PK�8]_�BB Employer/Views/message.blade.phpnu�Iw��<div id="message-wrapper">
    @if(session('logout'))
        <div class="alert alert-success alert-dismissable fade in" style="padding-top: 4px;padding-bottom: 4px; padding-right: 29px; padding-left: 10px;">
            <button type="button" class="close" data-dismiss="alert" aria-hidden="true">&times;</button>
            <i class="fa fa-check"></i>&nbsp;
            {{ session('logout') }}
        </div>
    @endif
    @if(session('error_logout'))
        <div class="alert alert-danger alert-dismissable fade in" style="padding-top: 4px;padding-bottom: 4px; padding-right: 29px; padding-left: 10px;">
            <button type="button" class="close" data-dismiss="alert" aria-hidden="true">&times;</button>
            <i class="fa fa-times"></i>&nbsp;
            {{ session('error_logout') }}
        </div>
    @endif
</div>PK�8]n>]�X
X
,Employer/Views/dashboard/dashboard.blade.phpnu�Iw��@extends('Employer::layouts')
@section('page-body')
	<!-- Content Header (Page header) -->
    <section class="content-header">
        <h1>
            Dashboard
            <small>Control panel</small>
        </h1>
        <ol class="breadcrumb">
            <li><a href="#"><i class="fa fa-dashboard"></i> Home</a></li>
            <li class="active">Dashboard</li>
        </ol>
    </section>
    <!-- Main content -->
    <section class="content">
    	<div class="row">
            <div class="col-lg-3 col-xs-6">
                <!-- small box -->
                <div class="small-box bg-aqua">
                    <div class="inner">
                        <h3>
                            1
                        </h3>
                        <p>
                            Total Users
                        </p>
                    </div>
                    <div class="icon">
                        <i class="ion ion-android-social-user"></i>
                    </div>
                    <a href="#" class="small-box-footer">
                        More info <i class="fa fa-arrow-circle-right"></i>
                    </a>
                </div>
            </div><!-- ./col -->
            <div class="col-lg-3 col-xs-6">
                <!-- small box -->
                <div class="small-box bg-green">
                    <div class="inner">
                        <h3>
                            1
                        </h3>
                        <p>
                            Total Principals
                        </p>
                    </div>
                    <div class="icon">
                        <i class="ion ion-android-contacts"></i>
                    </div>
                    <a href="#" class="small-box-footer">
                        More info <i class="fa fa-arrow-circle-right"></i>
                    </a>
                </div>
            </div><!-- ./col -->
            <div class="col-lg-3 col-xs-6">
                <!-- small box -->
                <div class="small-box bg-yellow">
                    <div class="inner">
                        <h3>
                            1
                        </h3>
                        <p>
                            Total Applicants
                        </p>
                    </div>
                    <div class="icon">
                        <i class="ion ion-android-friends"></i>
                    </div>
                    <a href="#" class="small-box-footer">
                        More info <i class="fa fa-arrow-circle-right"></i>
                    </a>
                </div>
            </div><!-- ./col -->
            <div class="col-lg-3 col-xs-6">
                <!-- small box -->
                <div class="small-box bg-red">
                    <div class="inner">
                        <h3>
                            1
                        </h3>
                        <p>
                            -
                        </p>
                    </div>
                    <div class="icon">
                        <i class="ion ion-android-contact"></i>
                    </div>
                    <a href="#" class="small-box-footer">
                        More info <i class="fa fa-arrow-circle-right"></i>
                    </a>
                </div>
            </div><!-- ./col -->
        </div>
    </section>
@stopPK�8]��G��-Employer/Views/auth/emails/password.blade.phpnu�Iw��Click here to reset your password: <a href="{{ $link = url('password/reset', $token).'?email='.urlencode($user->getEmailForPasswordReset()) }}"> {{ $link }} </a>
PK�8]��B@��&Employer/Views/auth/register.blade.phpnu�Iw��@extends('Client::layouts.app')

@section('content')
<div class="container">
    <div class="row">
        <div class="col-md-8 col-md-offset-2">
            <div class="panel panel-default">
                <div class="panel-heading">Register</div>
                <div class="panel-body">
                    <form class="form-horizontal" role="form" method="POST" action="{{ url('/register') }}">
                        {!! csrf_field() !!}

                        <div class="form-group{{ $errors->has('name') ? ' has-error' : '' }}">
                            <label class="col-md-4 control-label">Name</label>

                            <div class="col-md-6">
                                <input type="text" class="form-control" name="name" value="{{ old('name') }}">

                                @if ($errors->has('name'))
                                    <span class="help-block">
                                        <strong>{{ $errors->first('name') }}</strong>
                                    </span>
                                @endif
                            </div>
                        </div>

                        <div class="form-group{{ $errors->has('email') ? ' has-error' : '' }}">
                            <label class="col-md-4 control-label">E-Mail Address</label>

                            <div class="col-md-6">
                                <input type="email" class="form-control" name="email" value="{{ old('email') }}">

                                @if ($errors->has('email'))
                                    <span class="help-block">
                                        <strong>{{ $errors->first('email') }}</strong>
                                    </span>
                                @endif
                            </div>
                        </div>

                        <div class="form-group{{ $errors->has('password') ? ' has-error' : '' }}">
                            <label class="col-md-4 control-label">Password</label>

                            <div class="col-md-6">
                                <input type="password" class="form-control" name="password">

                                @if ($errors->has('password'))
                                    <span class="help-block">
                                        <strong>{{ $errors->first('password') }}</strong>
                                    </span>
                                @endif
                            </div>
                        </div>

                        <div class="form-group{{ $errors->has('password_confirmation') ? ' has-error' : '' }}">
                            <label class="col-md-4 control-label">Confirm Password</label>

                            <div class="col-md-6">
                                <input type="password" class="form-control" name="password_confirmation">

                                @if ($errors->has('password_confirmation'))
                                    <span class="help-block">
                                        <strong>{{ $errors->first('password_confirmation') }}</strong>
                                    </span>
                                @endif
                            </div>
                        </div>

                        <div class="form-group">
                            <div class="col-md-6 col-md-offset-4">
                                <button type="submit" class="btn btn-primary">
                                    <i class="fa fa-btn fa-user"></i>Register
                                </button>
                            </div>
                        </div>
                    </form>
                </div>
            </div>
        </div>
    </div>
</div>
@endsection
PK�8]_<xx-Employer/Views/auth/passwords/email.blade.phpnu�Iw��@extends('layouts.app')

<!-- Main Content -->
@section('content')
<div class="container">
    <div class="row">
        <div class="col-md-8 col-md-offset-2">
            <div class="panel panel-default">
                <div class="panel-heading">Reset Password</div>
                <div class="panel-body">
                    @if (session('status'))
                        <div class="alert alert-success">
                            {{ session('status') }}
                        </div>
                    @endif

                    <form class="form-horizontal" role="form" method="POST" action="{{ url('/password/email') }}">
                        {!! csrf_field() !!}

                        <div class="form-group{{ $errors->has('email') ? ' has-error' : '' }}">
                            <label class="col-md-4 control-label">E-Mail Address</label>

                            <div class="col-md-6">
                                <input type="email" class="form-control" name="email" value="{{ old('email') }}">

                                @if ($errors->has('email'))
                                    <span class="help-block">
                                        <strong>{{ $errors->first('email') }}</strong>
                                    </span>
                                @endif
                            </div>
                        </div>

                        <div class="form-group">
                            <div class="col-md-6 col-md-offset-4">
                                <button type="submit" class="btn btn-primary">
                                    <i class="fa fa-btn fa-envelope"></i>Send Password Reset Link
                                </button>
                            </div>
                        </div>
                    </form>
                </div>
            </div>
        </div>
    </div>
</div>
@endsection
PK�8]wl��-Employer/Views/auth/passwords/reset.blade.phpnu�Iw��@extends('layouts.app')

@section('content')
<div class="container">
    <div class="row">
        <div class="col-md-8 col-md-offset-2">
            <div class="panel panel-default">
                <div class="panel-heading">Reset Password</div>

                <div class="panel-body">
                    <form class="form-horizontal" role="form" method="POST" action="{{ url('/password/reset') }}">
                        {!! csrf_field() !!}

                        <input type="hidden" name="token" value="{{ $token }}">

                        <div class="form-group{{ $errors->has('email') ? ' has-error' : '' }}">
                            <label class="col-md-4 control-label">E-Mail Address</label>

                            <div class="col-md-6">
                                <input type="email" class="form-control" name="email" value="{{ $email or old('email') }}">

                                @if ($errors->has('email'))
                                    <span class="help-block">
                                        <strong>{{ $errors->first('email') }}</strong>
                                    </span>
                                @endif
                            </div>
                        </div>

                        <div class="form-group{{ $errors->has('password') ? ' has-error' : '' }}">
                            <label class="col-md-4 control-label">Password</label>

                            <div class="col-md-6">
                                <input type="password" class="form-control" name="password">

                                @if ($errors->has('password'))
                                    <span class="help-block">
                                        <strong>{{ $errors->first('password') }}</strong>
                                    </span>
                                @endif
                            </div>
                        </div>

                        <div class="form-group{{ $errors->has('password_confirmation') ? ' has-error' : '' }}">
                            <label class="col-md-4 control-label">Confirm Password</label>
                            <div class="col-md-6">
                                <input type="password" class="form-control" name="password_confirmation">

                                @if ($errors->has('password_confirmation'))
                                    <span class="help-block">
                                        <strong>{{ $errors->first('password_confirmation') }}</strong>
                                    </span>
                                @endif
                            </div>
                        </div>

                        <div class="form-group">
                            <div class="col-md-6 col-md-offset-4">
                                <button type="submit" class="btn btn-primary">
                                    <i class="fa fa-btn fa-refresh"></i>Reset Password
                                </button>
                            </div>
                        </div>
                    </form>
                </div>
            </div>
        </div>
    </div>
</div>
@endsection
PK�8]X����#Employer/Views/auth/login.blade.phpnu�Iw��<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
        <title>MyRADH | Employer Log-in</title>
        <meta content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no" name="viewport">
        <link rel="stylesheet" href="{{ get_template('css/bootstrap.min.css') }}">
        <link rel="stylesheet" href="{{ get_template('css/font-awesome.min.css') }}">
        <link rel="stylesheet" href="{{ get_template('css/ionicons.min.css') }}">
        <link rel="stylesheet" href="{{ get_template('css/AdminLTELogin.css') }}">
        <!-- HTML5 Shim and Respond.js IE8 support of HTML5 elements and media queries -->
        <!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
        <!--[if lt IE 9]>
        <script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script>
        <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
        <![endif]-->
    </head>
    <body class="hold-transition login-page">
        <div class="login-box">
            <div class="login-logo">
                <span><b>MyRA DH</b> | Employer</span>
            </div>
            @include('Employer::message')
            <div class="login-box-body">
                <p class="login-box-msg">Sign in to start your session</p>
                <form role="form" method="POST" action="{{ route('employer.get-login', session('root_dir')) }}" id="login-form">
                    {!! csrf_field() !!}
                    <!-- <div class="form-group has-feedback"> -->
                    <div class="form-group{{ $errors->has('email') ? ' has-error' : '' }} has-feedback">
                        <input type="email" name="email" class="form-control" placeholder="Email" value="{{ old('email') }}">
                        <span class="glyphicon glyphicon-envelope form-control-feedback"></span>
                        @if ($errors->has('email'))
                            <span class="help-block">
                                {{ $errors->first('email') }}
                            </span>
                        @endif
                    </div>
                    <!-- <div class="form-group has-feedback"> -->
                    <div class="form-group{{ $errors->has('password') ? ' has-error' : '' }} has-feedback">
                        <input type="password" name="password" class="form-control" placeholder="Password">
                        <span class="glyphicon glyphicon-lock form-control-feedback"></span>
                        @if ($errors->has('password'))
                            <span class="help-block">
                                {{ $errors->first('password') }}
                            </span>
                        @endif
                    </div>
                    <div class="row">
                        <div class="col-xs-8" id="checkbox" style="padding-left:35px;">
                        </div>
                        <div class="col-xs-4">
                          <button type="submit" class="btn btn-primary btn-block btn-flat"><i class="fa fa-sign-in"></i> Sign In</button>
                        </div>
                    </div>
                </form>
                <a href="#"><i class="fa fa-lock"></i> Forgot my password?</a><br>
            </div>
        </div>
        <script type="text/javascript" src="{{ get_template('js/jquery.min.js') }}"></script>
        <script type="text/javascript" src="{{ get_template('js/bootstrap.min.js') }}"></script>
        <script type="text/javascript" src="{{ get_template('js/plugins/iCheck/icheck.min.js') }}"></script>
        <script type="text/javascript" src="{{ asset('vendor/jsvalidation/js/jsvalidation.js')}}"></script>
        {!! $validator !!}
    </body>
</html>PK�8]/}�+��Employer/Views/notify.blade.phpnu�Iw��@if(session('success'))
<script type="text/javascript">
$(function() {
    /* Notify Success */
    $.notify.addStyle('success', {
        html: "<div><i class=\"fa fa-check-circle\" aria-hidden=\"true\"></i>&nbsp;<span data-notify-text/></div>",
        classes: {
            base: {
              "white-space": "nowrap",
              "background-color": "#dff0d8",
              "padding": "5px"
            },
            supersuccess: {
              "color": "#3c763d",
              "background-color": "#dff0d8"
            }
        }
    });
    $.notify('{{ session("success") }}', {
        style: 'success',
        className: 'supersuccess',
        clickToHide: true,
        position:"top right", 
        autoHide: true, 
        autoHideDelay: 3000, 
        showAnimation: 'slideDown',
        showDuration: 400,
        hideAnimation: 'slideUp',
        hideDuration: 200
    });
});
</script>    
@endif

@if(session('error'))
<script type="text/javascript">
$(function() {
    /* Notify Danger */
    $.notify.addStyle('danger', {
        html: "<div><i class=\"fa fa-times-circle\" aria-hidden=\"true\"></i>&nbsp;<span data-notify-text/></div>",
        classes: {
            base: {
              "white-space": "nowrap",
              "background-color": "#f2dede",
              "padding": "5px"
            },
            superdanger: {
              "color": "#a94442",
              "background-color": "#f2dede"
            }
        }
    });
    $.notify('{{ session("error") }}', {
        style: 'danger',
        className: 'superdanger',
        clickToHide: true,
        position:"top right", 
        autoHide: true, 
        autoHideDelay: 3000, 
        showAnimation: 'slideDown',
        showDuration: 400,
        hideAnimation: 'slideUp',
        hideDuration: 200
    });
});
</script>    
@endif

@if(session('danger'))
<script type="text/javascript">
$(function() {
    /* Notify Danger */
    $.notify.addStyle('danger', {
        html: "<div><i class=\"fa fa-times-circle\" aria-hidden=\"true\"></i>&nbsp;<span data-notify-text/></div>",
        classes: {
            base: {
              "white-space": "nowrap",
              "background-color": "#f2dede",
              "padding": "5px"
            },
            superdanger: {
              "color": "#a94442",
              "background-color": "#f2dede"
            }
        }
    });
    $.notify('{{ session("danger") }}', {
        style: 'danger',
        className: 'superdanger',
        clickToHide: true,
        position:"top right", 
        autoHide: true, 
        autoHideDelay: 3000, 
        showAnimation: 'slideDown',
        showDuration: 400,
        hideAnimation: 'slideUp',
        hideDuration: 200
    });
});
</script>    
@endif

@if(session('info'))
<script type="text/javascript">
$(function() {
    /* Notify Info */
    $.notify.addStyle('info', {
        html: "<div><i class=\"fa fa-info-circle\" aria-hidden=\"true\"></i>&nbsp;<span data-notify-text/></div>",
        classes: {
            base: {
              "white-space": "nowrap",
              "background-color": "#d9edf7",
              "padding": "5px"
            },
            superinfo: {
              "color": "#31708f",
              "background-color": "#d9edf7"
            }
        }
    });
    $.notify('{{ session("info") }}', {
        style: 'info',
        className: 'superinfo',
        clickToHide: true,
        position:"top right", 
        autoHide: true, 
        autoHideDelay: 3000, 
        showAnimation: 'slideDown',
        showDuration: 400,
        hideAnimation: 'slideUp',
        hideDuration: 200
    });
});
</script>    
@endif

@if(session('warning'))
<script type="text/javascript">
$(function() {
    /* Notify Warning */
    $.notify.addStyle('warning', {
        html: "<div><i class=\"fa fa-exclamation-circle\" aria-hidden=\"true\"></i>&nbsp;<span data-notify-text/></div>",
        classes: {
            base: {
              "white-space": "nowrap",
              "background-color": "#fcf8e3",
              "padding": "5px"
            },
            superwarning: {
              "color": "#8a6d3b",
              "background-color": "#fcf8e3"
            }
        }
    });
    $.notify('{{ session("warning") }}', {
        style: 'warning',
        className: 'superwarning',
        clickToHide: true,
        position:"top right", 
        autoHide: true, 
        autoHideDelay: 3000, 
        showAnimation: 'slideDown',
        showDuration: 400,
        hideAnimation: 'slideUp',
        hideDuration: 200
    });
});
</script>    
@endifPK�8]1J� , , Employer/Views/layouts.blade.phpnu�Iw��<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <meta name="csrf-token" content="{{ csrf_token() }}" />
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
        <title>MyRA DH - {{ isset($title) ? $title:'Dashboard' }}</title>
        <meta content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no" name="viewport">
        <!-- jquery ui 1.11.2 -->
        <link rel="stylesheet" href="{{ get_template('js/plugins/jquery-ui-1.11.2/jquery-ui.min.css') }}">
        <!-- bootstrap 3.0.2 -->
        <link href="{{ get_template('css/bootstrap.min.css') }}" rel="stylesheet" type="text/css" />
        <!-- font Awesome -->
        <link href="{{ get_template('css/font-awesome.min.css') }}" rel="stylesheet" type="text/css" />
        <!-- Ionicons -->
        <link href="{{ get_template('css/ionicons.min.css') }}" rel="stylesheet" type="text/css" />
        <!-- Morris chart -->
        <link href="{{ get_template('css/morris/morris.css') }}" rel="stylesheet" type="text/css" />
        <!-- jvectormap -->
        <link href="{{ get_template('css/jvectormap/jquery-jvectormap-1.2.2.css') }}" rel="stylesheet" type="text/css" />
        <!-- fullCalendar -->
        <link href="{{ get_template('css/fullcalendar/fullcalendar.css') }}" rel="stylesheet" type="text/css" />
        <!-- Daterange picker -->
        <link href="{{ get_template('css/daterangepicker/daterangepicker-bs3.css') }}" rel="stylesheet" type="text/css" />
        <!-- bootstrap wysihtml5 - text editor -->
        <link href="{{ get_template('css/bootstrap-wysihtml5/bootstrap3-wysihtml5.min.css') }}" rel="stylesheet" type="text/css" />
        <!-- Sweet Alert 2 -->
        <link href="{{ get_template('css/sweetalert2/sweetalert2.min.css') }}" rel="stylesheet" type="text/css" />
        <!-- Select 2 -->
        <link href="{{ get_template('css/select2/select2.min.css') }}" rel="stylesheet" type="text/css" />
        <link href="{{ get_template('css/select2/select2-bootstrap.min.css') }}" rel="stylesheet" type="text/css" />
        <!-- Datatables -->
        <link href="{{ get_template('css/datatables/dataTables.bootstrap.css') }}" rel="stylesheet" type="text/css" />
        <!-- int number -->
        <link rel="stylesheet" href="{{ get_template('css/intlnum/css/intlTelInput.css') }}">
        <!-- token input -->
        <link rel="stylesheet" href="{{ get_template('css/tokeninput/token-input.css') }}">
        <link rel="stylesheet" href="{{ get_template('css/tokeninput/token-input-facebook.css') }}">
        <!-- Theme style -->
        <link href="{{ get_template('css/AdminLTE.css') }}" rel="stylesheet" type="text/css" />
        <!-- custom style -->
        <link href="{{ get_template('css/custom.css') }}" rel="stylesheet" type="text/css" />
        <!-- HTML5 Shim and Respond.js IE8 support of HTML5 elements and media queries -->
        <!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
        <!--[if lt IE 9]>
          <script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
          <script src="https://oss.maxcdn.com/libs/respond.js/1.3.0/respond.min.js"></script>
        <![endif]-->       
        @yield('page-css')
    </head>
    <body class="skin-{{ config('template.skin') }} fixed" data-url="{{ url('/') }}" 
        data-datepicker-format="{{ auth('employer')->user()->client->date_picker['date_picker'] }}"
        data-datepicker-date="{{ date(auth('employer')->user()->client->date_picker['php']) }}"
        data-datepicker-mask="{{ auth('employer')->user()->client->date_picker['mask'] }}">
        <!-- header logo: style can be found in header.less -->
        <header class="header">
            <a href="{{ url(config('modules.employer').'/'.session('root_dir').'/dashboard') }}" class="logo">
                <!-- Add the class icon to your logo image or logo icon to add the margining -->
                MYRA DH - Employer
            </a>
            <!-- Header Navbar: style can be found in header.less -->
            <nav class="navbar navbar-static-top" role="navigation">
                <!-- Sidebar toggle button-->
                <a href="#" class="navbar-btn sidebar-toggle" data-toggle="offcanvas" role="button">
                    <span class="sr-only">Toggle navigation</span>
                    <span class="icon-bar"></span>
                    <span class="icon-bar"></span>
                    <span class="icon-bar"></span>
                </a>
                <div class="navbar-right">
                    <ul class="nav navbar-nav">
                        <!-- User Account: style can be found in dropdown.less -->
                        <li class="dropdown user user-menu">
                            <a href="#" class="dropdown-toggle" data-toggle="dropdown">
                                <i class="glyphicon glyphicon-user"></i>
                                <span>{{ auth('employer')->user()->name }} <i class="caret"></i></span>
                            </a>
                            <ul class="dropdown-menu">
                                <!-- User image -->
                                <li class="user-header bg-light-blue" style="height:100px;">
                                    <p>
                                        {{ auth('employer')->user()->name }}
                                        <small>{{ auth('employer')->user()->email }}</small>
                                        <small><b>Version:</b> {{ config('app.version') }}</small>
                                    </p>
                                </li>                                
                                <!-- Menu Footer-->
                                <li class="user-footer">
                                    <div class="pull-left">
                                        <a href="#" class="btn btn-default btn-flat">Profile</a>
                                    </div>
                                    <div class="pull-right">
                                        <a href="{{ url(config('modules.employer').'/'.session('root_dir').'/auth/logout') }}" class="btn btn-default btn-flat">Sign out</a>
                                    </div>
                                </li>
                            </ul>
                        </li>
                    </ul>
                </div>
            </nav>
        </header>
        <div class="wrapper row-offcanvas row-offcanvas-left">
            <!-- Left side column. contains the logo and sidebar -->
            <aside class="left-side sidebar-offcanvas">
                <!-- sidebar: style can be found in sidebar.less -->
                <section class="sidebar">
                    <form action="#" method="get" class="sidebar-form">
                        <div class="input-group">
                            <input type="text" name="q" class="form-control" placeholder="Search...">
                            <span class="input-group-btn">
                                <button type="submit" name="seach" id="search-btn" class="btn btn-flat"><i class="fa fa-search"></i></button>
                            </span>
                        </div>
                    </form>                                     
                    <!-- sidebar menu: : style can be found in sidebar.less -->
                    
                </section>
                <!-- /.sidebar -->
            </aside>
            <!-- Right side column. Contains the navbar and content of the page -->
            <aside class="right-side">
                @yield('page-body')                
            </aside><!-- /.right-side -->
        </div><!-- ./wrapper -->
        <!-- jQuery 2.0.2 -->
        <script src="{{ get_template('js/jquery.min.js') }}"></script>
        <!-- jQuery UI 1.11.2 -->
        <script src="{{ get_template('js/plugins/jquery-ui-1.11.2/jquery-ui.min.js') }}" type="text/javascript"></script>
        <!-- Bootstrap -->
        <script src="{{ get_template('js/bootstrap.min.js') }}" type="text/javascript"></script>
        <!-- Morris.js charts -->
        <script src="{{ get_template('js/plugins/morris/morris.min.js') }}" type="text/javascript"></script>
        <!-- Sparkline -->
        <script src="{{ get_template('js/plugins/sparkline/jquery.sparkline.min.js') }}" type="text/javascript"></script>
        <!-- jvectormap -->
        <script src="{{ get_template('js/plugins/jvectormap/jquery-jvectormap-1.2.2.min.js') }}" type="text/javascript"></script>
        <script src="{{ get_template('js/plugins/jvectormap/jquery-jvectormap-world-mill-en.js') }}" type="text/javascript"></script>
        <!-- fullCalendar -->
        <script src="{{ get_template('js/plugins/fullcalendar/fullcalendar.min.js') }}" type="text/javascript"></script>
        <!-- jQuery Knob Chart -->
        <script src="{{ get_template('js/plugins/jqueryKnob/jquery.knob.js') }}" type="text/javascript"></script>
        <!-- daterangepicker -->
        <script src="{{ get_template('js/plugins/daterangepicker/daterangepicker.js') }}" type="text/javascript"></script>
        <!-- Bootstrap WYSIHTML5 -->
        <script src="{{ get_template('js/plugins/bootstrap-wysihtml5/bootstrap3-wysihtml5.all.min.js') }}" type="text/javascript"></script>
        <!-- Sweet Alert 2 -->
        <script src="{{ get_template('js/plugins/sweetalert2/sweetalert2.min.js') }}" type="text/javascript"></script>
        <!-- Select 2 -->
        <script src="{{ get_template('js/plugins/select2/select2.full.js') }}" type="text/javascript"></script>
        <!-- Datatables -->        
        <script src="{{ get_template('js/plugins/datatables/jquery.dataTables.js') }}" type="text/javascript"></script>
        <script src="{{ get_template('js/plugins/datatables/dataTables.bootstrap.js') }}" type="text/javascript"></script>
        <!-- iCheck -->
        <script src="{{ get_template('js/plugins/iCheck/icheck.min.js') }}" type="text/javascript"></script>
        <!-- notifyjs -->
        <script src="{{ get_template('js/plugins/notifyjs/notify.min.js') }}" type="text/javascript"></script>
        <!-- token input -->
        <script type="text/javascript" src="{{ get_template('js/plugins/tokeninput/jquery.tokeninput.js') }}"></script>
        <!-- input mask -->
        <script type="text/javascript" src="{{ get_template('js/plugins/input-mask/jquery.inputmask.js') }}"></script>
        <script type="text/javascript" src="{{ get_template('js/plugins/input-mask/jquery.inputmask.date.extensions.js') }}"></script>
        <script type="text/javascript" src="{{ get_template('js/plugins/input-mask/jquery.inputmask.extensions.js') }}"></script>
        <!-- AdminLTE App -->
        <script src="{{ get_template('js/AdminLTE/app.js') }}" type="text/javascript"></script>       
        <script type="text/javascript">
        $.ajaxSetup({
            headers: { 
                'X-CSRF-Token' : $('meta[name=csrf-token]').attr('content'),
            }
        });
        $(function () {
          $('[data-toggle="tooltip"]').tooltip();
        });
        </script>
        <script type="text/javascript" src="{{ get_template('js/helpers.js') }}"></script>
        @yield('page-js')
    </body>
</html>PK�8]�=o�Employer/routes.phpnu�Iw��<?php
Route::group(['prefix'=>'{root_dir}'], function() {
	Route::group(['namespace'=>'Auth', 'prefix' => 'auth'], function() {
		Route::group(['middleware' => 'auth.employer'], function(){
	        Route::get('/logout', array('as' => 'employer.logout', 'uses' => 'AuthController@logout'));
	    });
	    Route::group(['prefix'=>'login'], function(){
	        Route::get('/',  array('as' => 'employer.get-login', 'uses' => 'AuthController@getLogin'));
	        Route::post('/', array('as' => 'employer.post-login', 'uses' => 'AuthController@postLogin'));
	    });
	});
	
    Route::group(['middleware' => 'auth.employer'], function() {
	    Route::get('/', function(){
	        return redirect()->route('employer.dashboard', session('root_dir'));
	    });
	    Route::group(['namespace'=>'Dashboard'], function(){
            Route::group(['prefix'=>'dashboard'], function(){
                Route::get('/', array('as' => 'employer.dashboard', 'uses' => 'DashboardController@dashboard'));                
            });
        });
	});
});
?>PK�8]��=�,Employer/Controllers/Auth/AuthController.phpnu�Iw��<?php

namespace QxCMS\Modules\Employer\Controllers\Auth;

use QxCMS\Modules\Client\Models\Principals\Principal as User;
use QxCMS\Modules\Likod\Models\Clients\Client;
use Validator;
use JsValidator;
use Auth;
use Artisan;
use Illuminate\Http\Request;
use QxCMS\Http\Controllers\Controller;
use Illuminate\Foundation\Auth\AuthenticatesUsers;

class AuthController extends Controller
{
    /*
    |--------------------------------------------------------------------------
    | Registration & Login Controller
    |--------------------------------------------------------------------------
    |
    | This controller handles the registration of new users, as well as the
    | authentication of existing users. By default, this controller uses
    | a simple trait to add these behaviors. Why don't you explore it?
    |
    */

    use AuthenticatesUsers;

    /**
     * Where to redirect users after login / registration.
     *
     * @var string
     */    
    protected $redirectTo = '';
    protected $guard = 'employer';
    protected $redirectAfterLogout = '';
    /**
     * Create a new authentication controller instance.
     *
     * @return void
     */
    public function __construct()
    {
        $this->middleware('guest.employer', ['except' => 'logout']);
    }

    /**
     * Get a validator for an incoming registration request.
     *
     * @param  array  $data
     * @return \Illuminate\Contracts\Validation\Validator
     */
    protected function validator(array $data)
    {
        return Validator::make($data, [
            'name' => 'required|max:255',
            'email' => 'required|email|max:255|unique:users',
            'password' => 'required|confirmed|min:6',
        ]);
    }

    /**
     * Create a new user instance after a valid registration.
     *
     * @param  array  $data
     * @return User
     */
    protected function create(array $data)
    {
        return User::create([
            'name' => $data['name'],
            'email' => $data['email'],
            'password' => bcrypt($data['password']),
        ]);
    }

    public function getLogin()
    {
        $rules = array(
            'email' => 'required|email',
            'password' => 'required',
        );
        $validator = JsValidator::make($rules, array(), array(), '#login-form');
        return view('Employer::auth.login', ['validator'=> $validator]);
    }    

    public function postLogin(Request $request)
    {
        return $this->login($request);
    }
    
    protected function authenticated(Request $request, $user)
    {
        if($user->status == 'Active')
        {
            $this->redirectTo = 'employer/'.session('root_dir').'/dashboard';
            return redirect($this->redirectTo);
        } else {            
            $this->redirectAfterLogout = 'employer/'.session('root_dir').'/auth/login';
            $this->guard()->logout();
            $request->session()->forget('root_dir');
            $request->session()->regenerate();
            session()->flash('error_logout', 'You account is inactive.');
            return redirect(property_exists($this, 'redirectAfterLogout') ? $this->redirectAfterLogout : '/');
        }        
    }

    public function guard() 
    {
        return Auth::guard('employer');
    }

    public function logout(Request $request)
    {
        $this->redirectAfterLogout = 'employer/'.session('root_dir').'/auth/login';
        $this->guard()->logout();
        $request->session()->forget('root_dir');
        $request->session()->regenerate();
        if($request->get('logout') == 'true') session()->flash('logout', 'You have successfully logged out!');
        else session()->flash('error_logout', 'Your session has timed out.');
        return redirect(property_exists($this, 'redirectAfterLogout') ? $this->redirectAfterLogout : '/');
    }
}PK�8]y�n�BB6Employer/Controllers/Dashboard/DashboardController.phpnu�Iw��<?php

namespace QxCMS\Modules\Employer\Controllers\Dashboard;

use Illuminate\Http\Request;

use QxCMS\Http\Requests;
use QxCMS\Http\Controllers\Controller;
use Auth;

class DashboardController extends Controller
{    
    public function dashboard()
    {    	
    	return view('Employer::dashboard.dashboard');
    }
}
PK�8]-�fF��EmployerServiceProvider.phpnu�Iw��PK�8]q΀�@@-helpers.phpnu�[���PK�8]u{��
�tables.phpnu�Iw��PK�8]�/#����,Likod/Models/Clients/User.phpnu�Iw��PK�8]56�g���;Likod/Models/Clients/Client.phpnu�Iw��PK�8]�)��*�CLikod/Models/Settings/Roles/Permission.phpnu�Iw��PK�8]����$HFLikod/Models/Settings/Roles/Role.phpnu�Iw��PK�8]�:�((!�JLikod/Models/Developer/Module.phpnu�Iw��PK�8]ج�Ͻ�'(OLikod/Models/Developer/ClientModule.phpnu�Iw��PK�8]�h�<��!<TLikod/Middleware/Authenticate.phpnu�Iw��PK�8]�AcҦ�,|WLikod/Middleware/RedirectIfAuthenticated.phpnu�Iw��PK�8]`�9��~ZLikod/Views/message.blade.phpnu�Iw��PK�8]��;^
^
){\Likod/Views/dashboard/dashboard.blade.phpnu�Iw��PK�8]Mh���$2jLikod/Views/clients/create.blade.phpnu�Iw��PK�8]ݯ7�H�H+^pLikod/Views/clients/includes/form.blade.phpnu�Iw��PK�8]�sP�00)��Likod/Views/clients/includes/js.blade.phpnu�Iw��PK�8]Ƙ�VV*&�Likod/Views/clients/includes/css.blade.phpnu�Iw��PK�8].]
�77#־Likod/Views/clients/index.blade.phpnu�Iw��PK�8]�Ս��"`�Likod/Views/clients/edit.blade.phpnu�Iw��PK�8]��G��*��Likod/Views/auth/emails/password.blade.phpnu�Iw��PK�8]X)"��#��Likod/Views/auth/register.blade.phpnu�Iw��PK�8]_<xx*��Likod/Views/auth/passwords/email.blade.phpnu�Iw��PK�8]wl��*��Likod/Views/auth/passwords/reset.blade.phpnu�Iw��PK�8]C뷿�� a�Likod/Views/auth/login.blade.phpnu�Iw��PK�8])�O��-jLikod/Views/all-fields-are-required.blade.phpnu�Iw��PK�8]/}�+��Likod/Views/notify.blade.phpnu�Iw��PK�8];d�ӛ)�)�Likod/Views/layouts.blade.phpnu�Iw��PK�8]F
�~yy+�CLikod/Views/settings/users/create.blade.phpnu�Iw��PK�8]8�~��2�ILikod/Views/settings/users/includes/form.blade.phpnu�Iw��PK�8]�_H
��0�QLikod/Views/settings/users/includes/js.blade.phpnu�Iw��PK�8]����*�RLikod/Views/settings/users/index.blade.phpnu�Iw��PK�8]A;�d��)&cLikod/Views/settings/users/edit.blade.phpnu�Iw��PK�8]�HS�ll@iLikod/Repositories/Clients/Clients/ClientRepositoryInterface.phpnu�Iw��PK�8]���~~7�iLikod/Repositories/Clients/Clients/ClientRepository.phpnu�[���PK�8]X�b4�|Likod/Repositories/Settings/Users/UserRepository.phpnu�[���PK�8]�ܝii=G�Likod/Repositories/Settings/Users/UserRepositoryInterface.phpnu�Iw��PK�8]�y�d�d4�Likod/Repositories/Settings/Roles/RoleRepository.phpnu�[���PK�8]��&ii=X�Likod/Repositories/Settings/Roles/RoleRepositoryInterface.phpnu�Iw��PK�8]clx9�	�	.�Likod/routes.phpnu�Iw��PK�8]��y11/h�Likod/Controllers/Clients/ClientsController.phpnu�[���PK�8]38��)�Likod/Controllers/Auth/AuthController.phpnu�Iw��PK�8]0w�^��-aLikod/Controllers/Settings/UserController.phpnu�Iw��PK�8]�k6
--3�(Likod/Controllers/Dashboard/DashboardController.phpnu�Iw��PK�8]�o4���'*Likod/User.phpnu�Iw��PK�8]�����(A.Likod/Requests/Clients/ClientRequest.phpnu�Iw��PK�8]���'nLLikod/Requests/Settings/UserRequest.phpnu�Iw��PK�8]�N��&�SClient/Models/Principals/Principal.phpnu�Iw��PK�8]z��@@*�[Client/Models/Principals/ContactNumber.phpnu�Iw��PK�8]�3hg��*x^Client/Models/Principals/ContactPerson.phpnu�Iw��PK�8]����0�aClient/Models/Principals/PrincipalUserAssign.phpnu�Iw��PK�8]Ϭ����!cClient/Models/Subject/Subject.phpnu�Iw��PK�8]p�
�	�	'EoClient/Models/JobOpening/JobOpening.phpnu�Iw��PK�8]�����\yClient/Models/Pages/FAQ.phpnu�Iw��PK�8]Ne���|Client/Models/Pages/AboutUs.phpnu�Iw��PK�8]O�4

!�Client/Models/Pages/ContactUs.phpnu�Iw��PK�8]�ʴff"T�Client/Models/Settings/Country.phpnu�Iw��PK�8]E��EE,�Client/Models/Settings/UserLogs/UserLogs.phpnu�Iw��PK�8]�)�C��.��Client/Models/Settings/LoginLogs/LoginLogs.phpnu�Iw��PK�8]�'>�+��Client/Models/Settings/Roles/Permission.phpnu�Iw��PK�8]���i��%��Client/Models/Settings/Roles/Role.phpnu�Iw��PK�8]��m��&�Client/Models/Applicants/Applicant.phpnu�Iw��PK�8]ݖ�ٺ�'��Client/Models/Applicants/JobApplied.phpnu�Iw��PK�8]Tљ��"�Client/Models/Directory/Cities.phpnu�Iw��PK�8]�[�ě�*ݞClient/Models/Directory/Municipalities.phpnu�Iw��PK�8]���%ҠClient/Models/Directory/Provinces.phpnu�Iw��PK�8]��Vm��%��Client/Models/Directory/Directory.phpnu�Iw��PK�8]�tx2��+��Client/Models/Directory/Specializations.phpnu�Iw��PK�8]��m~��&��Client/Models/Directory/Affiliates.phpnu�Iw��PK�8]�gB�KK%j�Client/Models/Participants/Answer.phpnu�Iw��PK�8]f�ͽ�*
�Client/Models/Participants/Participant.phpnu�Iw��PK�8]�����&!�Client/Models/Questionnaire/Answer.phpnu�Iw��PK�8]������(@�Client/Models/Questionnaire/Template.phpnu�Iw��PK�8]�Ʉ�MM(+�Client/Models/Questionnaire/Question.phpnu�Iw��PK�8]5Zݭ
�
пClient/Models/Posts/Posts.phpnu�Iw��PK�8]b����$��Client/Models/Posts/PostCategory.phpnu�Iw��PK�8]�0Iы�'��Client/Models/Products/ProductBrand.phpnu�Iw��PK�8]�����"��Client/Models/Products/Product.phpnu�Iw��PK�8]|�D���*��Client/Models/Products/ProductCategory.phpnu�Iw��PK�8]jz5��"x�Client/Middleware/Authenticate.phpnu�Iw��PK�8]Go�$��-��Client/Middleware/RedirectIfAuthenticated.phpnu�Iw��PK�8]�&q����Client/Views/logs.blade.phpnu�Iw��PK�8]#iT��	�	&��Client/Views/applicants/view.blade.phpnu�Iw��PK�8]#���TT@��Client/Views/applicants/includes/applicant-lists-table.blade.phpnu�Iw��PK�8]��n���7m�Client/Views/applicants/source-applicant/view.blade.phpnu�Iw��PK�8]yˮ@��Client/Views/applicants/source-applicant/includes/form.blade.phpnu�Iw��PK�8]i?o##RClient/Views/applicants/source-applicant/includes/source-applicant-table.blade.phpnu�Iw��PK�8]=�		8�Client/Views/applicants/source-applicant/index.blade.phpnu�Iw��PK�8]:?U�
�
'=Client/Views/applicants/index.blade.phpnu�Iw��PK�8]
��_��8X!Client/Views/applicants/search-applicant/index.blade.phpnu�Iw��PK�8]`�9��i5Client/Views/message.blade.phpnu�Iw��PK�8]	�)Ų�#g7Client/Views/pages/create.blade.phpnu�Iw��PK�8]d6/��.l>Client/Views/pages/contact-us/create.blade.phpnu�Iw��PK�8]����5�EClient/Views/pages/contact-us/includes/form.blade.phpnu�Iw��PK�8]����6�TClient/Views/pages/contact-us/includes/gmaps.blade.phpnu�Iw��PK�8]t�k��3-]Client/Views/pages/contact-us/includes/js.blade.phpnu�Iw��PK�8]�� ��4I`Client/Views/pages/contact-us/includes/css.blade.phpnu�Iw��PK�8]E'+22-�aClient/Views/pages/contact-us/index.blade.phpnu�Iw��PK�8]�N��((,4tClient/Views/pages/contact-us/edit.blade.phpnu�Iw��PK�8]���'�{Client/Views/pages/faq/create.blade.phpnu�Iw��PK�8]�X����.��Client/Views/pages/faq/includes/form.blade.phpnu�Iw��PK�8]��x��,܅Client/Views/pages/faq/includes/js.blade.phpnu�Iw��PK�8]����zz-͊Client/Views/pages/faq/includes/css.blade.phpnu�Iw��PK�8]Bz�  ;��Client/Views/pages/faq/includes/faq-details-modal.blade.phpnu�Iw��PK�8]�ª55&/�Client/Views/pages/faq/index.blade.phpnu�Iw��PK�8]������%��Client/Views/pages/faq/edit.blade.phpnu�Iw��PK�8]��DR*��Client/Views/pages/includes/form.blade.phpnu�Iw��PK�8]VhX��(j�Client/Views/pages/includes/js.blade.phpnu�[���PK�8]����zz)O�Client/Views/pages/includes/css.blade.phpnu�Iw��PK�8]�C��,"�Client/Views/pages/about-us/create.blade.phpnu�Iw��PK�8]��>�((E*�Client/Views/pages/about-us/includes/about-us-details-modal.blade.phpnu�Iw��PK�8]Zt����3��Client/Views/pages/about-us/includes/form.blade.phpnu�Iw��PK�8]*S���1	�Client/Views/pages/about-us/includes/js.blade.phpnu�Iw��PK�8]����zz2	�Client/Views/pages/about-us/includes/css.blade.phpnu�Iw��PK�8]00	i��+��Client/Views/pages/about-us/index.blade.phpnu�Iw��PK�8]I�<�*�Client/Views/pages/about-us/edit.blade.phpnu�Iw��PK�8]W�x%��"@
Client/Views/pages/index.blade.phpnu�Iw��PK�8]�Px�!= Client/Views/pages/edit.blade.phpnu�Iw��PK�8]e���$$)�'Client/Views/job-opening/create.blade.phpnu�Iw��PK�8]�XPŬ�00Client/Views/job-opening/includes/form.blade.phpnu�Iw��PK�8]�*�D��.DClient/Views/job-opening/includes/js.blade.phpnu�Iw��PK�8]����zz/cSClient/Views/job-opening/includes/css.blade.phpnu�Iw��PK�8]��t�
�
=<TClient/Views/job-opening/includes/job-opening-modal.blade.phpnu�Iw��PK�8]G�*���(ubClient/Views/job-opening/index.blade.phpnu�Iw��PK�8]P�S'Q|Client/Views/job-opening/edit.blade.phpnu�Iw��PK�8])��__(��Client/Views/principals/create.blade.phpnu�Iw��PK�8]�r�$��,r�Client/Views/principals/navigation.blade.phpnu�Iw��PK�8]�QT�
�
/^�Client/Views/principals/includes/form.blade.phpnu�Iw��PK�8]�~x[
[
-u�Client/Views/principals/includes/js.blade.phpnu�Iw��PK�8]�� ��.-�Client/Views/principals/includes/css.blade.phpnu�Iw��PK�8]h����
�
0��Client/Views/principals/includes/modal.blade.phpnu�Iw��PK�8]#Y6:�	�	;��Client/Views/principals/includes/modal-requiredjs.blade.phpnu�Iw��PK�8]{��[[*�Client/Views/principals/overview.blade.phpnu�Iw��PK�8]�!��8��Client/Views/principals/contact-persons/create.blade.phpnu�Iw��PK�8]�&׃!	!	?��Client/Views/principals/contact-persons/includes/form.blade.phpnu�Iw��PK�8]S�nS00=��Client/Views/principals/contact-persons/includes/js.blade.phpnu�Iw��PK�8]�� ��>&�Client/Views/principals/contact-persons/includes/css.blade.phpnu�Iw��PK�8]M�����7��Client/Views/principals/contact-persons/index.blade.phpnu�Iw��PK�8]\��	�	6�Client/Views/principals/contact-persons/edit.blade.phpnu�Iw��PK�8].�P�{{'�Client/Views/principals/index.blade.phpnu�Iw��PK�8]��_W	W	&�Client/Views/principals/edit.blade.phpnu�Iw��PK�8]TuUtTT*g"Client/Views/dashboard/dashboard.blade.phpnu�Iw��PK�8]��G��+%Client/Views/auth/emails/password.blade.phpnu�Iw��PK�8]��B@��$&Client/Views/auth/register.blade.phpnu�Iw��PK�8]j�^&&+85Client/Views/auth/passwords/email.blade.phpnu�Iw��PK�8]wl��+�CClient/Views/auth/passwords/reset.blade.phpnu�Iw��PK�8]S�Kd��!�PClient/Views/auth/login.blade.phpnu�Iw��PK�8]`_��		%�`Client/Views/reports-layout.blade.phpnu�Iw��PK�8]jN��		,jClient/Views/reports-table-layouts.blade.phpnu�Iw��PK�8]����uu.vlClient/Views/all-fields-are-required.blade.phpnu�Iw��PK�8]��d�&&ImClient/Views/cache/.gitignorenu�Iw��PK�8]�4/)

#�mClient/Views/cache/menus/.gitignorenu�Iw��PK�8]��A�		-nClient/Views/cache/menus/9/custom_2.blade.phpnu�[���PK�8]�4/)

*�qClient/Views/cache/descriptions/.gitignorenu�Iw��PK�8]�妥��qClient/Views/notify.blade.phpnu�Iw��PK�8]F�!'�
�
&ۅClient/Views/officers/create.blade.phpnu�Iw��PK�8]�9���-��Client/Views/officers/includes/form.blade.phpnu�Iw��PK�8]��SGG+��Client/Views/officers/includes/js.blade.phpnu�Iw��PK�8]9J��mm%��Client/Views/officers/index.blade.phpnu�Iw��PK�8]�LYk��$Z�Client/Views/officers/edit.blade.phpnu�Iw��PK�8]^��w�4�4L�Client/Views/layouts.blade.phpnu�Iw��PK�8]~�ƌt
t
%KClient/Views/subject/create.blade.phpnu�Iw��PK�8]Z�$$,Client/Views/subject/includes/form.blade.phpnu�Iw��PK�8]��j22*�Client/Views/subject/includes/js.blade.phpnu�Iw��PK�8]$Y�E$ 8Client/Views/subject/index.blade.phpnu�Iw��PK�8]|f��#�HClient/Views/subject/edit.blade.phpnu�Iw��PK�8]d�LLwWClient/Views/no-data.blade.phpnu�Iw��PK�8]�~Î��4]Client/Views/questionnaire/template/action.blade.phpnu�Iw��PK�8]�I���2cClient/Views/questionnaire/template/form.blade.phpnu�Iw��PK�8]Ӎ�``0bfClient/Views/questionnaire/template/js.blade.phpnu�Iw��PK�8]�HA5"kClient/Views/questionnaire/template/preview.blade.phpnu�Iw��PK�8]s�	�:�|Client/Views/questionnaire/template/includes/css.blade.phpnu�Iw��PK�8]�Y�11>�Client/Views/questionnaire/template/includes/browser.blade.phpnu�Iw��PK�8]}1  ��=��Client/Views/questionnaire/template/includes/mobile.blade.phpnu�Iw��PK�8]!
��<<:�Client/Views/questionnaire/template/create-modal.blade.phpnu�Iw��PK�8]�3�ܼ�3��Client/Views/questionnaire/template/index.blade.phpnu�Iw��PK�8]����	�	2խClient/Views/questionnaire/template/edit.blade.phpnu�Iw��PK�8]�G���4+�Client/Views/questionnaire/question/create.blade.phpnu�Iw��PK�8]ۥK�`
`
29�Client/Views/questionnaire/question/form.blade.phpnu�Iw��PK�8]��4hh0��Client/Views/questionnaire/question/js.blade.phpnu�Iw��PK�8]0֐n��3��Client/Views/questionnaire/question/index.blade.phpnu�Iw��PK�8]����2�Client/Views/questionnaire/question/edit.blade.phpnu�Iw��PK�8]h��2�
Client/Views/questionnaire/results/index.blade.phpnu�Iw��PK�8]$\*..(YClient/Views/questionnaire/nav.blade.phpnu�Iw��PK�8]6)6e��-�Client/Views/directory-store/create.blade.phpnu�Iw��PK�8]3/F&F&4�Client/Views/directory-store/includes/form.blade.phpnu�Iw��PK�8]������C�EClient/Views/directory-store/includes/js-modal-affiliates.blade.phpnu�Iw��PK�8]�N��5�ZClient/Views/directory-store/includes/gmaps.blade.phpnu�Iw��PK�8]l�22cClient/Views/directory-store/includes/js.blade.phpnu�Iw��PK�8]���y��D�oClient/Views/directory-store/includes/modal-specialization.blade.phpnu�Iw��PK�8]���=��?�xClient/Views/directory-store/includes/modal-affiliate.blade.phpnu�Iw��PK�8]~l6�55H�Client/Views/directory-store/includes/js-modal-specializations.blade.phpnu�Iw��PK�8]�R0��,,�Client/Views/directory-store/index.blade.phpnu�Iw��PK�8]�~�+��Client/Views/directory-store/edit.blade.phpnu�Iw��PK�8]L,g
g
.��Client/Views/reports/audittrail/view.blade.phpnu�Iw��PK�8]�Q�oo7��Client/Views/reports/audittrail/includes/form.blade.phpnu�Iw��PK�8]u���5��Client/Views/reports/audittrail/includes/js.blade.phpnu�Iw��PK�8]��[OOB��Client/Views/reports/audittrail/includes/user-logs-table.blade.phpnu�Iw��PK�8]V���JJCQ�Client/Views/reports/audittrail/includes/login-logs-table.blade.phpnu�Iw��PK�8]�_]˩�/�Client/Views/reports/audittrail/index.blade.phpnu�Iw��PK�8]�<���,�Client/Views/settings/users/create.blade.phpnu�Iw��PK�8]@b����3�Client/Views/settings/users/includes/form.blade.phpnu�Iw��PK�8]�br8��1P�Client/Views/settings/users/includes/js.blade.phpnu�Iw��PK�8]�+���+z�Client/Views/settings/users/index.blade.phpnu�Iw��PK�8]��BB*�Client/Views/settings/users/edit.blade.phpnu�Iw��PK�8];3b�RR,gClient/Views/settings/roles/create.blade.phpnu�Iw��PK�8]]f�B��3Client/Views/settings/roles/includes/form.blade.phpnu�Iw��PK�8]��]9KK1KClient/Views/settings/roles/includes/js.blade.phpnu�Iw��PK�8]
�=dd2�Client/Views/settings/roles/includes/css.blade.phpnu�Iw��PK�8]�=V(��?� Client/Views/settings/roles/includes/user_permissions.blade.phpnu�Iw��PK�8],R�|��+�!Client/Views/settings/roles/index.blade.phpnu�Iw��PK�8]��ɘ�*�0Client/Views/settings/roles/edit.blade.phpnu�Iw��PK�8]���8Client/Views/errors.blade.phpnu�Iw��PK�8]�sG_��%-:Client/Views/product/create.blade.phpnu�Iw��PK�8]�E),#BClient/Views/product/includes/form.blade.phpnu�Iw��PK�8]�R�CC*�\Client/Views/product/includes/js.blade.phpnu�Iw��PK�8]'���>>6$bClient/Views/product/includes/js-modal-brand.blade.phpnu�Iw��PK�8]u�g?^^3�vClient/Views/product/includes/modal-brand.blade.phpnu�Iw��PK�8]����zz+�Client/Views/product/includes/css.blade.phpnu�Iw��PK�8]͂�Fyy6^�Client/Views/product/includes/modal-category.blade.phpnu�Iw��PK�8]#~?y��9=�Client/Views/product/includes/js-modal-category.blade.phpnu�Iw��PK�8]*mt���$5�Client/Views/product/index.blade.phpnu�Iw��PK�8]h�ü��#Z�Client/Views/product/edit.blade.phpnu�Iw��PK�8]r��!!#��Client/Views/posts/create.blade.phpnu�Iw��PK�8]�]���%�%*�Client/Views/posts/includes/form.blade.phpnu�Iw��PK�8]�H���(i�Client/Views/posts/includes/js.blade.phpnu�[���PK�8]����zz)��Client/Views/posts/includes/css.blade.phpnu�Iw��PK�8]�����4}�Client/Views/posts/includes/modal-category.blade.phpnu�Iw��PK�8]O�
227��Client/Views/posts/includes/js-modal-category.blade.phpnu�Iw��PK�8]�X{��"*	Client/Views/posts/index.blade.phpnu�Iw��PK�8]
)�vv!4-	Client/Views/posts/edit.blade.phpnu�Iw��PK�8]H���hKhK.�4	Client/Views/permission/notActivated.blade.phpnu�Iw��PK�8]!��ooC��	Client/Repositories/Principals/ContactNumberRepositoryInterface.phpnu�Iw��PK�8]�ooC��	Client/Repositories/Principals/ContactPersonRepositoryInterface.phpnu�Iw��PK�8]��//:��	Client/Repositories/Principals/ContactPersonRepository.phpnu�Iw��PK�8]�s�K6�	Client/Repositories/Principals/PrincipalRepository.phpnu�Iw��PK�8]N��[kk?��	Client/Repositories/Principals/PrincipalRepositoryInterface.phpnu�Iw��PK�8]'����:x�	Client/Repositories/Principals/ContactNumberRepository.phpnu�Iw��PK�8]��Zjj:ǚ	Client/Repositories/Subject/SubjectRepositoryInterface.phpnu�Iw��PK�8]������1��	Client/Repositories/Subject/SubjectRepository.phpnu�Iw��PK�8]�8�ll@��	Client/Repositories/JobOpening/JobOpeningRepositoryInterface.phpnu�Iw��PK�8]D���7��	Client/Repositories/JobOpening/JobOpeningRepository.phpnu�[���PK�8]Qc�5kk;��	Client/Repositories/Officers/OfficerRepositoryInterface.phpnu�Iw��PK�8]���G�
�
2l�	Client/Repositories/Officers/OfficerRepository.phpnu�[���PK�8]%GF��/��	Client/Repositories/Pages/AboutUsRepository.phpnu�[���PK�8]3�U�dd-��	Client/Repositories/Pages/PagesRepository.phpnu�[���PK�8]P���``4N�	Client/Repositories/Pages/FAQRepositoryInterface.phpnu�Iw��PK�8]>s�1�	Client/Repositories/Pages/ContactUsRepository.phpnu�Iw��PK�8]&S�xx+��	Client/Repositories/Pages/FAQRepository.phpnu�[���PK�8]8S�dd8X�	Client/Repositories/Pages/AboutUsRepositoryInterface.phpnu�Iw��PK�8]�b��bb6$�	Client/Repositories/Pages/PagesRepositoryInterface.phpnu�Iw��PK�8]fЊff:��	Client/Repositories/Pages/ContactUsRepositoryInterface.phpnu�Iw��PK�8]&����5��	Client/Repositories/Settings/Users/UserRepository.phpnu�[���PK�8]Z��[jj>�	Client/Repositories/Settings/Users/UserRepositoryInterface.phpnu�Iw��PK�8]�[�#_#_5��	Client/Repositories/Settings/Roles/RoleRepository.phpnu�[���PK�8]Oz���	�	;+]
Client/Repositories/Settings/Roles/PermissionRepository.phpnu�Iw��PK�8]y���jj>7g
Client/Repositories/Settings/Roles/RoleRepositoryInterface.phpnu�Iw��PK�8]c g�ppDh
Client/Repositories/Settings/Roles/PermissionRepositoryInterface.phpnu�Iw��PK�8]�k6�kk?�h
Client/Repositories/Applicants/ApplicantRepositoryInterface.phpnu�Iw��PK�8]��OYY6�i
Client/Repositories/Applicants/ApplicantRepository.phpnu�Iw��PK�8]� �SS;�q
Client/Repositories/Directory/SpecializationsRepository.phpnu�Iw��PK�8]�&w�ppDJx
Client/Repositories/Directory/SpecializationsRepositoryInterface.phpnu�Iw��PK�8]a�<�FF:.y
Client/Repositories/Directory/MunicipalitiesRepository.phpnu�Iw��PK�8]�3_
ooC�{
Client/Repositories/Directory/MunicipalitiesRepositoryInterface.phpnu�Iw��PK�8]�:�5�|
Client/Repositories/Directory/ProvincesRepository.phpnu�Iw��PK�8]���n2B
Client/Repositories/Directory/CitiesRepository.phpnu�Iw��PK�8]���uu7��
Client/Repositories/Directory/DirectoriesRepository.phpnu�Iw��PK�8]<MC�gg;��
Client/Repositories/Directory/CitiesRepositoryInterface.phpnu�Iw��PK�8]��BSll@`�
Client/Repositories/Directory/DirectoriesRepositoryInterface.phpnu�Iw��PK�8]���Wjj><�
Client/Repositories/Directory/ProvincesRepositoryInterface.phpnu�Iw��PK�8]��b�6�
Client/Repositories/Directory/AffiliatesRepository.phpnu�Iw��PK�8]B_K�kk?��
Client/Repositories/Directory/AffiliatesRepositoryInterface.phpnu�Iw��PK�8]�V�{{:_�
Client/Repositories/Participants/ParticipantRepository.phpnu�Iw��PK�8]�qXossCD�
Client/Repositories/Participants/ParticipantRepositoryInterface.phpnu�Iw��PK�8]��U8*�
Client/Repositories/Questionnaire/QuestionRepository.phpnu�Iw��PK�8]Y��kk?��
Client/Repositories/Questionnaire/AnswerRepositoryInterface.phpnu�Iw��PK�8]"B
B��8x�
Client/Repositories/Questionnaire/TemplateRepository.phpnu�Iw��PK�8]]�S�mmA��
Client/Repositories/Questionnaire/QuestionRepositoryInterface.phpnu�Iw��PK�8]�p���6��
Client/Repositories/Questionnaire/AnswerRepository.phpnu�Iw��PK�8]-�L�qqA��
Client/Repositories/Questionnaire/TemplateRepositoryInterface.phpnu�Iw��PK�8]�����-��
Client/Repositories/Posts/PostsRepository.phpnu�[���PK�8]��_��4��
Client/Repositories/Posts/PostCategoryRepository.phpnu�[���PK�8]-psZii=��
Client/Repositories/Posts/PostCategoryRepositoryInterface.phpnu�Iw��PK�8]�bb6��
Client/Repositories/Posts/PostsRepositoryInterface.phpnu�Iw��PK�8]�-v�ll@V�
Client/Repositories/Products/ProductBrandRepositoryInterface.phpnu�Iw��PK�8]�U�}}22�
Client/Repositories/Products/ProductRepository.phpnu�[���PK�8]�Jp7�
Client/Repositories/Products/ProductBrandRepository.phpnu�Iw��PK�8];1�gg;��
Client/Repositories/Products/ProductRepositoryInterface.phpnu�Iw��PK�8]}�'^ooCd�
Client/Repositories/Products/ProductCategoryRepositoryInterface.phpnu�Iw��PK�8]�i�GG:F�
Client/Repositories/Products/ProductCategoryRepository.phpnu�Iw��PK�8]��9Z9Z��
Client/routes.phpnu�Iw��PK�8]�%
hh5qUClient/Controllers/Principals/PrincipalController.phpnu�Iw��PK�8]̀�-�!�!9>tClient/Controllers/Principals/ContactPersonController.phpnu�Iw��PK�8]=[����0@�Client/Controllers/Subject/SubjectController.phpnu�Iw��PK�8]f���68�Client/Controllers/JobOpening/JobOpeningController.phpnu�Iw��PK�8]{b�;;1T�Client/Controllers/Officers/OfficerController.phpnu�Iw��PK�8]���=��,��Client/Controllers/Pages/PagesController.phpnu�Iw��PK�8]%�r��*��Client/Controllers/Pages/FAQController.phpnu�Iw��PK�8]�$颿�0
Client/Controllers/Pages/ContactUsController.phpnu�[���PK�8]$B`.)Client/Controllers/Pages/AboutUsController.phpnu�[���PK�8]�y*$KK*�,Client/Controllers/Auth/AuthController.phpnu�Iw��PK�8]�D}.8BClient/Controllers/Settings/RoleController.phpnu�Iw��PK�8]�ss.�TClient/Controllers/Settings/UserController.phpnu�[���PK�8]���qq6wjClient/Controllers/Applicants/ApplicantsController.phpnu�Iw��PK�8]����
�
<N~Client/Controllers/Applicants/SearchApplicantsController.phpnu�Iw��PK�8]�h[�
�
<~�Client/Controllers/Applicants/SourceApplicantsController.phpnu�Iw��PK�8]+t�:��Client/Controllers/Directory/SpecializationsController.phpnu�Iw��PK�8]>��K��6�Client/Controllers/Directory/DirectoriesController.phpnu�Iw��PK�8]|o�5M�Client/Controllers/Directory/AffiliatesController.phpnu�Iw��PK�8]ٚݑ//4��Client/Controllers/Dashboard/DashboardController.phpnu�Iw��PK�8]+#7�!�!7L�Client/Controllers/Questionnaire/QuestionController.phpnu�Iw��PK�8]�HGIpp7s�Client/Controllers/Questionnaire/TemplateController.phpnu�Iw��PK�8];%���3J�Client/Controllers/Reports/AuditTrailController.phpnu�Iw��PK�8]�_h��3�
Client/Controllers/Posts/PostCategoryController.phpnu�Iw��PK�8]��~~,�
Client/Controllers/Posts/PostsController.phpnu�Iw��PK�8]�&}t��1�+
Client/Controllers/Products/ProductController.phpnu�Iw��PK�8]�~h��6�D
Client/Controllers/Products/ProductBrandController.phpnu�Iw��PK�8]�>�$9
K
Client/Controllers/Products/ProductCategoryController.phpnu�Iw��PK�8]�����Q
Client/Policies/RolePolicy.phpnu�Iw��PK�8]���3�V
Client/Requests/Principals/ContactPersonRequest.phpnu�Iw��PK�8]ê{��/�Z
Client/Requests/Principals/PrincipalRequest.phpnu�Iw��PK�8]��G�jj*�^
Client/Requests/Subject/SubjectRequest.phpnu�Iw��PK�8]P>�0�g
Client/Requests/JobOpening/JobOpeningRequest.phpnu�Iw��PK�8])��8
8
+�m
Client/Requests/Officers/OfficerRequest.phpnu�Iw��PK�8]N��Ғ�&�x
Client/Requests/Pages/PagesRequest.phpnu�Iw��PK�8]�K�~��(q{
Client/Requests/Pages/AboutUsRequest.phpnu�Iw��PK�8]��	��$�~
Client/Requests/Pages/FAQRequest.phpnu�Iw��PK�8]�X��*�
Client/Requests/Pages/ContactUsRequest.phpnu�Iw��PK�8]���D��(�
Client/Requests/Settings/RoleRequest.phpnu�Iw��PK�8]`"�jj(�
Client/Requests/Settings/UserRequest.phpnu�Iw��PK�8]��^���.ߏ
Client/Requests/Directory/DirectoryRequest.phpnu�Iw��PK�8]�V���1��
Client/Requests/Questionnaire/TemplateRequest.phpnu�Iw��PK�8]�8�>

1�
Client/Requests/Questionnaire/QuestionRequest.phpnu�Iw��PK�8]>ѱ||%[�
Client/Requests/Posts/PostRequest.phpnu�Iw��PK�8]MU3�+,�
Client/Requests/Products/ProductRequest.phpnu�Iw��PK�8]_ڙP"P"��
ClientServiceProvider.phpnu�Iw��PK�8]��[M��#�
ApiServiceProvider.phpnu�Iw��PK�8]u@�ú��
Api/Middleware/Cors.phpnu�Iw��PK�8]_�BL���
Api/routes.phpnu�Iw��PK�8]��>��%��
Api/Controllers/SubjectController.phpnu�Iw��PK�8]G ��PP#%�
Api/Controllers/PagesController.phpnu�Iw��PK�8]��Յuu(��
Api/Controllers/JobOpeningController.phpnu�Iw��PK�8]���Iaa'��
Api/Controllers/ApplicantController.phpnu�Iw��PK�8]~�C�ss#M�
Api/Controllers/LoginController.phpnu�Iw��PK�8]�dV"��%Api/Controllers/ProfileController.phpnu�Iw��PK�8]�u	�yy+3Api/Controllers/QuestionnaireController.phpnu�Iw��PK�8]�;$��
�
)Api/Controllers/ParticipantController.phpnu�Iw��PK�8]EKiosk/routes.phpnu�Iw��PK�8]���ac
c
�AbstractRepository.phpnu�Iw��PK�8]R�ܖ||.'LikodServiceProvider.phpnu�Iw��PK�8]�	�::$�/Employer/Middleware/Authenticate.phpnu�Iw��PK�8]&�m��/�8Employer/Middleware/RedirectIfAuthenticated.phpnu�Iw��PK�8]_�BB a@Employer/Views/message.blade.phpnu�Iw��PK�8]n>]�X
X
,�CEmployer/Views/dashboard/dashboard.blade.phpnu�Iw��PK�8]��G��-�QEmployer/Views/auth/emails/password.blade.phpnu�Iw��PK�8]��B@��&�REmployer/Views/auth/register.blade.phpnu�Iw��PK�8]_<xx-�aEmployer/Views/auth/passwords/email.blade.phpnu�Iw��PK�8]wl��-�iEmployer/Views/auth/passwords/reset.blade.phpnu�Iw��PK�8]X����#�vEmployer/Views/auth/login.blade.phpnu�Iw��PK�8]/}�+��ՅEmployer/Views/notify.blade.phpnu�Iw��PK�8]1J� , , "�Employer/Views/layouts.blade.phpnu�Iw��PK�8]�=o���Employer/routes.phpnu�Iw��PK�8]��=�,��Employer/Controllers/Auth/AuthController.phpnu�Iw��PK�8]y�n�BB6X�Employer/Controllers/Dashboard/DashboardController.phpnu�Iw��PKkk���