class ImageEdit extends UIAjaxComponent

Class ImageEdit

Constants

SYSTEM_TEMPLATE_UI_FOLDER

Properties

$xf_link from  UIComponent
$link_id from  UIComponent
array $GPvars from  UIComponent
Controller $mod from  UIComponent
protected array $local_template_marker from  UIComponent
protected bool $_overwrite_param_array from  UIComponent
protected bool|array|ModelCollection $marker_content from  UIComponent
string $mod_object_manager from  UIComponent
protected bool $_orig_marker_content from  UIComponent
protected array $_allowed_params_filter from  UIComponent
string $unique_dom_id from  UIComponent
protected string $uid from  UIComponent
string read-only $_content

When used in template this property will contain the XML/HTML within the XUI Nodes

from  UIComponent
$link from  UIAjaxComponent
protected string $js_class from  UIAjaxComponent
protected array $js_options from  UIAjaxComponent
protected array $css_classes from  UIAjaxComponent
protected array $xui_payload from  UIAjaxComponent
protected bool $deferredLoading from  UIAjaxComponent
protected bool $deferredLoadingMessage from  UIAjaxComponent

Methods

__construct(string $link_id = null)

UIComponent constructor.

string
__toString()

No description

add_css_class($css_class)

Adds a custom css class to the root element of this component.

add_dependency(string $dep_name, UIAjaxComponent $dep_obj, bool $reloadOnUpdate = false)

Add a new UIAjaxComponent object and register it under a certain name this component will use that name to retrieve the object in order to interact with it.

add_url_parameter(mixed $key, mixed $value)

Adds a parameter to url parameter list.

enable_periodical_update(int $interval)

Enables the periodical update via ajax.

mixed
get($var)

Get Variable / Option

string
getPlaceholderContent()

Returns a placeholder which is used to display while this component is loading the content.

mixed
get_dependency($dep_name)

Returns a dependent object in order to interact with it

string
get_unique_dom_id()

Generates a unique dom id, dependent on the provided UID, as well as the current context.

Template|null
get_view(string|bool $section = false)

Return new template view If using within module xui the tpl file should be named [class_name].tpl e.g. xui_core_table.tpl within the module's template folder

handle_document_creation(string $source_image_path, DocumentIndex $xfs_document_index)

No description

init()

put your comment there.

string
parse_template(string $template_content, array|bool $marker_array = false)

No description

string|null
parse_template_cb_wrapper(mixed $matches)

No description

mixed|string
parse_xtag($xml_source)

No description

process()

dummy process method - may be overwritten

process_xui()

Process XUI

render()

Default render method. wraps the content provided by render_xui_content in a unique div and generates a JS object for the GUI

mixed
render_xtag_element()

No description

string|Template
render_xui()

Actual rendering method - must be implemented by children.

void
reset_marker_content()

restores original content of marker_content

void
set(mixed $var, mixed $value = false)

Set Variable / Option

void
setDeferredLoading(bool $bool, string $message = '')

Set true to load the content deferred. Displays a placeholder while loading the content. Optional you can pass a message which will replace the default loading message.

void
set_array(mixed $member_array, mixed $vars)

Set Variable / Option for an array

set_crop_aspect_ratio(float $float)

Set the aspect ratio of the crop box.

set_crop_auto_crop(bool $bool = true)

Enable to crop the image automatically when initialize.

set_crop_auto_crop_area(float $float = 0.8)

Define the automatic cropping area size (percentage).

set_crop_background(bool $bool = true)

Show the grid background of the container.

set_crop_box_movable(bool $bool = true)

Enable to move the crop box by dragging.

set_crop_box_resizable(bool $bool = true)

Enable to resize the crop box by dragging.

set_crop_center(bool $bool = true)

Show the center indicator above the crop box.

set_crop_check_cross_origin(bool $bool = true)

Check if the current image is a cross-origin image.

set_crop_check_orientation(bool $bool = true)

Check the current image's Exif Orientation information.

set_crop_drag_mode($mode = 'crop')

Define the dragging mode of the cropper.

set_crop_guides(bool $bool = true)

Show the dashed lines above the crop box.

set_crop_highlight(bool $bool = true)

Show the white modal above the crop box (highlight the crop box).

set_crop_min_box_size(int $width, int $height)

The minimum width and height of the crop box.

