src.dualinventive.com/mtinfo/dist/webroot/rc-4.05/include/db_messages.php

155 lines
3.6 KiB
PHP

<?php
/** \file include\db_project.php
* \brief DI webinterface messages functions
* \author Rob Schalken, Core|Vision
* \version 1.0
* \date 17-10-2008
*
* This file contains the messages database functions. This file is always included.
*/
/**
* Fetch message which match lance database id
*
* Inputs:
* - message_id Message database id
*
* Return: Array containing project info
*/
function db_fetch_message($message_id) {
// Initial return value
$result = "";
// Fetch message
$row_message = db_fetch_data("SELECT * FROM bericht WHERE id='" . $message_id . "'", 1);
// Parse into result
if (!empty($row_message)) {
$result = $row_message[0];
}
return $result;
}
/**
* Fetch message user
*
* Inputs:
* - user_id: lance database id/lance serial number
*
* Return: Array containing messages
*/
function db_fetch_messages_user($user_id, $status = "") {
// Initial return value
$result = "";
// Fetch message info
$query = "SELECT * FROM bericht WHERE naar='" . $user_id . "'";
// Search for status?
if (strlen($status)) {
$query .= " AND status='" . $status . "'";
}
$query .= " ORDER BY datum DESC";
// Execute query
$row_messages = db_fetch_data($query);
// Parse into result
if (!empty($row_messages)) {
$result = $row_messages;
}
return $result;
}
/**
* Store new message
*
* Inputs:
* - message_array: Array containing all message info
*
* Return: 1 (OK)/ 0(Error)
*/
function db_store_message($message_array) {
// Initial return value
$result = 0;
// Query storing new lance
$query = "INSERT INTO bericht (van, verzender, naar, status, datum, onderwerp, tekst) VALUES(";
$query .= "'" . addslashes($message_array['van']) . "',";
$query .= "'" . addslashes($message_array['verzender']) . "',";
$query .= "'" . addslashes($message_array['naar']) . "',";
$query .= "'" . addslashes($message_array['status']) . "',";
$query .= "'" . addslashes(date('Y-m-d H:i:s')) . "',";
$query .= "'" . addslashes($message_array['onderwerp']) . "',";
$query .= "'" . addslashes($message_array['tekst']) . "')";
if (db_store_data($query)) {
// Log user-lance action
$lance = db_fetch_lance($lance_array['serienr'], $lance_array['eigenaar']);
db_log_user_user($message_array['naar'], "menu:berichten:nieuw", serialize($message_array));
// Result OK
$result = 1;
}
return $result;
}
/**
* Update exisiting message
*
* Inputs:
* - message_id Message db id
*
* Return: 1 (OK)/ 0(Error)
*/
function db_update_message($message_id) {
// Initial return value
$result = 0;
// Query updating message
$query = "UPDATE bericht SET status='read' where id='" . $message_id . "'";
if (db_store_data($query)) {
// Result OK
$result = 1;
}
return $result;
}
/**
* Delete message
*
* Inputs:
* - message_id Message database id
*
* Return: 1 (OK)/ 0(Error)
*/
function db_delete_message($message_id) {
// Initial return value
$result = 0;
// Start transaction
db_start_transaction();
// Delete project
$query = "DELETE FROM bericht WHERE ID='" . $message_id . "'";
db_store_data($query);
// Commit transaction
if (db_commit_transaction()) {
// Parse result
$result = 1;
}
return $result;
}
?>