Upgraded to latest icehrm core

This commit is contained in:
Thilina Hasantha
2015-12-13 02:56:30 +05:30
parent 8dacf2a8f1
commit ca3492e30e
56 changed files with 1525 additions and 689 deletions

View File

@@ -1,5 +1,5 @@
<?php
error_reporting(E_ERROR);
error_reporting(E_ALL);
ini_set("error_log", "/tmp/icehrm_install.log");
define('CURRENT_PATH',dirname(__FILE__));
define('CLIENT_APP_PATH',realpath(dirname(__FILE__)."/..")."/");

View File

@@ -0,0 +1,117 @@
<?php
class DocumentExpiryNotificationTask extends EmailIceTask{
var $documentCache = array();
var $notificationList = array();
var $employeeDocList = array();
var $employeeEmails = array();
public function execute($cron){
if(SettingsManager::getInstance()->getSetting('Notifications: Send Document Expiry Emails') != '1'){
LogManager::getInstance()->info("Notifications: Send Document Expiry Emails is set to No. Do not send emails");
return;
}
//Get documents
$dayList = array();
$dayList[30] = 'expire_notification_month';
$dayList[7] = 'expire_notification_week';
$dayList[1] = 'expire_notification_day';
$dayList[0] = 'expire_notification';
foreach($dayList as $k => $v){
$this->expiryDayNotification($k, $v);
}
$this->getExpireDocumentHTMLByEmployee();
$this->sendEmployeeEmails($this->employeeEmails, "IceHrm Employee Document Expiry Reminder");
}
private function expiryDayNotification($day, $param){
$date = date('Y-m-d', strtotime("+".$day." days"));
$employeeDocument = new EmployeeDocument();
$employeeDocuments = $employeeDocument->Find("valid_until IS NOT NULL and valid_until = ? and (expire_notification_last > ? or expire_notification_last = -1) and status = ?",
array($date, $day, 'Active'));
if(!$employeeDocuments){
LogManager::getInstance()->error("Error :".$employeeDocument->ErrorMsg());
return;
}
$query = "valid_until IS NOT NULL and valid_until = $date and
(expire_notification_last > $day or expire_notification_last == -1)
and status = 'Active';";
LogManager::getInstance()->debug($query);
foreach($employeeDocuments as $doc){
LogManager::getInstance()->debug("Employee Doc :".print_r($doc, true));
if(empty($doc->document)){
continue;
}
$document = null;
if(isset($this->documentCache[$doc->id])){
$document = $this->documentCache[$doc->id];
}else{
$document = new Document();
$document->Load("id = ?",array($doc->document));
$this->documentCache[$document->id] = $document;
}
if($document->$param == "Yes"){
if(!isset($this->notificationList[$doc->employee])){
$this->notificationList[$doc->employee] = array();
}
$this->notificationList[$doc->employee][] = array($doc, $document, $day);
}
$doc->expire_notification_last = $day;
$doc->Save();
}
}
private function getExpireDocumentHTMLByEmployee(){
$row = '<p style="background-color: #EEE;padding: 5px;font-size: 0.9em;font-weight: bold;"><span style="font-size: 1em;font-weight: bold;">#_name_#</span> - Expire in #_days_# day(s)</p><br/><span style="font-size: 0.8em;font-weight: bold;">#_description_#</span><hr/>';
foreach($this->notificationList as $key => $val){
$employeeEmail = "";
foreach($val as $list){
$trow = $row;
$doc = $list[0];
$document = $list[1];
$days = $list[2];
$trow = str_replace("#_name_#",$document->name,$trow);
$trow = str_replace("#_days_#",$days,$trow);
$trow = str_replace("#_description_#",$doc->details,$trow);
$employeeEmail.=$trow;
}
$employee = new Employee();
$employee->Load("id = ?",array($key));
if(empty($employee->id) || $employee->id != $key){
LogManager::getInstance()->error("Could not load employee with id");
return;
}
$emailBody = file_get_contents(APP_BASE_PATH.'/admin/documents/emailTemplates/documentExpireEmailTemplate.html');
$emailBody = str_replace("#_employee_#",$employee->first_name,$emailBody);
$emailBody = str_replace("#_documents_#",$employeeEmail,$emailBody);
$this->employeeEmails[$employee->id] = $emailBody;
}
}
}

