%PDF- %PDF-
Direktori : /proc/self/root/home/bitrix/www/bitrix/modules/bitrixcloud/classes/general/ |
Current File : //proc/self/root/home/bitrix/www/bitrix/modules/bitrixcloud/classes/general/cdn_class.php |
<?php class CBitrixCloudCDNClass { private $name = ""; private $extensions = /*.(array[int]string).*/ array(); /** * * @return string * */ public function getName() { return $this->name; } /** * * @return array[int]string * */ public function getExtensions() { return $this->extensions; } /** * * @param array[int]string $extensions * @return CBitrixCloudCDNClass * */ public function setExtensions($extensions) { $this->extensions = /*.(array[int]string).*/ array(); if (is_array($extensions)) { foreach ($extensions as $extension) { $extension = trim($extension, " \t\n\r"); if ($extension != "") $this->extensions[] = $extension; } } return $this; } /** * * @param string $name * @param array[int]string $extensions * @return void */ public function __construct($name, $extensions) { $this->name = $name; $this->setExtensions($extensions); } /** * * @param CDataXMLNode $node * @return CBitrixCloudCDNClass * */ public static function fromXMLNode(CDataXMLNode $node) { $name = $node->getAttribute("name"); $extensions = /*.(array[int]string).*/ array(); $nodeExtensions = $node->elementsByName("extension"); foreach ($nodeExtensions as $nodeExtension) { $extensions[] = $nodeExtension->textContent(); } return new CBitrixCloudCDNClass($name, $extensions); } } class CBitrixCloudCDNClasses { private $classes = /*.(array[string]CBitrixCloudCDNClass).*/ array(); /** * * @param CBitrixCloudCDNClass $file_class * @return CBitrixCloudCDNClasses * */ public function addClass(CBitrixCloudCDNClass $file_class) { $this->classes[$file_class->getName()] = $file_class; return $this; } /** * * @param string $class_name * @return CBitrixCloudCDNClass * */ public function getClass($class_name) { return $this->classes[$class_name]; } /** * * @param CDataXMLNode $node * @return CBitrixCloudCDNClasses * */ public static function fromXMLNode(CDataXMLNode $node) { $classes = new CBitrixCloudCDNClasses; foreach ($node->children() as $sub_node) { $classes->addClass(CBitrixCloudCDNClass::fromXMLNode($sub_node)); } return $classes; } /** * * @param CBitrixCloudOption $option * @return CBitrixCloudCDNClasses * */ public static function fromOption(CBitrixCloudOption $option) { $classes = new CBitrixCloudCDNClasses; foreach ($option->getArrayValue() as $class_name => $extensions) { $classes->addClass(new CBitrixCloudCDNClass($class_name, explode(",", $extensions))); } return $classes; } /** * * @param CBitrixCloudOption $option * @return CBitrixCloudCDNClasses * */ public function saveOption(CBitrixCloudOption $option) { $classes = /*.(array[string]string).*/ array(); foreach ($this->classes as $class_name => $file_class) { /* @var CBitrixCloudCDNClass $file_class */ $classes[$class_name] = implode(",", $file_class->getExtensions()); } $option->setArrayValue($classes); return $this; } }