You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
96 lines
2.7 KiB
96 lines
2.7 KiB
<?php
|
|
/*********************************************************************
|
|
class.company.php
|
|
|
|
Company information
|
|
|
|
Peter Rotich <peter@osticket.com>
|
|
Jared Hancock <jared@osticket.com>
|
|
Copyright (c) 2006-2013 osTicket
|
|
http://www.osticket.com
|
|
|
|
Released under the GNU General Public License WITHOUT ANY WARRANTY.
|
|
See LICENSE.TXT for details.
|
|
|
|
vim: expandtab sw=4 ts=4 sts=4:
|
|
**********************************************************************/
|
|
require_once(INCLUDE_DIR.'class.forms.php');
|
|
require_once(INCLUDE_DIR.'class.dynamic_forms.php');
|
|
|
|
class Company
|
|
implements TemplateVariable {
|
|
var $form;
|
|
var $entry;
|
|
|
|
function getForm() {
|
|
if (!isset($this->form)) {
|
|
// Look for the entry first
|
|
if ($this->form = DynamicFormEntry::lookup(array('object_type'=>'C'))) {
|
|
return $this->form;
|
|
}
|
|
// Make sure the form is in the database
|
|
elseif (!($this->form = DynamicForm::lookup(array('type'=>'C')))) {
|
|
$this->__loadDefaultForm();
|
|
return $this->getForm();
|
|
}
|
|
// Create an entry to be saved later
|
|
$this->form = $this->form->instanciate();
|
|
$this->form->object_type = 'C';
|
|
}
|
|
return $this->form;
|
|
}
|
|
|
|
function getVar($name) {
|
|
if ($info = $this->getInfo()) {
|
|
$name = mb_strtolower($name);
|
|
if (isset($info[$name]))
|
|
return $info[$name];
|
|
}
|
|
}
|
|
|
|
function getInfo() {
|
|
return $this->getForm()->getClean();
|
|
}
|
|
|
|
function getName() {
|
|
return $this->getVar('name');
|
|
}
|
|
|
|
function asVar() {
|
|
return $this->getName();
|
|
}
|
|
|
|
static function getVarScope() {
|
|
return VariableReplacer::compileFormScope(
|
|
DynamicForm::lookup(array('type'=>'C'))
|
|
);
|
|
}
|
|
|
|
function __toString() {
|
|
try {
|
|
if ($name = $this->getForm()->getAnswer('name'))
|
|
return $name->display();
|
|
} catch (Exception $e) {}
|
|
return '';
|
|
}
|
|
|
|
/**
|
|
* Auto-installer. Necessary for 1.8 users between the RC1 release and
|
|
* the stable release who don't have the form in their database because
|
|
* it wan't in the yaml file for installation or upgrade.
|
|
*/
|
|
function __loadDefaultForm() {
|
|
require_once(INCLUDE_DIR.'class.i18n.php');
|
|
|
|
$i18n = new Internationalization();
|
|
$tpl = $i18n->getTemplate('form.yaml');
|
|
foreach ($tpl->getData() as $f) {
|
|
if ($f['type'] == 'C') {
|
|
$form = DynamicForm::create($f);
|
|
$form->save();
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
?>
|