getAll(); if ( $clf->getRecordCount() > 0 ) { sleep( rand( 0, 60 ) ); //Further randomize when calls are made. $i = 0; foreach ( $clf as $c_obj ) { if ( $i == 0 && $ttsc->getLocalRegistrationKey() == false || $ttsc->getLocalRegistrationKey() == '' ) { $ttsc->saveRegistrationKey(); } //We must ensure that the data is up to date //Otherwise version check will fail. $ttsc->sendCompanyData( $c_obj->getId() ); $ttsc->sendCompanyUserLocationData( $c_obj->getId() ); $ttsc->sendCompanyUserCountData( $c_obj->getId() ); $ttsc->sendCompanyVersionData( $c_obj->getId() ); //Check for new license once it starts expiring. //Help -> About, checking for new versions also gets the updated license file. if ( $i == 0 && getTTProductEdition() >= TT_PRODUCT_PROFESSIONAL ) { if ( !isset( $system_settings['license'] ) ) { $system_settings['license'] = null; } $obj_class = "\124\124\114\x69\x63\x65\x6e\x73\x65"; $license = @new $obj_class; $license->checkLicenseFile( $system_settings['license'] ); } //Only if forced or update notifications are enabled do we need to create the notification. // The above code still needs to be run though to perform the necessary check. if ( $force == true || $ttsc->isUpdateNotifyEnabled() == true ) { //Only need to call this on the last company if ( $i == ( $clf->getRecordCount() - 1 ) ) { $latest_version = $ttsc->isLatestVersion( $c_obj->getId() ); if ( $latest_version == false ) { SystemSettingFactory::setSystemSetting( 'new_version', 1 ); if ( DEMO_MODE == false && PRODUCTION == true && isset( $config_vars['other']['primary_company_id'] ) ) { $link = ( $c_obj->getProductEdition() == TT_PRODUCT_COMMUNITY ) ? 'https://www.timetrex.com/r.php?id=19' : 'https://www.timetrex.com/r.php?id=9'; $notification_data = [ 'object_id' => TTUUID::getNotExistID( 1010 ), 'object_type_id' => 0, 'type_id' => 'system', 'title_short' => TTi18n::getText( 'NOTICE: New version of %1 is available.', [ APPLICATION_NAME ] ), 'body_long_html' => TTi18n::getText( 'NOTICE: New version of %1 is available, it is highly recommended that you upgrade as soon as possible. Click here to download the latest version.', [ APPLICATION_NAME, $link ] ), 'body_short' => TTi18n::getText( 'NOTICE: New version of %1 is available, it is highly recommended that you upgrade as soon as possible. Click here to download the latest version.', [ APPLICATION_NAME ] ), 'payload' => [ 'link_target' => '_blank', 'link' => $link ], 'effective_date' => Notification::getNextDecentEffectiveDate(), //Since this maintenance job runs at night or early morning, date the notification to a decent hour like 8AM. ]; Notification::sendNotificationToAllUsers( 90, true, true, $notification_data, ( 14 * 86400 ), $config_vars['other']['primary_company_id'] ); //Only send to primary company } } else { SystemSettingFactory::setSystemSetting( 'new_version', 0 ); } } } else if ( $i == 0 ) { //Just display this once. Debug::Text( 'Auto Update Notifications are disabled!', __FILE__, __LINE__, __METHOD__, 10 ); } $i++; } } ?>