View File

@@ -9,13 +9,13 @@ define('HOME_LINK_ADMIN', CLIENT_BASE_URL."?g=admin&n=dashboard&m=admin_Admin");
define('HOME_LINK_OTHERS', CLIENT_BASE_URL."?g=modules&n=dashboard&m=module_Personal_Information");
//Version
define('VERSION', '13.1.OS');
define('CACHE_VALUE', '13.1');
define('VERSION_DATE', '09/10/2015');
define('VERSION', '14.0.OS');
define('CACHE_VALUE', '14.0.OS');
define('VERSION_DATE', '12/12/2015');
if(!defined('CONTACT_EMAIL')){define('CONTACT_EMAIL','icehrm@gamonoid.com');}
if(!defined('KEY_PREFIX')){define('KEY_PREFIX','IceHrm');}
if(!defined('APP_SEC')){define('APP_SEC','dbcs234d2saaqw');}
if(!defined('APP_SEC')){define('APP_SEC','dbcs234d2s111');}
define('UI_SHOW_SWITCH_PROFILE', true);
define('CRON_LOG', '/var/log/nginx/icehrmcron.log');

View File

@@ -1,519 +0,0 @@
.redFont{
color: red;
}
.box_ws{
background: white;
border-left: 1px solid #DDD;
border-right: 1px solid #DDD;
border-bottom: 1px solid #DDD;
color: #555;
}
.cal_box_ws{
background: white;
border: 1px solid #DDD;
color: #555;
height: 100px;
}
.cal_box_ws .wd_date_full{
font-weight:bold;
font-size:10px;
float: right;
margin-right: 5px;
}
.cal_box_ws .wd_date{
font-size:10px;
float: right;
margin-right: 5px;
}
.nav-pills li a:hover{
background: #1D64AD;
color:white;
};
.navbar-inverse .brand, .navbar-inverse .nav > li > a {
font-weight: bold;
font-size: 12px;
}
.categoryWrap p{
font-size:16px;
font-weight:bold;
padding: 3px;
}
.categoryWrap p:hover{
font-size:16px;
font-weight:bold;
color:white;
background: gray;
padding: 3px;
cursor:pointer;
border-radius: 4px;
}
.resultLogo{
text-align: center;
}
.pbar{
font-weight:bold;
font-size:11px;
}
.pbar .progress{
height: 10px;
}
.bs-docs-sidenav {
width: 228px;
margin: 30px 0 0;
padding: 0;
background-color: #fff;
-webkit-border-radius: 6px;
-moz-border-radius: 6px;
border-radius: 6px;
-webkit-box-shadow: 0 1px 4px rgba(0,0,0,.065);
-moz-box-shadow: 0 1px 4px rgba(0,0,0,.065);
box-shadow: 0 1px 4px rgba(0,0,0,.065);
}
.bs-docs-sidenav > li > a {
display: block;
*width: 190px;
margin: 0 0 -1px;
padding: 8px 14px;
border: 1px solid #e5e5e5;
}
.bs-docs-sidenav > li:first-child > a {
-webkit-border-radius: 6px 6px 0 0;
-moz-border-radius: 6px 6px 0 0;
border-radius: 6px 6px 0 0;
}
.bs-docs-sidenav > li:last-child > a {
-webkit-border-radius: 0 0 6px 6px;
-moz-border-radius: 0 0 6px 6px;
border-radius: 0 0 6px 6px;
}
.bs-docs-sidenav > .active > a {
position: relative;
z-index: 2;
padding: 9px 15px;
border: 0;
text-shadow: 0 1px 0 rgba(0,0,0,.15);
-webkit-box-shadow: inset 1px 0 0 rgba(0,0,0,.1), inset -1px 0 0 rgba(0,0,0,.1);
-moz-box-shadow: inset 1px 0 0 rgba(0,0,0,.1), inset -1px 0 0 rgba(0,0,0,.1);
box-shadow: inset 1px 0 0 rgba(0,0,0,.1), inset -1px 0 0 rgba(0,0,0,.1);
}
/* Chevrons */
.bs-docs-sidenav .icon-chevron-right {
float: right;
margin-top: 2px;
margin-right: -6px;
opacity: .25;
}
.bs-docs-sidenav > li > a:hover {
background-color: #f5f5f5;
}
.bs-docs-sidenav a:hover .icon-chevron-right {
opacity: .5;
}
.bs-docs-sidenav .active .icon-chevron-right,
.bs-docs-sidenav .active a:hover .icon-chevron-right {
background-image: url(../img/glyphicons-halflings-white.png);
opacity: 1;
}
.bs-docs-sidenav.affix {
top: 40px;
}
.bs-docs-sidenav.affix-bottom {
position: absolute;
top: auto;
bottom: 270px;
}
/* Responsive
-------------------------------------------------- */
/* Desktop large
------------------------- */
@media (min-width: 1200px) {
.bs-docs-container {
max-width: 970px;
}
.bs-docs-sidenav {
width: 258px;
}
}
.reviewPoints{
margin-top:10px;
}
.reviewPoints .star{
margin-left: 10px;
}
.reviewBlock {
position: relative;
margin: 0px 0;
padding: 39px 19px 14px;
background-color: white;
border: 1px solid #DDD;
/*
-webkit-border-radius: 4px;
-moz-border-radius: 4px;
border-radius: 4px;
*/
font-size:12px;
}
/*.reviewBlock::after {
content: attr(data-content);
position: absolute;
top: -1px;
left: -1px;
padding: 3px 7px;
font-size: 12px;
font-weight: bold;
background-color: whiteSmoke;
border: 1px solid #DDD;
color: #9DA0A4;
-webkit-border-radius: 4px 0 4px 0;
-moz-border-radius: 4px 0 4px 0;
border-radius: 4px 0 4px 0;
}*/
.box_ws{
background: white;
border-left: 1px solid #DDD;
border-right: 1px solid #DDD;
border-bottom: 1px solid #DDD;
color: #555;
}
.cal_box_ws{
background: white;
border: 1px solid #DDD;
color: #555;
height: 100px;
}
.cal_box_ws .wd_date_full{
font-weight:bold;
font-size:10px;
float: right;
margin-right: 5px;
}
.cal_box_ws .wd_date{
font-size:10px;
float: right;
margin-right: 5px;
}
.nav-pills li a:hover{
background: #1D64AD;
color:white;
};
.nav-tabs > li > a {
color:white;
}
.nav-tabs > li > a:hover{
color:#555;
}
.topheader {
background: -moz-linear-gradient(#829AA8, #405A6A);
background: -webkit-linear-gradient(#829AA8, #405A6A);
background: linear-gradient(#829AA8, #405A6A);
border: 1px solid #677C89;
border-bottom-color: #6B808D;
box-shadow: 0 1px 0 rgba(255, 255, 255, 0.4),0 0px 10px rgba(0, 0, 0, 0.1);
}
.bgbody{
background: #FAFAFA;
background: -moz-linear-gradient(#FAFAFA, #EAEAEA);
background: -webkit-linear-gradient(#FAFAFA, #EAEAEA);
background: linear-gradient(#FAFAFA, #EAEAEA);
border-bottom: 1px solid #CACACA;
box-shadow: 0 1px 0 rgba(255, 255, 255, 0.4),0 0px 10px rgba(0, 0, 0, 0.1);
}
.leftMenu{
background-color: #E9F1F4;
border-style: solid;
border-width: 1px 1px 2px;
border-color: #E9F1F4 #D8DEE2 #D8DEE2;
border-radius: 0 0 5px 5px;
}
.nav > li > a:hover {
text-decoration: none;
background-color: whitesmoke;
border-radius: 5px;
}
/*
.nav-list > .active > a, .nav-list > .active > a:hover{
color: white;
text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.2);
background-color: #405A6A;
box-shadow: 0 1px 0 rgba(255, 255, 255, 0.4),0 0px 10px rgba(0, 0, 0, 0.1);
border-radius: 5px;
}
*/
a {
color: #405A6A;
text-decoration: none;
}
.nav-header {
display: block;
padding: 3px 15px;
font-size: 15px;
font-weight: bold;
line-height: 20px;
text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);
text-transform: none;
background: -moz-linear-gradient(#829AA8, #405A6A);
background: -webkit-linear-gradient(#829AA8, #405A6A);
background: linear-gradient(#829AA8, #405A6A);
color: white;
border-radius: 2px;
}
.modal-backdrop,
.modal-backdrop.fade.in {
opacity: 0.4;
filter: alpha(opacity=40);
}
.error{
color:red;
}
.columnMain{
font-weight: bold;
}
.borderBox{
padding-bottom: 10px;
padding-left: 10px;
padding-top: 10px;
-moz-border-radius: 5px;
border-radius: 5px;
-webkit-border-radius: 5px;
margin-bottom: 20px;
-moz-box-shadow: 1px 3px 3px rgba(0, 0, 0, 0.1);
-webkit-box-shadow: 1px 3px 3px rgba(0, 0, 0, 0.1);
box-shadow: 1px 3px 3px rgba(0, 0, 0, 0.1);
border: 1px solid #EEE;
}
.iceicon_edit{
background-image: url("../images/edit.png");
}
.iceicon_delete{
background-image: url("../images/delete.png");
}
.iceicon_user{
background-image: url("../images/user.png");
}
.dropdown-menu{
z-index: 10000;
}
.lightface .lightfaceContent .lightfaceTitle {
font-size: 14px;
color: #fff;
background-color: #405A6A;
border: 1px solid #405A6A;
font-weight: bold;
margin: -1px;
margin-bottom: 0;
padding: 5px 10px;
line-height: 30px;
}
.label-ice, .badge-ice{
background-color: #405A6A;
}
.dataTables_processing{
position: absolute;
margin-left: 40px;
font-weight: bold;
font-size: 13px;
color: gray;
}
/*changes to full caledar*/
.fc-header-title h2 {
margin-top: 0;
white-space: nowrap;
font-size: 20px;
margin-left: 10px;
color:#405A6A;
}
table.dataTable{
font-size: 1.1em;
}
.form-horizontal{
font-size: 1.2em;
}
.form-horizontal .row{
margin-bottom: 10px;
}
.table.dataTable {width:100% !important;}
.iceLabel{
font-size: 12px !important;
font-weight: bold;
color: #3c8dbc;
}
.nav-tabs>li>a{
border-radius:0px;
}
.nav > li > a:hover {
border-radius:0px;
}
.btn {
-webkit-border-radius: 0px;
-moz-border-radius: 0px;
border-radius: 0px;
}
/* select2 style overide */
.select2-choice{
border: none !important;
width: 100% !important;
border-radius: 0px !important;
background-color: #FFF !important;
background-image: none !important;
}
.select2-container{
padding:3px !important;
}
.select2-container-multi{
padding:0px !important;
border:none;
}
.select2-arrow{
background-image: none !important;
background: #FFF !important;
border: none !important;
}
.select2-drop-active {
/*border: 1px solid black !important;*/
border-top: none !important;
background: #f0f0f0 !important;
}
.logTime{
font-weight: bold;
font-size: 13px;
font-style: italic;
}
.popupForm{
border: none !important;
padding: 0px 19px 14px !important;
}
.content {
background: #FFF;
}
.wrapper {
background: #FFF;
}
.user-panel > .info > p {
margin-bottom: 9px;
max-width: 135px;
line-height: 17px;
}
.list-group-item-text{
margin-bottom:5px;
}
.list-group-item{
padding-bottom:30px;
}
/custom for v11.0 */
.table-bordered>thead>tr>th{
border:none !important;
}
.table-bordered>thead>tr>th, .table-bordered>thead>tr>td {
border-bottom-width: 2px;
border: none;
}
.table{
-webkit-transition: margin-left .15s linear;
transition: margin-left .15s linear;
-webkit-user-select: none;
background-color: #fff;
-webkit-box-shadow: 0 1px 2px 0 rgba(0,0,0,.2);
box-shadow: 0 1px 2px 0 rgba(0,0,0,.2);
}
.reviewBlock{
-webkit-box-sizing: border-box;
box-sizing: border-box
}
.treeview-menu li:hover{
font-weight:bold;
}