$name, ]; $query = 'select id from ' . $this->getTable() . ' where name = ?'; $name_id = $this->db->GetOne( $query, $ph ); Debug::Arr( $name_id, 'Unique Name: ' . $name, __FILE__, __LINE__, __METHOD__, 10 ); if ( $name_id === false ) { return true; } else { if ( $name_id == $this->getId() ) { return true; } } return false; } /** * @return bool|mixed */ function getName() { return $this->getGenericDataValue( 'name' ); } /** * @param $value * @return bool */ function setName( $value ) { $value = trim( $value ); return $this->setGenericDataValue( 'name', $value ); } /** * @return bool|mixed */ function getValue() { return $this->getGenericDataValue( 'value' ); } /** * @param $value * @return bool */ function setValue( $value ) { $value = trim( $value ); return $this->setGenericDataValue( 'value', $value ); } /** * @return bool */ function Validate() { // // BELOW: Validation code moved from set*() functions. // // Name $this->Validator->isLength( 'name', $this->getName(), TTi18n::gettext( 'Name is too short or too long' ), 1, 250 ); if ( $this->Validator->isError( 'name' ) == false ) { $this->Validator->isTrue( 'name', $this->isUniqueName( $this->getName() ), TTi18n::gettext( 'Name already exists' ) ); } // Value $this->Validator->isLength( 'value', $this->getValue(), TTi18n::gettext( 'Value is too short or too long' ), 1, 4096 ); // // ABOVE: Validation code moved from set*() functions. // return true; } //This table doesn't have any of these columns, so overload the functions. /** * @return bool */ function getDeleted() { return false; } /** * @param $bool * @return bool */ function setDeleted( $bool ) { return false; } /** * @return bool */ function getCreatedDate() { return false; } /** * @param int $epoch EPOCH * @return bool */ function setCreatedDate( $epoch = null ) { return false; } /** * @return bool */ function getCreatedBy() { return false; } /** * @param string $id UUID * @return bool */ function setCreatedBy( $id = null ) { return false; } /** * @return bool */ function getUpdatedDate() { return false; } /** * @param int $epoch EPOCH * @return bool */ function setUpdatedDate( $epoch = null ) { return false; } /** * @return bool */ function getUpdatedBy() { return false; } /** * @param string $id UUID * @return bool */ function setUpdatedBy( $id = null ) { return false; } /** * @return bool */ function getDeletedDate() { return false; } /** * @param int $epoch EPOCH * @return bool */ function setDeletedDate( $epoch = null ) { return false; } /** * @return bool */ function getDeletedBy() { return false; } /** * @param string $id UUID * @return bool */ function setDeletedBy( $id = null ) { return false; } /** * @return bool */ function postSave() { $this->removeCache( 'all' ); $this->removeCache( $this->getName() ); return true; } /** * @param $key * @param $value * @return bool|int|string */ static function setSystemSetting( $key, $value ) { $retval = false; $sslf = new SystemSettingListFactory(); $sslf->StartTransaction(); $sslf->getByName( $key ); if ( $sslf->getRecordCount() == 1 ) { $obj = $sslf->getCurrent(); } else { $obj = new SystemSettingListFactory(); } $obj->setName( $key ); $obj->setValue( $value ); if ( $obj->isValid() ) { Debug::Text( 'Key: ' . $key . ' Value: ' . $value . ' isNew: ' . (int)$obj->isNew(), __FILE__, __LINE__, __METHOD__, 10 ); $retval = $obj->Save(); } else { Debug::Text( ' ERROR: Unable to set SystemSetting record! Key: ' . $key . ' Value: ' . $value . ' isNew: ' . (int)$obj->isNew(), __FILE__, __LINE__, __METHOD__, 10 ); $sslf->FailTransaction(); } $sslf->CommitTransaction(); return $retval; } /** * @param $key * @return bool */ static function getSystemSettingValueByKey( $key ) { global $db; if ( isset( $db ) && is_object( $db ) ) { $sslf = new SystemSettingListFactory(); $sslf->getByName( $key ); if ( $sslf->getRecordCount() == 1 ) { $obj = $sslf->getCurrent(); return $obj->getValue(); } else if ( $sslf->getRecordCount() > 1 ) { Debug::Text( 'ERROR: ' . $sslf->getRecordCount() . ' SystemSetting record(s) exists with key: ' . $key, __FILE__, __LINE__, __METHOD__, 10 ); } } else { Debug::Text( 'WARNING: No database connection exists when trying to get record with key: ' . $key, __FILE__, __LINE__, __METHOD__, 10 ); } return false; } /** * @param $key * @return bool|mixed */ static function getSystemSettingObjectByKey( $key ) { $sslf = new SystemSettingListFactory(); $sslf->getByName( $key ); if ( $sslf->getRecordCount() == 1 ) { return $sslf->getCurrent(); } return false; } /** * Checks if system has valid install requirments and sends a notification to users that need to be notified. * @return bool */ static function checkValidInstallRequirments( $failed_requirements = null ) { if ( DEMO_MODE == false && PRODUCTION == true ) { $sslf = new SystemSettingListFactory(); $system_settings = $sslf->getAllArray(); if ( isset( $system_settings['valid_install_requirements'] ) && DEPLOYMENT_ON_DEMAND == false && (int)$system_settings['valid_install_requirements'] == 0 ) { $notification_data = [ 'object_id' => TTUUID::getNotExistID( 1030 ), 'object_type_id' => 0, 'priority_id' => 2, //High 'type_id' => 'system', 'title_short' => TTi18n::getText( 'WARNING: System requirement check failed.' ), 'body_short' => TTi18n::getText( '%1 system requirement check has failed! Please contact your %1 administrator immediately to re-run the %1 web installer to correct the issue.', APPLICATION_NAME ) ."\n\n". TTi18n::getText( 'Failed Requirements: %1', implode( ',', $failed_requirements ) ), 'body_long_html' => TTi18n::getText( '%1 system requirement check has failed! Please contact your %1 administrator immediately to re-run the %1 web installer to correct the issue.', APPLICATION_NAME ) ."\n\n". TTi18n::getText( 'Failed Requirements: %1', implode( ',', $failed_requirements ) ), //Use this to append email footer. ]; Notification::sendNotificationToAllUsers( 80, true, true, $notification_data, ( 6 * 86400 ) ); //Send to all companies as its possibly an urgent issue that needs to be resolved ASAP. } } } /** * @param $log_action * @return bool */ function addLog( $log_action ) { return TTLog::addEntry( $this->getId(), $log_action, TTi18n::getText( 'System Setting - Name' ) . ': ' . $this->getName() . ' ' . TTi18n::getText( 'Value' ) . ': ' . $this->getValue(), null, $this->getTable() ); } } ?>