public function __construct(Blueprint $blueprint, $timezone_offset = NULL) { // Set blueprint $this->_blueprint = $blueprint; /* // Init timezone offsets */ if (!empty($timezone_offset)) { $this->_timezone_offset = $timezone_offset; } else { $this->_timezone_offset = BPTimezone::getOffset(); } // Init query $this->init(); }
public static function getOffset() { $tag = "BPTimezone::getOffset()"; $session_timezone = Session::user("_TIMEZONE"); // Overrides Session::user("_TIMEZONE_OFFSET") $session_timezone_offset = Session::user("_TIMEZONE_OFFSET"); $config_timezone = isset(BPConfig::$timezone) ? BPConfig::$timezone : ""; // Overrides $timezone_offset $config_timezone_offset = isset(BPConfig::$timezone_offset) ? BPConfig::$timezone_offset : 0; $default_timezone = date_default_timezone_get(); if (!empty($session_timezone)) { $offset = BPTimezone::getOffsetForTimezone($session_timezone); Log::debug("{$tag}: Returning offset from Session::user(_TIMEZONE): {$offset}"); return $offset; } else { if (!empty($session_timezone_offset)) { Log::debug("{$tag}: Returning offset from Session::user(_TIMEZONE_OFFSET) {$session_timezone_offset}"); return $session_timezone_offset; } else { if (!empty($config_timezone)) { $offset = BPTimezone::getOffsetForTimezone($config_timezone); Log::debug("{$tag}: Returning offset from BPConfig::timezone: {$offset}"); return $offset; } else { if (!empty($config_timezone_offset)) { Log::debug("{$tag}: Returning offset from BPConfig::timezone_offset {$config_timezone_offset}"); return $config_timezone_offset; } else { if (!empty($default_timezone)) { $offset = BPTimezone::getOffsetForTimezone($default_timezone); Log::debug("{$tag}: Returning offset from default timezone: {$offset}"); return $offset; } else { Log::debug("{$tag}: Returning offset for UTC:" . BPTimezone::UTC); return BPTimezone::UTC; } } } } } }
public static function get($blueprintSignature, $id, $field, $timezone_offset = NULL) { $tag = "EntityDAO: get()"; Log::debug("{$tag}: <blueprintSignature={$blueprintSignature}, id={$id}, field={$field}, timezone_offset={$timezone_offset}>"); // Init timezone offsets if (empty($timezone_offset)) { $timezone_offset = BPTimezone::getOffset(); } try { $blueprint = BlueprintReader::read($blueprintSignature); $dao = new EntityDAO($blueprint, $timezone_offset); if ($entity = $dao->load($id)) { $value = $entity->get($field); Log::debug("{$tag}: {$field} = {$value}"); return $value; } else { // entity with "id" not found Log::warning("{$tag}: {$blueprintSignature} with id {$id} not found."); return false; } } catch (Exception $e) { Log::error("{$tag}: Caught: " . $e->getMessage()); throw $e; } }