set_crop_min_canvas_size(int $width, int $height)

The minimum width and height of the canvas (image wrapper).

set_crop_min_container_size(int $width, int $height)

The minimum width and height of the container.

set_crop_modal(bool $bool = true)

Show the black modal above the image and under the crop box.

set_crop_moveable(bool $bool = true)

Enable to move the image.

set_crop_options(array $options)

Sets the option values for the cropper JS class.

set_crop_responsive(bool $bool = true)

Re-render the cropper when resize the window.

set_crop_restore(bool $bool = true)

Restore the cropped area after resize the window.

set_crop_rotateable(bool $bool = true)

Enable to rotate the image.

set_crop_scalable(bool $bool = true)

Enable to scale the image.

set_crop_toggle_drag_mode_on_dblclick(bool $bool = true)

Enable to toggle drag mode between "crop" and "move" when click twice on the cropper.

set_crop_view_mode($number = 0)

Define the view mode of the cropper.

set_crop_wheel_zoom_ratio(float $float = 0.1)

Define zoom ratio when zoom the image by wheeling mouse.

set_crop_zoom_on_touch(bool $bool = true)

Enable to zoom the image by dragging touch.

set_crop_zoom_on_wheel(bool $bool = true)

Enable to zoom the image by wheeling mouse.

set_crop_zoomable(bool $bool = true)

Enable to zoom the image.

set_document_index(int|DocumentIndex $document_index_or_id)

Sets the document index of a system dms image file.

set_image_paths(string $source_image_path, string|null $target_image_path = null)

Sets the source image file. The target file can be set optionally.

void
set_marker_content(mixed $marker_content = false)

sets marker_content to passed data -> restore original content with reset_marker_content()

set_mod(mixed $mod)

Set link to owning module

set_option(string $key, mixed $val)

Sets options. This options will be used in the JS element of this XUI class.

void
set_render_params(mixed $input_params = array())

Used to inject params. Only allowed params will be used (see $allowed_params_filter)

set_settings(array $settings)

Sets settings for this image edit component.

set_uid($uid)

No description

set_url_parameters(array $parameters)

Sets the url parameter that is used for component loading.

Details

in UIComponent at line 64
__construct(string $link_id = null)

UIComponent constructor.

Parameters

string $link_id

in UIComponent at line 324
string __toString()

No description

Return Value

string

in UIAjaxComponent at line 139
add_css_class($css_class)

Adds a custom css class to the root element of this component.

Parameters

$css_class

in UIAjaxComponent at line 106
add_dependency(string $dep_name, UIAjaxComponent $dep_obj, bool $reloadOnUpdate = false)

Add a new UIAjaxComponent object and register it under a certain name this component will use that name to retrieve the object in order to interact with it.

Parameters

string $dep_name
UIAjaxComponent $dep_obj
bool $reloadOnUpdate

Set true to reload dependency if this component is updated.

in UIAjaxComponent at line 80
add_url_parameter(mixed $key, mixed $value)

Adds a parameter to url parameter list.

Parameters

mixed $key
mixed $value

in UIAjaxComponent at line 161
enable_periodical_update(int $interval)

Enables the periodical update via ajax.

The ajax calls will be execute after an interval of seconds passed by parameter one.

Parameters

int $interval

in UIComponent at line 185
mixed get($var)

Get Variable / Option

Parameters

$var

Return Value

mixed

in UIAjaxComponent at line 200
protected string getPlaceholderContent()

Returns a placeholder which is used to display while this component is loading the content.

Return Value

string

in UIAjaxComponent at line 122
mixed get_dependency($dep_name)

Returns a dependent object in order to interact with it

Parameters

$dep_name

Return Value

mixed

in UIComponent at line 202
string get_unique_dom_id()

Generates a unique dom id, dependent on the provided UID, as well as the current context.

Return Value

string

in UIComponent at line 289
Template|null get_view(string|bool $section = false)

Return new template view If using within module xui the tpl file should be named [class_name].tpl e.g. xui_core_table.tpl within the module's template folder

Parameters

string|bool $section

Name

Return Value

Template|null

Exceptions

Exception

at line 218
handle_document_creation(string $source_image_path, DocumentIndex $xfs_document_index)

No description

Parameters

string $source_image_path
DocumentIndex $xfs_document_index

in UIComponent at line 72
init()

