Skip to content
Snippets Groups Projects
Commit 3271fab5 authored by ElenaMetelitsa's avatar ElenaMetelitsa
Browse files

merged

parents 42f864d0 c813a217
Branches
Tags
No related merge requests found
......@@ -2197,6 +2197,40 @@ END//
DROP FUNCTION IF EXISTS CreateRequest//
CREATE FUNCTION `CreateRequest` (
`pRequestID` INT,
`pAccountID` INT,
`pTitle` VARCHAR(50) CHARSET utf8,
`pDescription` TEXT CHARSET utf8,
`pImage` BOOLEAN
) RETURNS int(11)
NO SQL
BEGIN
DECLARE EXIT HANDLER FOR SQLEXCEPTION RETURN -1;
IF pRequestID <= 0 THEN
INSERT INTO `requests`
(AccountID, Title, Description, Status, IsImage)
VALUES (pAccountID, pTitle, pDescription, 'opened', pImage);
RETURN LAST_INSERT_ID();
ELSE
UPDATE `requests`
SET requests.Description = pDescription,
requests.Title = pTitle,
requests.Date = NOW()
WHERE requests.ID = pRequestID AND
requests.AccountID = pAccountID
LIMIT 1;
RETURN ROW_COUNT()-1;
END IF;
END//
# -------------------------------------------------------------------------------------------
# Label: recovery
......@@ -2303,4 +2337,4 @@ BEGIN
RETURN LAST_INSERT_ID();
END //
DELIMITER ;
\ No newline at end of file
DELIMITER ;
......@@ -261,6 +261,7 @@ CREATE TABLE IF NOT EXISTS `requests` (
`Description` text CHARACTER SET utf8 NOT NULL,
`Date` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
`Status` enum('opened','processed','closed') NOT NULL DEFAULT 'opened',
`IsImage` BOOLEAN NOT NULL DEFAULT FALSE,
PRIMARY KEY (`ID`),
KEY `AccountID` (`AccountID`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
......
ALTER TABLE `requests` ADD IsImage BOOLEAN NOT NULL DEFAULT FALSE;
......@@ -36,7 +36,7 @@ class Controller_Handler_ErrMessages extends Controller_Handler
$data['requestID'] = $requestID;
}
}
sleep(2);
// sleep(3);
$this->response->body(json_encode($data));
}
......@@ -54,8 +54,10 @@ class Controller_Handler_ErrMessages extends Controller_Handler
if ($requestID <= 0) {
$ticket = $this->sendNewRequest($this->user->ID, $title, $text);
} else {
// TODO write in to existed record
$ticket = $this->updateExistedRequest($requestID, $this->user->ID, $title, $text); // not implemented
$ticket = $this->updateExistedRequest($requestID, $this->user->ID, $title, $text);
if ($ticket!=$requestID) {
// Error!
}
}
$subject = "Request {$ticket}: rating system report";
......@@ -79,31 +81,15 @@ class Controller_Handler_ErrMessages extends Controller_Handler
/** return int number of created ticket */
private function sendNewRequest($accountID, $title, $description) {
$sql = "SELECT `CreateRequest`(:account, :title, :description) AS 'Num';";
return DB::query(Database::SELECT, $sql)
->param(':account', (int) $accountID)
->param(':description', $description)
->param(':title', $title)
->execute()->get('Num');
return Model_Support::newRequest($accountID, $title, $description, false);
}
private function updateExistedRequest($requestID,$accountID, $title, $description) {
// TODO: implement
return $requestID;
private function updateExistedRequest($requestID, $accountID, $title, $description) {
return Model_Support::updateRequest($requestID, $accountID, $title, $description);
}
private function createRequestWithImg($accountID) {
// TODO: implement
/*
$sql = "SELECT `CreateRequest`(:account, :title, :description, :isImage) AS 'Num';";
return DB::query(Database::SELECT, $sql)
->param(':account', (int) $accountID)
->param(':description', "")
->param(':title', "")
->param(':isImage',true)
->execute()->get('Num');
*/
return 165;
return Model_Support::newRequest($accountID);
}
}
<?php defined('SYSPATH') or die('No direct script access.');
class Model_Support extends Model
{
public static function newRequest($accountID, $description = '', $title = '', $isImg = false) {
$sql = "SELECT `CreateRequest`(0, :account, :title, :description, :isImg) AS 'Num';";
return DB::query(Database::SELECT, $sql)
->param(':account', (int) $accountID)
->param(':description', $description)
->param(':title', $title)
->param(':isImg', $isImg)
->execute()->get('Num');
}
public static function updateRequest($requestID, $accountID, $description, $title) {
$sql = "SELECT `CreateRequest`(:requestID, :account, :title, :description, :isImg) AS 'Num';";
return DB::query(Database::SELECT, $sql)
->param(':requestID', (int) $requestID)
->param(':account', (int) $accountID)
->param(':description', $description)
->param(':title', $title)
->param(':isImg', true)
->execute()->get('Num');
}
}
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment