public function displayCompanyRow($companyModel, $displayMode, $rowStyle, $warningMsg = null) { if (null === $warningMsg) { $warningMsg = ''; } else { $warningMsg = "<br /><span style=\"color: red;\">{$warningMsg}</span>"; } $id = $companyModel->getId(); $agencyCompanyId = $companyModel->getAgencyCompanyId(); $companyName = $companyModel->getCompanyName(); $companyAddress1 = $companyModel->getCompanyAddress1(); $companyAddress2 = $companyModel->getCompanyAddress2(); $companyCity = $companyModel->getCompanyCity(); $companyState = $companyModel->getCompanyState(); $companyZip = $companyModel->getCompanyZip(); $companyPhone = $companyModel->getCompanyPhone(); $companyUrl = $companyModel->getCompanyUrl(); $created = $companyModel->getCreated(); $updated = $companyModel->getUpdated(); $encodedUrl = htmlspecialchars($companyUrl); if ($agencyCompanyId > 0) { $agencyCompanyController = new CompanyController(); $agencyCompanyModel = $agencyCompanyController->get($agencyCompanyId); $agency = $agencyCompanyModel->getCompanyName(); } else { $agency = 'None'; } $row1 = $row2 = ""; switch ($displayMode) { case 'add': $agencyList = $this->getAgencyList("ix{$id}", null); $row1 = <<<HTML <td rowspan="2"> <button type="button" id="SaveButtonix{$id}" onclick="saveAddCompany( '{$id}' )">Save</button> <button type="button" id="CancelButtonix{$id}" onclick="deleteRow( 'ix{$id}-1' ); deleteRow( 'ix{$id}-2' );">Cancel</button> {$warningMsg} </td> <td><font size="+2"><input type="text" id="companyNameix{$id}" value="{$companyName}" /></font></td> <td><input type="text" id="companyAddress1ix{$id}" value="{$companyAddress1}" /></th> <td><input type="text" id="companyCityix{$id}" value="{$companyCity}" /></td> <td><input type="text" id="companyStateix{$id}" size="2" value="{$companyState}" /></td> <td><input type="text" id="companyZipix{$id}" size="10" value="{$companyZip}" /></td> <td>{$created}</td> HTML; $row2 = <<<HTML <td>{$agencyList}</td> <td><input type="text" id="companyAddress2ix{$id}" value="{$companyAddress2}" /></th> <td><input type="text" id="companyPhoneix{$id}" value="{$companyPhone}" /></td> <td colspan="2"><input type="text" id="companyUrlix{$id}" value="{$encodedUrl}" /></a></td> <td>{$updated}</td> HTML; break; case 'delete': $row1 = <<<HTML <td rowspan="2"> <button type="button" id="DeleteButton{$id}" onclick="doDeleteCompany( '{$id}' )">Confirm Delete</button> <button type="button" id="CancelButton{$id}" onclick="cancelUpdateCompanyRow( '{$id}' )">Cancel</button> {$warningMsg} </td> <td><font size="+2">{$companyName}</font></td> <td>{$companyAddress1}</th> <td>{$companyCity}</td> <td>{$companyState}</td> <td>{$companyZip}</td> <td>{$created}</td> HTML; $row2 = <<<HTML <td>{$agency}</td> <td>{$companyAddress2}</th> <td>{$companyPhone}</td> <td colspan="2"><a href="{$encodedUrl}">{$encodedUrl}</a></td> <td>{$updated}</td> HTML; break; case 'list': $row1 = <<<HTML <td rowspan="2"> <button type="button" id="UpdateButton{$id}" onclick="updateCompany( '{$id}' )">Update</button> <button type="button" id="DeleteButton{$id}" onclick="deleteCompany( '{$id}' )">Delete</button> {$warningMsg} </td> <td><font size="+2">{$companyName}</font></td> <td>{$companyAddress1}</th> <td>{$companyCity}</td> <td>{$companyState}</td> <td>{$companyZip}</td> <td>{$created}</td> HTML; $row2 = <<<HTML <td>{$agency}</td> <td>{$companyAddress2}</th> <td>{$companyPhone}</td> <td colspan="2"><a href="{$encodedUrl}">{$encodedUrl}</a></td> <td>{$updated}</td> HTML; break; case 'update': $agencyList = $this->getAgencyList($id, $id); $row1 = <<<HTML <td rowspan="2"> <button type="button" id="SaveButton{$id}" onclick="saveUpdateCompany( '{$id}' )">Save</button> <button type="button" id="CancelButton{$id}" onclick="cancelUpdateCompanyRow( '{$id}' )">Cancel</button> {$warningMsg} </td> <td><font size="+2"><input type="text" id="companyName{$id}" value="{$companyName}" /></font></td> <td><input type="text" id="companyAddress1{$id}" value="{$companyAddress1}" /></th> <td><input type="text" id="companyCity{$id}" value="{$companyCity}" /></td> <td><input type="text" id="companyState{$id}" size="2" value="{$companyState}" /></td> <td><input type="text" id="companyZip{$id}" size="10" value="{$companyZip}" /></td> <td>{$created}</td> HTML; $row2 = <<<HTML <td>{$agencyList}</td> <td><input type="text" id="companyAddress2{$id}" value="{$companyAddress2}" /></th> <td><input type="text" id="companyPhone{$id}" value="{$companyPhone}" /></td> <td colspan="2"><input type="text" id="companyUrl{$id}" value="{$encodedUrl}" /></a></td> <td>{$updated}</td> HTML; break; } return array($row1, $row2); }
$companyUrl = Tools::param('companyUrl'); $rowStyle = Tools::param('rowStyle'); $rowId = Tools::param('rowId'); $newCompanyModel = null; try { $companyModel = new CompanyModel(); $companyModel->setAgencyCompanyId($agencyCompanyId); $companyModel->setCompanyName($companyName); $companyModel->setCompanyAddress1($companyAddress1); $companyModel->setCompanyAddress2($companyAddress2); $companyModel->setCompanyCity($companyCity); $companyModel->setCompanyState($companyState); $companyModel->setCompanyZip($companyZip); $companyModel->setCompanyPhone($companyPhone); $companyModel->setCompanyUrl($companyUrl); $companyController = new CompanyController(); $companyId = $companyController->add($companyModel); if (!($companyId > 0)) { throw new ControllerException("Add failed."); } $newCompanyModel = $companyController->get($companyId); $companyRowView = new CompanyListView('html', null); $rows = $companyRowView->displayCompanyRow($newCompanyModel, 'list', $rowStyle); } catch (ControllerException $e) { $companyRowView = new CompanyListView('html', null); $companyModel->setId($rowId); $rows = $companyRowView->displayCompanyRow($companyModel, 'add', $rowStyle, 'Add Company record failed. ' . $e->getMessage()); $result = 'FAILED'; } $result = array('result' => $result, 'rows' => $rows, 'newId' => $companyId); echo json_encode($result) . PHP_EOL;
public function displayContactRow($contactModel, $displayMode) { $id = $contactModel->getId(); if ("add" === $displayMode) { $companyId = $companyName = $name = $email = $aphone = $bphone = $created = $updated = ''; } else { $companyId = $contactModel->getContactCompanyId(); $companyController = new CompanyController('read'); if ($companyId > 0) { $companyModel = $companyController->get($companyId); $companyName = $companyModel->getCompanyName(); } else { $companyName = '---'; } $name = $contactModel->getContactName(); $email = $contactModel->getContactEmail(); $aphone = $contactModel->getContactPhone(); $bphone = $contactModel->getContactAlternatePhone(); $created = $contactModel->getCreated(); $updated = $contactModel->getUpdated(); } switch ($displayMode) { case 'add': $companyListView = new CompanyListView('html'); $companyNames = $companyListView->getCompanyList("ix{$id}", $companyId); return <<<RETVAL <td><button type="button" id="SaveButtonix{$id}" onclick="saveAddContact( '{$id}' )">Save</button> <button type="button" id="CancelButtonix{$id}" onclick="deleteRow( 'ix{$id}' )">Cancel</button> </td> <td>{$companyNames}</td> <td><input type="text" id="nameix{$id}" value="{$name}"</td> <td><input type="email" id="emailix{$id}" value="{$email}"</td> <td><input type="text" id="phoneix{$id}" value="{$aphone}"</td> <td><input type="text" id="alternatePhoneix{$id}" value="{$bphone}" /></td> <td> </td> <td> </td> RETVAL; case 'update': $companyListView = new CompanyListView('html'); $companyNames = $companyListView->getCompanyList("{$id}", $companyId); return <<<RETVAL <td><button type="button" id="SaveButton{$id}" onclick="saveAddContact( '{$id}' )">Save</button> <button type="button" id="CancelButton{$id}" onclick="deleteRow( '{$id}' )">Cancel</button> </td> <td>{$companyNames}</td> <td><input type="text" id="name{$id}" value="{$name}"</td> <td><input type="email" id="email{$id}" value="{$email}"</td> <td><input type="text" id="phone{$id}" value="{$aphone}"</td> <td><input type="text" id="alternatePhone{$id}" value="{$bphone}" /></td> <td>{$created}</td> <td>{$updated}</td> RETVAL; case 'delete': return <<<RETVAL <td><button type="button" id="DeleteButton{$id}" onclick="doDeleteContact( '{$id}' )">Confirm Delete</button> <button type="button" id="CancelButton{$id}" onclick="cancelUpdateContactRow( '{$id}' )">Cancel</button> </td> <td>{$companyName}</td> <td>{$name}</td> <td>{$email}</td> <td>{$aphone}</td> <td>{$bphone}</td> <td>{$created}</td> <td>{$updated}</td> RETVAL; break; case 'list': return <<<RETVAL <td><button type="button" id="UpdateButton{$id}" onclick="updateContact( '{$id}' )">Update</button> <button type="button" id="DeleteButton{$id}" onclick="deleteContact( '{$id}' )">Delete</button> </td> <td>{$companyName}</td> <td>{$name}</td> <td>{$email}</td> <td>{$aphone}</td> <td>{$bphone}</td> <td>{$created}</td> <td>{$updated}</td> RETVAL; default: throw new ViewException('Undefined display mode'); } }
* 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. * */ require_once "Libs/autoload.php"; $auth = new Auth(); if (!$auth->isAuthorized()) { $auth->forbidden(); exit(0); // Should never get here but just in case... } $result = "OK"; $id = Tools::param('id'); $mode = Tools::param('mode'); $rowStyle = Tools::param('rowStyle'); $html = ''; $companyListView = new CompanyListView('html', null); if ('add' == $mode) { $companyModel = new CompanyModel(); $companyModel->setId($id); $htmlRows = $companyListView->displayCompanyRow($companyModel, $mode, $rowStyle); } else { $companyController = new CompanyController(); $companyModel = $companyController->get($id); $htmlRows = $companyListView->displayCompanyRow($companyModel, $mode, $rowStyle); } $result = array('result' => $result, 'rows' => $htmlRows); echo json_encode($result) . PHP_EOL;
/** * Return the HTML view * * @return string */ private function _getHtmlView() { $body = <<<'HTML' <a href="addJob.php">Add a new job</a><br /> <table border="1" cellspacing="0" cellpadding="2"> <caption>Current Jobs</caption> <tr> <th>Actions</th> <th>Urgency</th> <th>Title</th> <th>Location</th> <th>Company</th> <th>Contact</th> <th>Status</th> <th>Next Action</th> <th>Next Action Due</th> <th>Link</th> <th>Created</th> <th>Updated</th> </tr> HTML; foreach ($this->getJobModels() as $jobModel) { $id = $jobModel->getId(); $primaryContactId = $jobModel->getPrimaryContactId(); $companyId = $jobModel->getCompanyId(); $applicationStatusId = $jobModel->getApplicationStatusId(); $lastStatusChange = $jobModel->getLastStatusChange(); $urgency = $jobModel->getUrgency(); $created = $jobModel->getCreated(); $updated = $jobModel->getUpdated(); $nextActionDue = $jobModel->getNextActionDue(); $nextAction = $jobModel->getNextAction(); $positionTitle = $jobModel->getPositionTitle(); $location = $jobModel->getLocation(); $url = $jobModel->getUrl(); if ($primaryContactId >= 1) { $contactController = new ContactController('read'); $contactModel = $contactController->get($primaryContactId); $contactName = $contactModel->getContactName(); } if ($companyId >= 1) { $companyController = new CompanyController('read'); $companyModel = $companyController->get($companyId); $companyName = $companyModel->getCompanyName(); } else { $companyName = ''; } if ($applicationStatusId >= 1) { $applicationStatusController = new ApplicationStatusController('read'); $applicationStatusModel = $applicationStatusController->get($applicationStatusId); $applicationStatusValue = $applicationStatusModel->getStatusValue(); $applicationStatusStyle = $applicationStatusModel->getStyle(); } else { $applicationStatusValue = ''; $applicationStatusStyle = ''; } $body .= <<<HTML <tr> <td> <a href="editJob.php?id={$id}">Edit</a> | <a href="deleteJob.php?id={$id}">Delete</a> </td> <td>{$urgency}</td> <td>{$positionTitle}</td> <td>{$location}</td> <td>{$companyName}</td> <td>{$contactName}</td> <td style="{$applicationStatusStyle}">{$applicationStatusValue}</td> <td>{$nextAction}</td> <td>{$nextActionDue}</td> <td><a href="{$url}">{$url}</a></td> <td>{$created}</td> <td>{$updated}</td> </tr> HTML; } $body .= '</table>'; return $body; }