53 $this->_controller = $instance;
54 $this->_tbl_data = self::$tbl_slider;
56 $this->_fields_label = array(
57 'tpl'=>array(_(
"Template"), _(
'Inserire lo slider con la stringa {{ slider }}')),
58 'image_order'=>_(
'Ordinamento immagini'),
59 'gallery'=>_(
'Galleria'),
60 'animation_effect_duration'=>_(
'Durata effetto di animazione (ms)'),
61 'auto_play'=>_(
'Auto play'),
62 'show_ctrls'=>_(
'Mostra controlli navigazione'),
63 'mouseout_hide_ctrls'=>_(
'Nascondi controlli navigazione al mouseout'),
64 'transition_effect'=>_(
'Effetto di transizione'),
65 'animation_interval'=>_(
'Intervallo immagini successive (ms)'),
66 'pause_interval_mouseover'=>_(
'Pausa dell\'intervallo al mouseover'),
67 'slices'=>_(
'Numero di slices')
70 $this->_image_orders = array(
72 2 => _(
'data decrescente'),
73 3 => _(
'data crescente')
76 $this->_transition_effects = array(
80 4=>
"horiz sliceLeftDown",
81 5=>
"horiz sliceLeftUp",
82 6=>
"horiz sliceLeftRightDown",
83 7=>
"horiz sliceLeftRightUp",
84 8=>
"horiz sliceRightDown",
85 9=>
"horiz sliceRightUp",
88 12=>
"vert sliceDownLeft",
89 13=>
"vert sliceDownRight",
90 14=>
"vert sliceUpDownLeft",
91 15=>
"vert sliceUpDownRight",
92 16=>
"vert sliceUpLeft",
93 17=>
"vert sliceUpRight",
98 parent::__construct($id);
100 $this->_model_label = $this->
id ? $this->
id :
'';
113 $structure = parent::structure($id);
115 $structure[
'auto_play'] =
new booleanField(array(
118 'label'=>$this->_fields_label[
'auto_play'],
119 'enum'=>array(1 => _(
'si'), 0 => _(
'no')),
121 'value'=>$this->auto_play
124 $structure[
'show_ctrls'] =
new booleanField(array(
125 'name'=>
'show_ctrls',
127 'label'=>$this->_fields_label[
'show_ctrls'],
128 'enum'=>array(1 => _(
'si'), 0 => _(
'no')),
130 'value'=>$this->show_ctrls
133 $structure[
'mouseout_hide_ctrls'] =
new booleanField(array(
134 'name'=>
'mouseout_hide_ctrls',
136 'label'=>$this->_fields_label[
'mouseout_hide_ctrls'],
137 'enum'=>array(1 => _(
'si'), 0 => _(
'no')),
139 'value'=>$this->mouseout_hide_ctrls
142 $structure[
'pause_interval_mouseover'] =
new booleanField(array(
143 'name'=>
'pause_interval_mouseover',
145 'label'=>$this->_fields_label[
'pause_interval_mouseover'],
146 'enum'=>array(1 => _(
'si'), 0 => _(
'no')),
148 'value'=>$this->pause_interval_mouseover
151 $structure[
'gallery'] =
new foreignKeyField(array(
153 'value'=>$this->gallery,
154 'label'=>$this->_fields_label[
'gallery'],
158 'fkey_field'=>
'name',
159 'fkey_where'=>
'instance=\''.$this->_controller->getInstance().
'\'',
164 $structure[
'image_order'] =
new enumField(array(
165 'name'=>
'image_order',
167 'label'=>$this->_fields_label[
'image_order'],
168 'enum'=>$this->_image_orders,
170 'value'=>$this->image_order
173 $structure[
'transition_effect'] =
new enumField(array(
174 'name'=>
'transition_effect',
176 'label'=>$this->_fields_label[
'transition_effect'],
177 'enum'=>$this->_transition_effects,
179 'value'=>$this->transition_effect
193 if(preg_match(
"#(horiz|vert) (.*)#", $this->_transition_effects[$this->transition_effect], $matches)) {
194 $effect = $matches[2];
195 $orientation = $matches[1] ==
'horiz' ?
"horizontal" :
"vertical";
198 $effect = $this->_transition_effects[$this->transition_effect];
199 $orientation =
'horizontal';
202 return array($effect, $orientation);
213 $db = db::instance();
214 $rows = $db->select(
'id', self::$tbl_slider,
"instance='".$controller->getInstance().
"'", null, null);
215 if($rows && count($rows)) {
240 if($this->image_order == 3) {
241 $order =
'insertion_date ASC';
244 $order =
'insertion_date DESC';
247 $items = $gallery->getItems($controller, array(
249 'private' => $private,
254 if($this->_image_orders == 1) {