| Server IP : 10.200.247.200 / Your IP : 216.73.217.19 Web Server : Apache System : Linux synergy-usa-sites 6.8.0-138-generic #138-Ubuntu SMP PREEMPT_DYNAMIC Fri Jul 31 22:41:49 UTC 2026 x86_64 User : jeremy ( 1001) PHP Version : 8.4.25 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : OFF Directory : /var/www/hans_sites/phonelesswork.com/ |
Upload File : |
<?php
session_start();
include_once($_SERVER['DOCUMENT_ROOT'].'/php/mysql.php');
if(!empty($_POST['action'])) {
switch($_POST['action']) {
case 'update_company_info':
if(!empty($_SESSION['company_db'])) {
$db->query("UPDATE timeclock_devices
SET company_name='".$db->clean($_POST['company_name'])."'
,company_email='".$db->clean($_POST['company_email'])."'
,company_phone='".$db->clean(preg_replace('/[^0-9]/','',$_POST['company_phone']))."'
,company_address='".$db->clean($_POST['company_address'])."'
,company_ste='".$db->clean($_POST['company_ste'])."'
,api_7shift='".$db->clean((!empty($_POST['api_7shift'])) ? '1' : '0')."'
,api_7shift_key='".$db->clean($_POST['api_7shift_key'])."'
WHERE device_id='".$db->clean($_SESSION['company_db'])."'");
if(!empty($_POST['api_7shift']) && !empty($_POST['api_7shift_key'])) {
//check to see if the database exists
$res = $db->get_results("SHOW TABLES LIKE timeclock_".$db->clean($_SESSION['company_db'])."_7shifts_employees");
if(empty($res)) {
$db->query("CREATE TABLE timeclock_".$db->clean($_SESSION['company_db'])."_7shifts_employees
(
id INT NOT NULL AUTO_INCREMENT
,firstname VARCHAR(32) NOT NULL
,lastname VARCHAR(64) NOT NULL
,user_type_id INT NOT NULL
,email VARCHAR(255) NOT NULL
,mobile_phone VARCHAR(10) NOT NULL
,home_phone VARCHAR(10) NOT NULL
,payroll_id INT NOT NULL
,employee_id INT NOT NULL
,active TINYINT(1) NOT NULL
,location_id INT NOT NULL
,department_id INT NOT NULL
,role_id INT NOT NULL
,hourly_wage DOUBLE
,phonelesswork_employee_id INT NOT NULL
,ts TIMESTAMP DEFAULT NOW()
,PRIMARY KEY (id)
)");
$db->query("CREATE INDEX emp_id ON timeclock_".$db->clean($_SESSION['company_db'])."_7shifts_employees (phonelesswork_employee_id)");
$db->query("CREATE INDEX emp_name ON timeclock_".$db->clean($_SESSION['company_db'])."_7shifts_employees (firstname,lastname)");
include_once($_SERVER['DOCUMENT_ROOT'].'/php/api_7shifts.php');
$users = get_user_list($_POST['api_7shift_key']);
if(!empty($users)) {
foreach($users as $u) {
$db->query("INSERT INTO timeclock_".$db->clean($_SESSION['company_db'])."_7shifts_employees
(
firstname
,lastname
,user_type_id
,email
,mobile_phone
,home_phone
,payroll_id
,employee_id
,active
,location_id
,department_id
,role_id
,hourly_wage
,phonelesswork_employee_id
,ts
) VALUES (
'".$db->clean($u['firstname'])."'
,'".$db->clean($u['lastname'])."'
,'".$db->clean($u['user_type_id'])."'
,'".$db->clean($u['email'])."'
,'".$db->clean($u['mobile_phone'])."'
,'".$db->clean($u['home_phone'])."'
,'".$db->clean($u['payroll_id'])."'
,'".$db->clean($u['employee_id'])."'
,'".$db->clean($u['active'])."'
,'".$db->clean($u['location_id'])."'
,'".$db->clean($u['department_id'])."'
,'".$db->clean($u['role_id'])."'
,'".$db->clean($u['hourly_wage'])."'
,'0'
,NOW()
)");
}
}
}
}
}
break;
case 'update_device_info':
if(!empty($_SESSION['company_db'])) {
if(!empty($_POST['id_7shift'])) {
$res_7shift = $db->get_results("SELECT * FROM timeclock_{$_SESSION['company_db']}_7shifts_employees
WHERE id='".$db->clean($_POST['id_7shift'])."'");
if(!empty($res_7shift)) {
$res = $db->get_results("SELECT id FROM timeclock_users_".$db->clean($_SESSION['company_db'])."
WHERE serial_number='".$db->clean($_POST['serial'])."'");
if(!empty($res)) {
$db->query("UPDATE timeclock_users_".$db->clean($_SESSION['company_db'])."
SET first_name='".$db->clean($res_7shift[0]->firstname)."'
,last_name='".$db->clean($res_7shift[0]->lastname)."'
,email='".$db->clean($res_7shift[0]->email)."'
,phone='".$db->clean(preg_replace('/[^0-9]/','',$res_7shift[0]->mobile_phone))."'
WHERE id='".$db->clean($res[0]->id)."'");
$db->query("UPDATE timeclock_{$_SESSION['company_db']}_7shifts_employees
SET phonelesswork_employee_id='".$db->clean($res[0]->id)."'
WHERE id='".$db->clean($_POST['id_7shift'])."'");
} else {
$db->query("INSERT INTO timeclock_users_".$db->clean($_SESSION['company_db'])."
(
serial_number
,first_name
,last_name
,phone
,email
) VALUES (
'".$db->clean($_POST['serial'])."'
,'".$db->clean($res_7shift[0]->firstname)."'
,'".$db->clean($res_7shift[0]->lastname)."'
,'".$db->clean(preg_replace('/[^0-9]/','',$res_7shift[0]->mobile_phone))."'
,'".$db->clean($res_7shift[0]->email)."'
)");
$db->query("UPDATE timeclock_{$_SESSION['company_db']}_7shifts_employees
SET phonelesswork_employee_id='".$db->clean($db->last_insert_id())."'
WHERE id='".$db->clean($_POST['id_7shift'])."'");
}
}
} else {
$res = $db->get_results("SELECT id FROM timeclock_users_".$db->clean($_SESSION['company_db'])."
WHERE serial_number='".$db->clean($_POST['serial'])."'");
if(!empty($res)) {
$db->query("UPDATE timeclock_users_".$db->clean($_SESSION['company_db'])."
SET first_name='".$db->clean($_POST['first_name'])."'
,last_name='".$db->clean($_POST['last_name'])."'
,email='".$db->clean($_POST['email'])."'
,phone='".$db->clean(preg_replace('/[^0-9]/','',$_POST['phone']))."'
WHERE id='".$db->clean($res[0]->id)."'");
} else {
$db->query("INSERT INTO timeclock_users_".$db->clean($_SESSION['company_db'])."
(
serial_number
,first_name
,last_name
,phone
,email
) VALUES (
'".$db->clean($_POST['serial'])."'
,'".$db->clean($_POST['first_name'])."'
,'".$db->clean($_POST['last_name'])."'
,'".$db->clean(preg_replace('/[^0-9]/','',$_POST['phone']))."'
,'".$db->clean($_POST['email'])."'
)");
}
}
}
break;
case 'run_timeclock_report':
if($_POST['employees']=='all') {
$res = $db->get_results("SELECT t.serial_number,t.clock_in,t.clock_out,u.first_name,u.last_name
FROM timeclock_".$db->clean($_SESSION['company_db'])." t
LEFT JOIN timeclock_users_".$db->clean($_SESSION['company_db'])." u ON u.serial_number=t.serial_number
WHERE t.clock_in BETWEEN '".$db->clean($_POST['start_date'])." 00:00:00' AND '".$db->clean($_POST['end_date'])." 23:59:59'");
} else {
$res = $db->get_results("SELECT t.serial_number,t.clock_in,t.clock_out,u.first_name,u.last_name
FROM timeclock_".$db->clean($_SESSION['company_db'])." t
LEFT JOIN timeclock_users_".$db->clean($_SESSION['company_db'])." u ON u.serial_number=t.serial_number
WHERE t.serial_number='".$db->clean($_POST['employees'])."'
AND t.clock_in BETWEEN '".$db->clean($_POST['start_date'])." 00:00:00' AND '".$db->clean($_POST['end_date'])." 23:59:59'");
}
$users = array();
foreach($res as $r) {
if(empty($r->first_name)) {
$users[$r->serial_number][] = $r;
} else {
$users[$r->first_name.' '.$r->last_name][] = $r;
}
}
ksort($users);
function make_pretty_time($sec) {
$hours = 0;
$minutes = 0;
$seconds = $sec;
if($seconds >= 3600) {
while($seconds>=3600) {
$seconds -= 3600;
$hours++;
}
}
if($seconds >= 60) {
while($seconds >= 60) {
$seconds -= 60;
$minutes++;
}
}
return str_pad($hours,2,"0",STR_PAD_LEFT).':'.str_pad($minutes,2,"0",STR_PAD_LEFT).':'.str_pad($seconds,2,"0",STR_PAD_LEFT);
}
foreach($users as $name=>$timeclock) {
?>
<div style="margin-top:20px;"><?= $name;?></div>
<table class="timeclock_table" cellpadding="0" cellspacing="0">
<tr>
<th>CLOCKED IN</th>
<th>CLOCKED OUT</th>
<th>HOURS</th>
</tr>
<?php
$total = 0;
foreach($timeclock as $t) {
$tclock_out = $t->clock_out;
if($t->clock_out=='0000-00-00 00:00:00') {
$total += (time() - strtotime($t->clock_in));
$tclock_out = date('Y-m-d H:i:s');
} else {
$total += (strtotime($t->clock_out) - strtotime($t->clock_in));
}
?>
<tr>
<td><?= date('M j, Y g:i a',strtotime($t->clock_in));?></td>
<td><?= ($t->clock_out=='0000-00-00 00:00:00') ? 'Still Clocked In' : date('M j, Y g:i a',strtotime($t->clock_out));?></td>
<td><?= make_pretty_time(strtotime($tclock_out) - strtotime($t->clock_in));?></td>
</tr>
<?php } ?>
<tr>
<td colspan="2">TOTAL</td>
<td><?= make_pretty_time($total);?></td>
</tr>
</table>
<?php
}
break;
case 'send_contact_form':
$to = 'hanskirchhausen@gmail.com';
$from = 'NoReply@surfcrm.com';
$subject = 'PhoneLessWork.com Contact';
$body = "<p>{$_POST['fullname']} filled out the contact form.</p>
<p>
Full Name: {$_POST['fullname']}<br />
Email: {$_POST['email']}<br />
Cell Phone: {$_POST['cell_phone']}<br />
Notes: {$_POST['notes']}
</p>";
require_once($_SERVER['DOCUMENT_ROOT'].'/php/mailgun.php');
mailgun_send_message($to,$from,$subject,$body,1,'PhoneLessWork Contact','heinz57@gmail.com','','',0,array(),'',0);
break;
case 'take_break':
if($_POST['break_type']=='10 Minute Paid') {
$db->query("INSERT INTO timeclock_".$db->clean($_SESSION['company_db'])."
(
serial_number
,clock_in
,clock_out
) VALUES (
'".$db->clean($_POST['serial'])."'
,'".$db->clean($_POST['tm'])."'
,'".$db->clean(date('Y-m-d H:i:s',strtotime('+10 minute',strtotime($_POST['tm']))))."'
)");
}
$db->query("INSERT INTO timeclock_breaks_".$db->clean($_SESSION['company_db'])."
(
serial_number
,break_type
,break_time
) VALUES (
'".$db->clean($_POST['serial'])."'
,'".$db->clean($_POST['break_type'])."'
,'".$db->clean($_POST['tm'])."'
)");
?>
<h3>Enjoy your break!</h3>
<p><?= $_POST['break_type'];?></p>
<?php
break;
case 'work_related_phone_use':
?>
<form method="post" action="#" onsubmit="send_work_related_phone_use(this); return false;">
<input type="hidden" name="serial_number" value="<?= $_POST['serial'];?>" />
<input type="hidden" name="date_used" value="<?= $_POST['tm'];?>" />
<div>Reason for Phone Use</div>
<div><textarea name="reason_for_phone_use" style="height:150px;"></textarea></div>
<div>How many minutes did you need your phone?</div>
<div><input type="number" name="minutes_used" value="0" /></div>
<div><input type="submit" name="submit" value="Submit for Approval" class="submit_button" /></div>
</form>
<?php
break;
case 'send_work_related_phone_use':
$db->query("INSERT INTO timeclock_phone_use_".$db->clean($_SESSION['company_db'])."
(
serial_number
,reason_for_phone_use
,minutes_used
,date_used
,approved
) VALUES (
'".$db->clean($_POST['serial_number'])."'
,'".$db->clean($_POST['reason_for_phone_use'])."'
,'".$db->clean($_POST['minutes_used'])."'
,'".$db->clean($_POST['date_used'])."'
,'0'
)");
break;
}
}
?>