ILIAS  trunk Revision v12.0_alpha-1540-g00f839d5fa1
ilWorkspaceCopyDefinition Class Reference

Copy definition for workspace folders. More...

+ Inheritance diagram for ilWorkspaceCopyDefinition:
+ Collaboration diagram for ilWorkspaceCopyDefinition:

Public Member Functions

 __construct ()
 
 getCopyDefinitions ()
 
 setCopyDefinitions (array $a_definitions)
 Set copy definitions. More...
 
 getTempDir ()
 
 setTempDir (string $temp_dir)
 Set directory name located in /temp/ directory. More...
 
 getObjectWspIds ()
 
 setObjectWspIds (array $object_wps_ids, bool $append=false)
 
 getNumFiles ()
 
 setNumFiles (int $num_files)
 
 getSumFileSizes ()
 
 setSumFileSizes (int $sum_file_sizes)
 
 getAdheresToLimit ()
 
 setAdheresToLimit (BooleanValue $adheres_to_limit)
 
 addCopyDefinition (string $a_source, string $a_target)
 
 equals (Value $other)
 
 getHash ()
 
 serialize ()
 
 setValue ($value)
 Set value. More...
 
 unserialize (?string $data)
 Unserialize definitions. More...
 
- Public Member Functions inherited from ILIAS\BackgroundTasks\Implementation\Values\AbstractValue
 getType ()
 
 getParentTask ()
 
 setParentTask (Task $parentTask)
 
 hasParentTask ()
 
 __serialize ()
 
 __unserialize (array $data)
 
 getHash ()
 
 equals (Value $other)
 
 getType ()
 
 setParentTask (Task $parentTask)
 
 getParentTask ()
 
 hasParentTask ()
 
 setValue ($value)
 
 __serialize ()
 
 __unserialize (array $data)
 

Data Fields

const COPY_SOURCE_DIR = 'source'
 
const COPY_TARGET_DIR = 'target'
 

Private Attributes

array $copy_definitions = []
 Copy Jobs: source file => relative target file in zip directory. More...
 
string $temp_dir
 
array $object_wsp_ids = []
 
int $num_files = 0
 
int $sum_file_sizes = 0
 
BooleanValue $adheres_to_limit
 

Additional Inherited Members

- Protected Attributes inherited from ILIAS\BackgroundTasks\Implementation\Values\AbstractValue
Task $parentTask
 

Detailed Description

Copy definition for workspace folders.

Author
Alexander Killing killi.nosp@m.ng@l.nosp@m.eifos.nosp@m..de

Definition at line 27 of file class.ilWorkspaceCopyDefinition.php.

Constructor & Destructor Documentation

◆ __construct()

Member Function Documentation

◆ addCopyDefinition()

ilWorkspaceCopyDefinition::addCopyDefinition ( string  $a_source,
string  $a_target 
)

Definition at line 126 of file class.ilWorkspaceCopyDefinition.php.

126 : void
127 {
128 $this->copy_definitions[] =
129 [
130 self::COPY_SOURCE_DIR => $a_source,
131 self::COPY_TARGET_DIR => $a_target
132 ];
133 }

◆ equals()

ilWorkspaceCopyDefinition::equals ( Value  $other)

Implements ILIAS\BackgroundTasks\Value.

Definition at line 135 of file class.ilWorkspaceCopyDefinition.php.

135 : bool
136 {
137 return strcmp($this->getHash(), $other->getHash());
138 }

References ILIAS\BackgroundTasks\Value\getHash().

+ Here is the call graph for this function:

◆ getAdheresToLimit()

ilWorkspaceCopyDefinition::getAdheresToLimit ( )

Definition at line 116 of file class.ilWorkspaceCopyDefinition.php.

117 {
119 }

◆ getCopyDefinitions()

ilWorkspaceCopyDefinition::getCopyDefinitions ( )

Definition at line 50 of file class.ilWorkspaceCopyDefinition.php.

50 : array
51 {
53 }
array $copy_definitions
Copy Jobs: source file => relative target file in zip directory.

References $copy_definitions.

◆ getHash()

ilWorkspaceCopyDefinition::getHash ( )
Returns
string Gets a hash for this Value. If two objects are the same the hash must be the same! if two objects are different you need to have as view collisions as possible.

Implements ILIAS\BackgroundTasks\Value.

Definition at line 140 of file class.ilWorkspaceCopyDefinition.php.

140 : string
141 {
142 return md5($this->serialize());
143 }

◆ getNumFiles()

ilWorkspaceCopyDefinition::getNumFiles ( )

Definition at line 96 of file class.ilWorkspaceCopyDefinition.php.

◆ getObjectWspIds()

ilWorkspaceCopyDefinition::getObjectWspIds ( )
Returns
string[]

Definition at line 80 of file class.ilWorkspaceCopyDefinition.php.

80 : array
81 {
83 }

References $object_wsp_ids.

◆ getSumFileSizes()

ilWorkspaceCopyDefinition::getSumFileSizes ( )

Definition at line 106 of file class.ilWorkspaceCopyDefinition.php.

106 : int
107 {
109 }

◆ getTempDir()

ilWorkspaceCopyDefinition::getTempDir ( )

Definition at line 64 of file class.ilWorkspaceCopyDefinition.php.

64 : string
65 {
66 return $this->temp_dir;
67 }

References $temp_dir.

◆ serialize()

ilWorkspaceCopyDefinition::serialize ( )

Definition at line 145 of file class.ilWorkspaceCopyDefinition.php.

145 : string
146 {
147 return serialize(
148 [
149 "copy_definition" => $this->getCopyDefinitions(),
150 "temp_dir" => $this->getTempDir(),
151 "object_wsp_ids" => implode(",", $this->getObjectWspIds()),
152 "num_files" => $this->getNumFiles(),
153 "sum_file_sizes" => $this->getSumFileSizes(),
154 "adheres_to_limit" => $this->getAdheresToLimit()
155 ]
156 );
157 }

◆ setAdheresToLimit()

ilWorkspaceCopyDefinition::setAdheresToLimit ( BooleanValue  $adheres_to_limit)

Definition at line 121 of file class.ilWorkspaceCopyDefinition.php.

121 : void
122 {
123 $this->adheres_to_limit = $adheres_to_limit;
124 }

◆ setCopyDefinitions()

ilWorkspaceCopyDefinition::setCopyDefinitions ( array  $a_definitions)

Set copy definitions.

Parameters
string[]$a_definitions

Definition at line 59 of file class.ilWorkspaceCopyDefinition.php.

59 : void
60 {
61 $this->copy_definitions = $a_definitions;
62 }

◆ setNumFiles()

ilWorkspaceCopyDefinition::setNumFiles ( int  $num_files)

Definition at line 101 of file class.ilWorkspaceCopyDefinition.php.

101 : void
102 {
103 $this->num_files = $num_files;
104 }

◆ setObjectWspIds()

ilWorkspaceCopyDefinition::setObjectWspIds ( array  $object_wps_ids,
bool  $append = false 
)

Definition at line 85 of file class.ilWorkspaceCopyDefinition.php.

88 : void {
89 if ($append) {
90 $this->object_wsp_ids = array_merge($this->object_wsp_ids, $object_wps_ids);
91 } else {
92 $this->object_wsp_ids = $object_wps_ids;
93 }
94 }

◆ setSumFileSizes()

ilWorkspaceCopyDefinition::setSumFileSizes ( int  $sum_file_sizes)

Definition at line 111 of file class.ilWorkspaceCopyDefinition.php.

111 : void
112 {
113 $this->sum_file_sizes = $sum_file_sizes;
114 }

◆ setTempDir()

ilWorkspaceCopyDefinition::setTempDir ( string  $temp_dir)

Set directory name located in /temp/ directory.

Definition at line 72 of file class.ilWorkspaceCopyDefinition.php.

72 : void
73 {
74 $this->temp_dir = $temp_dir;
75 }

References $temp_dir.

◆ setValue()

ilWorkspaceCopyDefinition::setValue (   $value)

Set value.

Parameters
$value

Implements ILIAS\BackgroundTasks\Value.

Definition at line 163 of file class.ilWorkspaceCopyDefinition.php.

163 : void
164 {
165 $this->copy_definitions = $value;
166 }

◆ unserialize()

ilWorkspaceCopyDefinition::unserialize ( ?string  $data)

Unserialize definitions.

Parameters
string$data

Definition at line 172 of file class.ilWorkspaceCopyDefinition.php.

172 : void
173 {
174 $elements = unserialize((string) $data, ['allowed_classes' => false]);
175
176 $this->setCopyDefinitions($elements["copy_definition"]);
177 $this->setTempDir($elements['temp_dir']);
178 $this->setObjectWspIds(explode(",", $elements["object_wsp_ids"]));
179 $this->setNumFiles($elements["num_files"]);
180 $this->setSumFileSizes($elements["sum_file_sizes"]);
181 $this->setAdheresToLimit($elements["adheres_to_limit"]);
182 }
setTempDir(string $temp_dir)
Set directory name located in /temp/ directory.
setObjectWspIds(array $object_wps_ids, bool $append=false)
setCopyDefinitions(array $a_definitions)
Set copy definitions.
setAdheresToLimit(BooleanValue $adheres_to_limit)
unserialize(?string $data)
Unserialize definitions.

References $data.

Field Documentation

◆ $adheres_to_limit

BooleanValue ilWorkspaceCopyDefinition::$adheres_to_limit
private

Definition at line 41 of file class.ilWorkspaceCopyDefinition.php.

Referenced by __construct().

◆ $copy_definitions

array ilWorkspaceCopyDefinition::$copy_definitions = []
private

Copy Jobs: source file => relative target file in zip directory.

Parameters
string[]

Definition at line 36 of file class.ilWorkspaceCopyDefinition.php.

Referenced by getCopyDefinitions().

◆ $num_files

int ilWorkspaceCopyDefinition::$num_files = 0
private

Definition at line 39 of file class.ilWorkspaceCopyDefinition.php.

◆ $object_wsp_ids

array ilWorkspaceCopyDefinition::$object_wsp_ids = []
private

Definition at line 38 of file class.ilWorkspaceCopyDefinition.php.

Referenced by getObjectWspIds().

◆ $sum_file_sizes

int ilWorkspaceCopyDefinition::$sum_file_sizes = 0
private

Definition at line 40 of file class.ilWorkspaceCopyDefinition.php.

◆ $temp_dir

string ilWorkspaceCopyDefinition::$temp_dir
private

Definition at line 37 of file class.ilWorkspaceCopyDefinition.php.

Referenced by getTempDir(), and setTempDir().

◆ COPY_SOURCE_DIR

const ilWorkspaceCopyDefinition::COPY_SOURCE_DIR = 'source'

◆ COPY_TARGET_DIR

const ilWorkspaceCopyDefinition::COPY_TARGET_DIR = 'target'

The documentation for this class was generated from the following file: