public function create(RFPTemplate $t) {
$type = (int) $t->getTypeID();
if(!is_int($type)) {
throw new RFPException('Unable to get TypeID: '. $type);
}
//figure out the type of RFP, Actual Name "Wedding"
$query = '
SELECT
Type
FROM
RFP_Types
WHERE
ID = '. $type .'
LIMIT 1';
$typeName = $this->dbObj->getField($query);
//How many other same type RFPs are there?
$query = '
SELECT
count(ID)
FROM
RFP_Forms
WHERE
TypeID = '. $type;
$number = $this->dbObj->getField($query) + 1;
//Create the Record for the RFP
$query = '
INSERT INTO
RFP_Forms
SET
Name = "'. $typeName .' '. $number .'",
TypeID = '. $type .',
AccountID = '. $_SESSION['user']->getAccountID();
$this->dbObj->query($query);
$this->setName($typeName .' '. $number);
//save the id of the form we just created
$FormID = $this->dbObj->getLastID();
$this->id = $FormID;
//add the questions
if(!is_array($t->getQuestions())) {
throw new RFPException('Unable to load questions no array: $this->questions');
}
$questions = $t->getQuestions();
$query = '
INSERT INTO RFP_FormQuestions
(`FormID`,`QuestionID`,`Order`,`IsActive`) VALUES
';
$i = 1;
while($i <= count($questions)) {
$query .= '('. $FormID .', '. $questions[($i - 1)] .', '. $i .', 1)';
if($i != count($questions)) {
$query .= ', ';
}
$i++;
}
$this->dbObj->query($query);
$query = '
INSERT INTO RFP_FormDesign
SET
FormID = '. $FormID .',
title = "'. $this->getName() .'",
text = "Please fill out the request...",
IsActive = 1
';
$this->dbObj->query($query);
}