put your comment there.

..

in UIComponent at line 221
string parse_template(string $template_content, array|bool $marker_array = false)

No description

Parameters

string $template_content

HTML Template

array|bool $marker_array

Markers and Values

Return Value

string

Parsed HTML Content

in UIComponent at line 234
string|null parse_template_cb_wrapper(mixed $matches)

No description

Parameters

mixed $matches

Return Value

string|null

in UIComponent at line 260
mixed|string parse_xtag($xml_source)

No description

Parameters

$xml_source

Return Value

mixed|string

Exceptions

ContentException

in UIAjaxComponent at line 168
process()

dummy process method - may be overwritten

at line 146
process_xui()

Process XUI

Crops the file by crop data and return the result. If the source is a document index then, first a new version will be created before cropping the image.

in UIAjaxComponent at line 214
render()

Default render method. wraps the content provided by render_xui_content in a unique div and generates a JS object for the GUI

Exceptions

Exception

in UIComponent at line 268
mixed render_xtag_element()

No description

Return Value

mixed

at line 270
protected string|Template render_xui()

Actual rendering method - must be implemented by children.

Returns a template or a string containing the HTML of the element's content.

Return Value

string|Template

in UIComponent at line 173
void reset_marker_content()

restores original content of marker_content

Return Value

void

in UIComponent at line 106
void set(mixed $var, mixed $value = false)

Set Variable / Option

Parameters

mixed $var

Name of Variable to Set (Alternative: Assoc-Array for multiple variables)

mixed $value

Value of Variable

Return Value

void

in UIAjaxComponent at line 92
void setDeferredLoading(bool $bool, string $message = '')

Set true to load the content deferred. Displays a placeholder while loading the content. Optional you can pass a message which will replace the default loading message.

Parameters

bool $bool
string $message

Return Value

void

in UIComponent at line 122
void set_array(mixed $member_array, mixed $vars)

Set Variable / Option for an array

Parameters

mixed $member_array

Name of Variable to Set (Alternative: Assoc-Array for multiple variables)

mixed $vars

Value of Variable

Return Value

void

at line 374
set_crop_aspect_ratio(float $float)

Set the aspect ratio of the crop box.

By default, the crop box is free ratio.

Parameters

float $float

e.g. 0.72132 | 16/9 as division

at line 475
set_crop_auto_crop(bool $bool = true)

Enable to crop the image automatically when initialize.

Parameters

bool $bool

at line 484
set_crop_auto_crop_area(float $float = 0.8)

Define the automatic cropping area size (percentage).

Parameters

float $float

A number between 0 and 1.

at line 466
set_crop_background(bool $bool = true)

Show the grid background of the container.

Parameters

bool $bool

at line 556
set_crop_box_movable(bool $bool = true)

Enable to move the crop box by dragging.

Parameters

bool $bool

at line 565
set_crop_box_resizable(bool $bool = true)

Enable to resize the crop box by dragging.

Parameters

bool $bool

at line 448
set_crop_center(bool $bool = true)

Show the center indicator above the crop box.

Parameters

bool $bool

at line 407
set_crop_check_cross_origin(bool $bool = true)

Check if the current image is a cross-origin image.

If it is, when clone the image, a crossOrigin attribute will be added to the cloned image element and a timestamp will be added to the src attribute to reload the source image to avoid browser cache error. By adding crossOrigin attribute to image will stop adding timestamp to image url, and stop reload of image. If the value of the image's crossOrigin attribute is "use-credentials", then the withCredentials attribute will set to true when read the image data by XMLHttpRequest.

Parameters

bool $bool

at line 421
set_crop_check_orientation(bool $bool = true)

Check the current image's Exif Orientation information.

More exactly, read the Orientation value for rotating or flipping the image, and then override the Orientation value with 1 (the default value) to avoid some issues (1, 2) on iOS devices. Requires to set both the rotatable and scalable options to true at the same time. Note: Don't trust this all the time as some JPG images have incorrect (not standard) Orientation values. Requires Typed Arrays support (IE 10+).

Parameters

bool $bool

at line 364
set_crop_drag_mode($mode = 'crop')

Define the dragging mode of the cropper.

Parameters

$mode

'crop': create a new crop box
'move': move the canvas
'none': do nothing

at line 439
set_crop_guides(bool $bool = true)

