Example #1
0
	exit();
}

if(isset($_POST['save'])){
	header("Location: ".getCurrentURL('time_import_7.php'));
	exit();
}

if($_POST['preview']){
	$results = $importer->run();
}

//var_dump($importer);
$task = new SI_Task();
$user = new SI_User();
$ic = new SI_ItemCode();
?>
<? require('header.php'); ?>
<div class="box">
<div class="boxTitle"><h3><?php 
echo $title;
?>
</h3><span class="boxTitleRight">&nbsp;</span><span class="boxTitleCorner">&nbsp;</span></div><div class="boxContent">
<form name="time_import" action="<?php 
echo $_SERVER['PHP_SELF'];
?>
" METHOD="POST" ENCTYPE="multipart/form-data">
<table border="0" cellspacing="5" cellpadding="0" class="form_table">
<tr>
	<td>
		<p>Now we are going to run a test of the import. Please press the Preview button below to start. The results will be displayed below.</p>
Example #2
0
 */
require_once('includes/common.php');
checkLogin();

require_once('includes/SI_Project.php');
require_once('includes/SI_Task.php');
require_once('includes/SI_TaskActivity.php');
require_once('includes/SI_Expense.php');
require_once('includes/SI_ItemCode.php');

$title = '';
$task_activity = new SI_TaskActivity();
$task = new SI_Task();
$project = new SI_Project();
$user = new SI_User();
$item_code = new SI_ItemCode();
$disabled = false;

if($_REQUEST['mode'] == 'add'){
	$title = "Add Time Entry";
	if(empty($_REQUEST['task_id'])){
		fatal_error("No Task ID specified!\n");
	}else{
		$task_activity->task_id = $_REQUEST['task_id'];
		$task_activity->completed_ts = time();
		$task_activity->user_id = $loggedin_user->id;
		if($task->get($task_activity->task_id) === FALSE){
			fatal_error("Could not retreive task!");
			debug_message($task->getLastError());
		}
		if($project->get($task->project_id) === FALSE){
Example #3
0
require_once('includes/SI_Account.php');
require_once('includes/SI_Payment.php');
require_once('includes/SI_Invoice.php');

checkLogin();

if(!isset($_REQUEST['mode']) || empty($_REQUEST['mode'])){
	fatal_error("Export mode must be specified!");
}elseif(strtolower($_REQUEST['mode']) == 'company'){
	$company = new SI_Company();
	$output = $company->exportQB();
	if($output === FALSE){
		fatal_error("Error getting company export data!\n".$company->getLastError());
	}
}elseif(strtolower($_REQUEST['mode']) == 'item_code'){
	$code = new SI_ItemCode();
	$output = $code->exportQB();
	if($output === FALSE){
		fatal_error("Error getting item code export data!\n".$code->getLastError());
	}
}elseif(strtolower($_REQUEST['mode']) == 'account'){
	$account = new SI_Account();
	$output = $account->exportQB();
	if($output === FALSE){
		fatal_error("Error getting account export data!\n".$account->getLastError());
	}
}elseif(strtolower($_REQUEST['mode']) == 'payment'){
	$payment = new SI_Payment();
	$output = $payment->exportQB();
	if($output === FALSE){
		fatal_error("Error getting payment export data!\n".$payment->getLastError());
Example #4
0
</table>
	</div>
</div>
<?}else{?>
<div class="tableContainer">
<a href="javascript:;" class="tCollapse" onclick="toggleGrid(this)"><img src="images/arrow_down.jpg" alt="Hide table" /><?php 
echo $title;
?>
</a><div>
<table border="0" cellspacing="0" cellpadding="0" class="form_table">
<tr>
	<td class="form_field_header_cell">Item Code:</td>
	<td class="form_field_cell">
		<select name="item_code_id" id="item_code_id" class="input_text" onchange="updateTaxRate()">
			<?php 
echo SI_ItemCode::getSelectTags($company_price->item_code_id);
?>
		</select>	
	</td>
</tr>
<tr>
	<td class="form_field_header_cell">Price:</td>
	<td class="form_field_cell"><input name="price" class="input_text" size="10" type="text" value="<?php 
echo $company_price->price;
?>
"></td>
</tr>
<tr id="tax_rate_row">
	<td class="form_field_header_cell">Tax Rate:</td>
	<td class="form_field_cell">
		<span id="tax_field" style="display: none;"><input name="tax_rate" id="tax_rate" class="input_text" size="10" type="text" value="<?php 
Example #5
0
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License along
 * with this program; if not, write to the Free Software Foundation, Inc.,
 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
 * http://www.gnu.org/copyleft/gpl.html
 *
 */
require_once('includes/common.php');
require_once('includes/SI_User.php');

checkLogin("admin");

require_once('includes/SI_ItemCode.php');

$item_code = new SI_ItemCode();
$item_codes = $item_code->retrieveSet("ORDER BY code");
if($item_codes === FALSE){
	$error_msg .= "Error getting item_codes!\n";
	debug_message($item_code->getLastError());
}

$title = "Item Code Administration";

require('header.php') ?>
<div class="tableContainer">
<a href="javascript:;" class="tCollapse" onclick="toggleGrid(this)"><img src="images/arrow_down.jpg" alt="Hide table" />Item Codes</a><div>
	<div class="gridToolbar">
		  <a href="item_code.php?mode=add" style="background-image:url(images/new_invoice.png);">New Item Code</a>
	</div>
<table border="0" cellspacing="0" cellpadding="0">
Example #6
0
    function importGetItemCodes()
    {
        global $loggedin_user;
        if (!isLoggedIn()) {
            $this->error = "User not logged in.";
            return false;
        }
        if (!isset($_SESSION['SureInvoice']['TimeImport'])) {
            $this->error = "No import is currently in progress!";
            return false;
        }
        $importer = $_SESSION['SureInvoice']['TimeImport'];
        $item_codes = $importer->getItemCodes();
        $html = "";
        foreach ($item_codes as $normalized_name => $data) {
            $action_options = "\n\t<option value=" . SI_IMPORT_ACTION_SKIP . " " . selected(SI_IMPORT_ACTION_SKIP, intval($data['action'])) . ">Skip</option>\n\t<option value=" . SI_IMPORT_ACTION_MAP . " " . selected(SI_IMPORT_ACTION_MAP, intval($data['action'])) . ">Map</option>\n\t\t\t";
            $map_options = "<option value='0'>Unknown</option>" . SI_ItemCode::getSelectTags($data['param']);
            $html .= <<<EOF
<tr>
\t<td>{$data['name']}</td>
\t<td><select name="actions[{$normalized_name}]">
\t\t{$action_options}
\t</select>
\t</td>
\t<td><select name="params[{$normalized_name}]">
\t\t{$map_options}
\t\t</select>
\t</td>
</tr>

EOF;
        }
        return $html;
    }
Example #7
0
 * http://www.gnu.org/copyleft/gpl.html
 *
 */
require_once('includes/common.php');
checkLogin();

require_once('includes/SI_Project.php');
require_once('includes/SI_Task.php');
require_once('includes/SI_TaskActivity.php');
require_once('includes/SI_ItemCode.php');

$title = '';
$task_activity = new SI_TaskActivity();
$task = new SI_Task();
$project = new SI_Project();
$item_code = new SI_ItemCode();
$num_entries = 5;

$title = "Add Time";
if($_POST['save']){

	for($i=0; $i<$num_entries; $i++){
		$task_activity = new si_taskactivity();
		$task_activity->start_ts = getTSFromInput($_POST[start_ts][$i]['date'], $_POST[start_ts][$i]['time']);
		$task_activity->end_ts = getTSFromInput($_POST[end_ts][$i]['date'], $_POST[end_ts][$i]['time']);
		$task_activity->task_id = intval($_POST['task_id'][$i]);
		$task_activity->user_id = $loggedin_user->id;
		$task_activity->text = $_POST['text'][$i];
		$task_activity->item_code_id = $_POST['item_code_id'][$i];

//		var_dump($task_activity);
Example #8
0
             break;
         }
     } else {
         $tasks = $task->findTasks($params[0]);
     }
     if ($tasks === false) {
         $output['error'] = $task->getLastError();
     } else {
         $output['tasks'] = $tasks;
     }
     break;
 case 'addTaskActivity':
     $project = new SI_Project();
     $company = new SI_Company();
     $task = new SI_Task();
     $item_code = new SI_ItemCode();
     $task_activity = new SI_TaskActivity();
     $task_activity->start_ts = getTSFromInput($_POST['ta_popup_start_ts']['date'], $_POST['ta_popup_start_ts']['time']);
     $task_activity->end_ts = getTSFromInput($_POST['ta_popup_end_ts']['date'], $_POST['ta_popup_end_ts']['time']);
     $task_activity->task_id = intval($_POST['ta_popup_task_id']);
     $task_activity->user_id = $loggedin_user->id;
     $task_activity->text = $_POST['ta_popup_text'];
     $task_activity->item_code_id = $_POST['ta_popup_item_code_id'];
     $debug_info = "\n\t\t\tPOST = " . print_r($_POST, true) . "\n\n\t\t\tstart_ts = {$task_activity->start_ts}\n\n\t\t\tend_ts = {$task_activity->end_ts}\n\n\t\t\ttask_id = {$task_activity->task_id}\n\n\t\t\tuser_id = {$task_activity->user_id}\n\n\t\t\titem_code_id = {$task_activity->item_code_id}\n\n\t\t\ttext = {$task_activity->text}\n\n\t\t";
     $output['debug'] = $debug_info;
     if ($task_activity->task_id > 0 || $task_activity->start_ts > 0 || $task_activity->end_ts > 0) {
         if ($task_activity->task_id <= 0 || $task_activity->start_ts <= 0 || $task_activity->end_ts <= 0) {
             $output['error'] = "Skipping incomplete entry\n";
             break;
         }
     } else {
	function getItemCode(){
		if($this->item_code_id <= 0){
			$this->error = 	"SI_TaskActivity::getItemCode(): Item Code id is not set";
			return FALSE;
		}
		
		if($this->_item_code == FALSE){
			$ic = new SI_ItemCode();
			if($ic->get($this->item_code_id) === FALSE){
				$this->error = "SI_TaskActivity::getItemCode(): Error getting item code {$this->item_code_id}: ".$ic->getLastError();
				return FALSE;
			}
			$this->_item_code =& $ic;
		}

		return $this->_item_code;
	}
Example #10
0
	if(!move_uploaded_file($_FILES['iif_file']['tmp_name'], $dest_file)){
		$error_msg .= "Could not move uploaded file!";	
	}else{
		$data = $importer->import($dest_file);
		if($data === FALSE){
			$error_msg .= "Error importing file!";
			debug_message($importer->getLastError());
		}
		
		$company = new SI_Company();
		if($company->importQB($data) === FALSE){
			$error_msg .= "Error importing company data!";
			debug_message($company->getLastError());	
		}

		$code = new SI_ItemCode();
		if($code->importQB($data) === FALSE){
			$error_msg .= "Error importing item code data!";
			debug_message($code->getLastError());	
		}

		$account = new SI_Account();
		if($account->importQB($data) === FALSE){
			$error_msg .= "Error importing account data!";
			debug_message($account->getLastError());	
		}
	}
}

?>
<? require('header.php'); ?>
Example #11
0
	<td class="form_field_cell">
		<select name="company_id" class="input_text">
			<option value="0">None</option>
			<?php 
echo SI_Company::getSelectTags($project->company_id);
?>
		</select>
	</td>
</tr>
<tr>
	<td class="form_field_header_cell">Default Item Code:</td>
	<td class="form_field_cell">
		<select name="default_item_code_id" class="input_text">
			<option value="0">None</option>
			<?php 
echo SI_ItemCode::getSelectTags($project->default_item_code_id);
?>
		</select>
	</td>
</tr>
<tr>
	<td class="form_field_header_cell">Due:</td>
	<td class="form_field_cell">
		<input type="text" class="input_text" name="due_ts" id="due_ts" SIZE="10" value="<?php 
echo $project->due_ts > 0 ? date("n/j/Y", $project->due_ts) : '';
?>
">&nbsp;
		<a href="javascript:;" onclick="Uversa.SureInvoice.Calendar.show('due_ts')"><img width="16" height="16" border="0" src="images/dynCalendar.gif"/></a>&nbsp;	
	</td>
</tr>
<tr>
echo $_SERVER['PHP_SELF'];
?>
" METHOD="GET">
<div class="tableContainer">
<a href="javascript:;" class="tCollapse" onclick="toggleGrid(this)"><img src="images/arrow_down.jpg" alt="Hide table" /><?php 
echo $title;
?>
</a><div>
<table border="0" cellspacing="0" cellpadding="0" class="form_table">
<tr>
	<td class="form_field_header_cell">Item Code:</td>
	<td class="form_field_cell">
		<select name="item_code_id" id="item_code_id" class="input_text">
			<option value="0">All Item Codes</option>
			<?php 
echo SI_ItemCode::getSelectTags($item_code_id);
?>
		</select>	
	</td>
</tr>
<tr>
	<td class="form_field_header_cell">Start:</td>
	<td class="form_field_cell">
		<input type="text" class="input_text" name="start" id="start" SIZE="10" value="<?php 
echo date("n/j/Y", $start_ts);
?>
">&nbsp;
		<a href="javascript:;" onclick="Uversa.SureInvoice.Calendar.show('start')"><img width="16" height="16" border="0" src="images/dynCalendar.gif"/></a>&nbsp;
	</td>
</tr>
<tr>
Example #13
0
 function run($preview = true)
 {
     $results = array();
     if (is_readable($this->file)) {
         $handle = fopen($this->file, "r");
         $first_row = true;
         while (($data = fgetcsv($handle, 4096, ",")) !== FALSE) {
             if ($first_row) {
                 $first_row = false;
                 continue;
             }
             // Process a row
             $result = array();
             $result['action'] = 'Import';
             $result['start_ts'] = strtotime($data[$this->column_mappings[SI_IMPORT_COLUMN_START]]);
             if (isset($this->column_mappings[SI_IMPORT_COLUMN_DURATION])) {
                 // Duration based import
                 $result['end_ts'] = $result['start_ts'] + floatval($data[$this->column_mappings[SI_IMPORT_COLUMN_DURATION]]) * 60 * 60;
             } else {
                 // Start and end time provided
                 $result['start_ts'] = strtotime($data[$this->column_mappings[SI_IMPORT_COLUMN_END]]);
             }
             if (isset($this->column_mappings[SI_IMPORT_COLUMN_COMMENTS])) {
                 $result['comments'] = $data[$this->column_mappings[SI_IMPORT_COLUMN_COMMENTS]];
             } else {
                 $results['comments'] = '';
             }
             $user = $data[$this->column_mappings[SI_IMPORT_COLUMN_USER]];
             $normalized_user = $this->normalize($user);
             if (empty($normalized_user)) {
                 $normalized_user = '******';
             }
             if ($this->users[$normalized_user]['action'] == SI_IMPORT_ACTION_SKIP) {
                 $result['user_id'] = 0;
                 $result['message'] = "Skipped because no user map for '{$user}' was configured";
                 $result['action'] = "Skip";
                 $results[] = $result;
                 continue;
             } else {
                 $result['user_id'] = $this->users[$normalized_user]['param'];
             }
             $task = $data[$this->column_mappings[SI_IMPORT_COLUMN_TASK]];
             $normalized_task = $this->normalize($task);
             if (empty($normalized_task)) {
                 $normalized_task = '_blank_';
             }
             if ($this->tasks[$normalized_task]['action'] == SI_IMPORT_ACTION_SKIP) {
                 $result['task_id'] = 0;
                 $result['message'] = "Skipped because no task map for '{$task}' was configured";
                 $result['action'] = "Skip";
                 $results[] = $result;
                 continue;
             } else {
                 $result['task_id'] = $this->tasks[$normalized_task]['param'];
             }
             $task = new SI_Task();
             $task->get($result['task_id']);
             $ic = $data[$this->column_mappings[SI_IMPORT_COLUMN_ITEMCODE]];
             $normalized_ic = $this->normalize($ic);
             if (empty($normalized_ic)) {
                 $normalized_ic = '_blank_';
             }
             if ($this->item_codes[$normalized_ic]['action'] == SI_IMPORT_ACTION_SKIP) {
                 $result['item_code_id'] = $task->getDefaultItemCode();
                 if ($result['item_code_id'] == 0) {
                     $result['message'] = "Skipped because no item code map for '{$ic}' was configured and no default item code exists for project";
                     $result['action'] = "Skip";
                     $results[] = $result;
                     continue;
                 } else {
                     $result['message'] = "Item Code retreived from project";
                 }
             } else {
                 $result['item_code_id'] = $this->item_codes[$normalized_ic]['param'];
             }
             if ($result['start_ts'] <= 0 || $result['end_ts'] <= 0) {
                 $result['message'] = "Invalid start or end time";
                 $result['action'] = "Skip";
                 $results[] = $result;
                 continue;
             }
             if ($result['start_ts'] > $result['end_ts']) {
                 $result['message'] = "Start Time is before end time";
                 $result['action'] = "Skip";
                 $results[] = $result;
                 continue;
             }
             if ($result['end_ts'] - $result['start_ts'] > 12 * 60 * 60) {
                 $result['message'] = "Length of time is too long, >12 hours";
                 $result['action'] = "Skip";
                 $results[] = $result;
                 continue;
             }
             $project = new SI_Project();
             $company = new SI_Company();
             $task = new SI_Task();
             $item_code = new SI_ItemCode();
             $task_activity = new SI_TaskActivity();
             $task_activity->start_ts = $result['start_ts'];
             $task_activity->end_ts = $result['end_ts'];
             $task_activity->task_id = $result['task_id'];
             $task_activity->user_id = $result['user_id'];
             $task_activity->text = $result['comments'];
             $task_activity->item_code_id = $result['item_code_id'];
             if ($task_activity->task_id > 0 || $task_activity->start_ts > 0 || $task_activity->end_ts > 0) {
                 if ($task_activity->task_id <= 0 || $task_activity->start_ts <= 0 || $task_activity->end_ts <= 0) {
                     $result['action'] = "Skip";
                     $result['message'] = "Skipping incomplete entry\n";
                     $results[] = $result;
                     continue;
                 }
             } else {
                 $result['action'] = "Skip";
                 $result['message'] = "Skipping incomplete entry\n";
                 $results[] = $result;
                 continue;
             }
             if ($task->get($task_activity->task_id) === FALSE) {
                 $result['action'] = "Skip";
                 $result['message'] = "Could not retreive task:\n" . $task->getLastError();
                 $results[] = $result;
                 continue;
             }
             if ($project->get($task->project_id) === FALSE) {
                 $result['action'] = "Skip";
                 $result['message'] = "Could not retreive project:\n" . $project->getLastError();
                 $results[] = $result;
                 continue;
             }
             $user = new SI_User();
             if ($user->get($task_activity->user_id) === FALSE) {
                 $result['action'] = "Skip";
                 $result['message'] = "Could not retreive user:\n" . $user->getLastError();
                 $results[] = $result;
                 continue;
             }
             $task_activity->hourly_cost = $user->hourly_rate;
             $company = $project->getCompany();
             if ($company === FALSE) {
                 $result['action'] = "Skip";
                 $result['message'] = "Could not get company information:\n" . $project->getLastError();
                 $results[] = $result;
                 continue;
             }
             $task_activity->hourly_rate = $item_code->getCompanyPrice($company->id, $task_activity->item_code_id);
             if ($task_activity->hourly_rate === FALSE) {
                 $result['action'] = "Skip";
                 $result['message'] = "Error getting price for this item code:\n" . $item_code->getLastError();
                 $results[] = $result;
                 continue;
             }
             $sct = $task->getSalesCommissionType();
             $task_activity->sales_com_type_id = $sct->id;
             if (!$preview) {
                 if (!$task_activity->add()) {
                     $result['action'] = "Skip";
                     $result['message'] = "Error adding Task Activity:\n" . $task_activity->getLastError();
                 }
             }
             $results[] = $result;
         }
     }
     return $results;
 }
Example #14
0
<div id="SIAddTAPopup" style="visibility: hidden;">
<div class="box">
	<div class="boxTitle">
		<h3>Add Time</h3><span class="boxTitleRight">&nbsp;</span><span class="boxTitleCorner">&nbsp;</span>
	</div>
	<div class="boxContent">
		<form action="json.php/addTaskActivity" method="POST">
		<table border="0" cellspacing="10" cellpadding="0" class="form_table">
		<tr>
			<td>
				<input type="hidden" name="ta_popup_task_id"  id="ta_popup_task_id" value="">
				<input type="text" class="siACInput" name="ta_popup_task_name" id="ta_popup_task_name" SIZE="50"  value=""><br />
				<div id="ta_popup_ac_container" class="siACContainer"></div>
				<select name="ta_popup_item_code_id" id="ta_popup_item_code_id" CLASS="input_text">
					<?php 
echo SI_ItemCode::getSelectTags();
?>
				</select><br>
				<input type="text" class="input_text" name="ta_popup_start_ts[date]" id="ta_popup_start_ts_date" SIZE="10" autocomplete="off">&nbsp;
				<a href="javascript:;" onclick="Uversa.SureInvoice.Calendar.show('ta_popup_start_ts_date', 'SIAddTAPopup', 'ta_popup_end_ts_date')"><img width="16" height="16" border="0" src="images/dynCalendar.gif"/></a>&nbsp;
				<input type="text" class="input_text" name="ta_popup_start_ts[time]" id="ta_popup_start_ts_time" SIZE="7" autocomplete="off">&nbsp;
				<a href="javascript:;" onclick="Uversa.SureInvoice.Calendar.currentTime('ta_popup_start_ts_date', 'ta_popup_start_ts_time', 'ta_popup_end_ts_date', 'ta_popup_end_ts_time')"><img width="16" height="16" border="0" src="images/set_time.gif"/></a>&nbsp;<br/>
				<input type="text" class="input_text" name="ta_popup_end_ts[date]" id="ta_popup_end_ts_date" SIZE="10" autocomplete="off">&nbsp;
				<a href="javascript:;" onclick="Uversa.SureInvoice.Calendar.show('ta_popup_end_ts_date', 'SIAddTAPopup')"><img width="16" height="16" border="0" src="images/dynCalendar.gif"/></a>&nbsp;
				<input type="text" class="input_text" name="ta_popup_end_ts[time]" id="ta_popup_end_ts_time" SIZE="7" autocomplete="off">&nbsp;
				<a href="javascript:;" onclick="Uversa.SureInvoice.Calendar.currentTime('ta_popup_end_ts_date', 'ta_popup_end_ts_time')"><img width="16" height="16" border="0" src="images/set_time.gif"/></a>&nbsp;<br/>
			</td>
			<td valign="top" class="form_field_cell">
				<textarea name="ta_popup_text" id="ta_popup_text" CLASS="input_text" COLS="45" ROWS="5"></textarea>
			</td>
		</tr>
Example #15
0
function soap_get_item_codes($username, $password)
{
    $user = auth_user($username, $password);
    if ($user === FALSE) {
        return new soap_fault('Client', '', 'Access Denied');
    }
    $ic = new SI_ItemCode();
    $ics = $ic->retrieveSet(" ORDER BY code ");
    return object_to_data($ics, array('id', 'code', 'description'));
}
Example #16
0
	function getCodeName($ic_id = null, $long = false){
		if(is_null($ic_id)){
			$ic_id = $this->id;
		}
		
		$ic = new SI_ItemCode();
		$results = $ic->retrieveSet('WHERE id = '.$ic_id, true);

		if($results == false){
			$this->error = "Error looking up item code: ".$ic->getLastError();
			return FALSE;
		}
		
		$name = '';
		foreach($results as $row){
			$name = $row['code'];
			if($long){
				$name .= ' - '.$row['description'];
			}
		}
		
		return $name;
	}
Example #17
0
echo $_REQUEST['id'];
?>
&item_code_id=<?php 
echo $item_codes[$i]->id;
?>
"><img src="images/delete.gif" width="16" height="16" alt="Delete Item Code" title="Delete Item Code" border="0" /></a>
		</td>
	</tr>
<? }?>
</tbody>
	<tr>
		<td colspan="3" class="dg_data_cell_1">
			<select name="new_item_code_id">
				<option value="0">Select Item Code...</option>
				<?php 
echo SI_ItemCode::getSelectTags(NULL, $rate_structure->item_code_ids);
?>
			</select>
			<input type="submit" class="button" name="save" value="Add">
		</td>
	</tr>
</table>
	</div>
</div>
<div class="tableContainer">
<a href="javascript:;" class="tCollapse" onclick="toggleGrid(this)"><img src="images/arrow_down.jpg" alt="Hide table" />Structure Lines</a><div>
<table border="0" cellspacing="0" cellpadding="0" class="dg_table">
	<tr>
		<th class="dg_header_cell"><a class="link1" href="" onclick="return sortTable('bodyId', 0, 1, false)">Low</a></th>
		<th class="dg_header_cell"><a class="link1" href="" onclick="return sortTable('bodyId', 1, 0, false)">High</a></th>
		<th class="dg_header_cell"><a class="link1" href="" onclick="return sortTable('bodyId', 2, 0, false)">Discount/Hour</a></th>
 *
 */
require_once('includes/common.php');
require_once('includes/SI_PaymentSchedule.php');
require_once('includes/SI_CompanyTransaction.php');
require_once('includes/SI_Project.php');
require_once('includes/SI_Task.php');
require_once('includes/SI_ItemCode.php');

checkLogin('accounting');

$title = '';
$ps = new SI_PaymentSchedule();
$project = new SI_Project();
$task = new SI_Task();
$item_code = new SI_ItemCode();

// Clean up amount
if(!empty($_POST['amount'])){
	$_POST['amount'] = preg_replace('/[^0-9\.]/','', $_POST['amount']);
}

if($_REQUEST['mode'] == 'add'){
	$title = "Add Scheduled Billing";

	$project_id = intval($_REQUEST['project_id']);
	$task_id = intval($_REQUEST['task_id']);
	if($project_id == 0 && $task_id == 0){
		fatal_error("You must provide a task_id or project_id for this scheduled payment!\n");
	}
Example #19
0
}

if(isset($_POST['save2'])){
	$output = '';
	if(isset($_POST['export_companies']) && is_array($_POST['export_companies'])){
		$company = new SI_Company();
		$company_output = $company->exportQB("WHERE id IN (".join(',', $_POST['export_companies']).")");
		if($company_output === FALSE){
			fatal_error("Error getting company export data!\n".$company->getLastError());
		}else{
			$output .= $company_output;
		}
	}
	
	if(isset($_POST['export_item_codes']) && is_array($_POST['export_item_codes'])){
		$item_code = new SI_ItemCode();
		$item_code_output = $item_code->exportQB("WHERE id IN (".join(',', $_POST['export_item_codes']).")");
		if($item_code_output === FALSE){
			fatal_error("Error getting item_code export data!\n".$item_code->getLastError());
		}else{
			$output .= $item_code_output;
		}
	}

	if(isset($_POST['export_accounts']) && is_array($_POST['export_accounts'])){
		$account = new SI_Account();
		$account_output = $account->exportQB("WHERE id IN (".join(',', $_POST['export_accounts']).")");
		if($account_output === FALSE){
			fatal_error("Error getting account export data!\n".$account->getLastError());
		}else{
			$output .= $account_output;