Show the dashed lines above the crop box.

Parameters

bool $bool

at line 457
set_crop_highlight(bool $bool = true)

Show the white modal above the crop box (highlight the crop box).

Parameters

bool $bool

at line 607
set_crop_min_box_size(int $width, int $height)

The minimum width and height of the crop box.

Note: This size is relative to the page, not the image.

Parameters

int $width
int $height

at line 595
set_crop_min_canvas_size(int $width, int $height)

The minimum width and height of the canvas (image wrapper).

Parameters

int $width
int $height

at line 584
set_crop_min_container_size(int $width, int $height)

The minimum width and height of the container.

Parameters

int $width
int $height

at line 430
set_crop_modal(bool $bool = true)

Show the black modal above the image and under the crop box.

Parameters

bool $bool

at line 493
set_crop_moveable(bool $bool = true)

Enable to move the image.

Parameters

bool $bool

at line 131
set_crop_options(array $options)

Sets the option values for the cropper JS class.

This class uses Cropper.js to provide cropping functionality, so use options of the cropper.js defined of the website.

Parameters

array $options

Cropper options defined at cropper.js readme on GitHub.

See also

https://github.com/fengyuanchen/cropperjs

at line 383
set_crop_responsive(bool $bool = true)

Re-render the cropper when resize the window.

Parameters

bool $bool

at line 392
set_crop_restore(bool $bool = true)

Restore the cropped area after resize the window.

Parameters

bool $bool

at line 502
set_crop_rotateable(bool $bool = true)

Enable to rotate the image.

Parameters

bool $bool

at line 511
set_crop_scalable(bool $bool = true)

Enable to scale the image.

Parameters

bool $bool

at line 574
set_crop_toggle_drag_mode_on_dblclick(bool $bool = true)

Enable to toggle drag mode between "crop" and "move" when click twice on the cropper.

Parameters

bool $bool

at line 352
set_crop_view_mode($number = 0)

Define the view mode of the cropper.

Parameters

$number

0: the crop box is just within the container
1: the crop box should be within the canvas
2: the canvas should not be within the container
3: the container should be within the canvas

at line 547
set_crop_wheel_zoom_ratio(float $float = 0.1)

Define zoom ratio when zoom the image by wheeling mouse.

Parameters

float $float

at line 529
set_crop_zoom_on_touch(bool $bool = true)

Enable to zoom the image by dragging touch.

Parameters

bool $bool

at line 538
set_crop_zoom_on_wheel(bool $bool = true)

Enable to zoom the image by wheeling mouse.

Parameters

bool $bool

at line 520
set_crop_zoomable(bool $bool = true)

Enable to zoom the image.

Parameters

bool $bool

at line 59
set_document_index(int|DocumentIndex $document_index_or_id)

Sets the document index of a system dms image file.

If the param is an id, the document will be resolved by the given id.

Parameters

int|DocumentIndex $document_index_or_id

at line 43
set_image_paths(string $source_image_path, string|null $target_image_path = null)

Sets the source image file. The target file can be set optionally.

Parameters

string $source_image_path
string|null $target_image_path

in UIComponent at line 165
void set_marker_content(mixed $marker_content = false)

sets marker_content to passed data -> restore original content with reset_marker_content()

Parameters

mixed $marker_content

Return Value

void

in UIComponent at line 90
set_mod(mixed $mod)

Set link to owning module

Parameters

mixed $mod

in UIAjaxComponent at line 150
set_option(string $key, mixed $val)

Sets options. This options will be used in the JS element of this XUI class.

Parameters

string $key

update_interval (int) | hide_loading (bool)

mixed $val

in UIComponent at line 135
void set_render_params(mixed $input_params = array())

Used to inject params. Only allowed params will be used (see $allowed_params_filter)

Parameters

mixed $input_params

Return Value

void

at line 98
set_settings(array $settings)

Sets settings for this image edit component.

Cropper: This class uses Cropper.js to provide cropping functionality, so use options of the cropper.js defined of the website.

Parameters

array $settings

See also

https://github.com/fengyuanchen/cropperjs

in UIAjaxComponent at line 129
set_uid($uid)

No description

Parameters

$uid

in UIAjaxComponent at line 70
set_url_parameters(array $parameters)

Sets the url parameter that is used for component loading.

Parameters

array $parameters