44 require_once(
'class.multimediaLicense.php');
45 require_once(
'class.multimediaVideoPlatform.php');
46 require_once(
'class.multimediaSlider.php');
47 require_once(
'class.multimediaGallery.php');
48 require_once(
'class.multimediaItem.php');
49 require_once(
'class.multimediaAudio.php');
50 require_once(
'class.multimediaVideo.php');
51 require_once(
'class.multimediaImage.php');
52 require_once(
'class.multimediaImageField.php');
53 require_once(
'class.multimediaTag.php');
55 define(
'AUDIO_CHOICE', 3);
56 define(
'VIDEO_CHOICE', 2);
57 define(
'IMAGE_CHOICE', 1);
255 parent::__construct();
257 $this->_instance = $mdlId;
258 $this->_instanceName = $this->_db->getFieldFromId($this->_tbl_module,
'name',
'id', $this->_instance);
259 $this->_instanceLabel = $this->_db->getFieldFromId($this->_tbl_module,
'label',
'id', $this->_instance);
261 $this->_data_dir = $this->_data_dir.$this->_os.$this->_instanceName;
262 $this->_data_www = $this->_data_www.
"/".$this->_instanceName;
264 $this->_tbl_opt =
'multimedia_opt';
265 $this->_tbl_usr =
'multimedia_usr';
270 $this->_view_dir = dirname(__FILE__).OS.
'view';
272 $box_promoted_code_dft =
"<div class=\"thumbitem\">{{ thumb }}<div style=\"font-size: 1.1em; margin-top: 5px;margin-bottom: 8px;\">{{ name|link }}</div></div>";
273 $box_tpl_code_dft =
"<div class=\"thumbitem\">{{ thumb }}<div style=\"font-size: 1.1em; margin-top: 5px;margin-bottom: 8px;\">{{ name|link }}</div></div>";
274 $tpl2_cell_dft =
"{{ thumb }}<p>{{ name|link }}</p>";
275 $tpl1_row_dft =
"<td class=\"thumb\">{{ thumb }}</td><td><span class=\"date\">{{ last_edit_date }}</span><br />{{ name|link }}{{ description|chars:200 }}</td>";
276 $gallery_code_exp = _(
"Le proprietà della galleria devono essere inserite all'interno di doppie parentesi {{ proprietà }}. Proprietà disponibili:<br/>");
277 $gallery_code_exp .=
"<ul>";
278 $gallery_code_exp .=
"<li><b>thumb</b>: "._(
'thumbnail').
"</li>";
279 $gallery_code_exp .=
"<li><b>thumb_url</b>: "._(
'thumbnail url').
"</li>";
280 $gallery_code_exp .=
"<li><b>name</b>: "._(
'nome').
"</li>";
281 $gallery_code_exp .=
"<li><b>description</b>: "._(
'descrizione').
"</li>";
282 $gallery_code_exp .=
"<li><b>insertion_date</b>: "._(
'data di creazione della galleria').
"</li>";
283 $gallery_code_exp .=
"<li><b>last_edit_date</b>: "._(
'data di ultimo inserimento immagine').
"</li>";
284 $gallery_code_exp .=
"</ul>";
285 $gallery_code_exp .= _(
"Inoltre si possono eseguire dei filtri o aggiungere link facendo seguire il nome della proprietà dai caratteri '|filtro'. Disponibili:<br />");
286 $gallery_code_exp .=
"<ul>";
287 $gallery_code_exp .=
"<li><b><span style='text-style: normal'>|link</span></b>: "._(
'aggiunge il link che porta alla vista della galleria alla proprietà').
"</li>";
288 $gallery_code_exp .=
"<li><b><span style='text-style: normal'>|chars:n</span></b>: "._(
'mostra solo n caratteri della proprietà').
"</li>";
289 $gallery_code_exp .=
"<li><b><span style='text-style: normal'>thumb|class:name_class</span></b>: "._(
'aggiunge la classe name_class alla thumb').
"</li>";
290 $gallery_code_exp .=
"</ul>";
293 $this->_optionsValue = array(
294 'title_box'=>_(
"Multimedia"),
295 'title_list_galleries'=>_(
"Galleria multimediale"),
296 'title_map'=>_(
"Mappa geolocalizzazione media"),
298 'image_max_width'=>1024,
299 'thumb_dimension'=>160,
300 'box_promoted_code'=>$box_promoted_code_dft,
301 'box_tpl_code'=>$box_tpl_code_dft,
302 'box_num_galleries'=>3,
303 'list_galleries_tpl'=>1,
304 'list_galleries_tpl_ifp'=>
'20',
306 'list_galleries_tpl1_code'=>$tpl1_row_dft,
307 'list_galleries_tpl2_cols'=>
'',
308 'list_galleries_tpl2_code'=>$tpl2_cell_dft,
309 'relevance_gallery_gname'=>50,
310 'relevance_gallery_gdescription'=>10,
311 'relevance_gallery_mname'=>5,
312 'relevance_gallery_mdescription'=>2,
313 'relevance_gallery_mtags'=>5,
314 'relevance_media_mname'=>50,
315 'relevance_media_mdescription'=>10,
316 'relevance_media_mtags'=>25,
319 $this->_title_box = htmlChars($this->setOption(
'title_box', array(
'value'=>$this->_optionsValue[
'title_box'],
'translation'=>
true)));
320 $this->_title_list_galleries = htmlChars($this->setOption(
'title_list_galleries', array(
'value'=>$this->_optionsValue[
'title_list_galleries'],
'translation'=>
true)));
321 $this->_title_map = htmlChars($this->setOption(
'title_map', array(
'value'=>$this->_optionsValue[
'title_map'],
'translation'=>
true)));
322 $this->_title_slider = htmlChars($this->setOption(
'title_slider', array(
'value'=>$this->_optionsValue[
'title_slider'],
'translation'=>
true)));
323 $this->_image_max_width = $this->setOption(
'image_max_width', array(
'value'=>$this->_optionsValue[
'image_max_width']));
324 $this->_thumb_dimension = $this->setOption(
'thumb_dimension', array(
'value'=>$this->_optionsValue[
'thumb_dimension']));
325 $this->_box_promoted_code = $this->setOption(
'box_promoted_code', array(
'value'=>$this->_optionsValue[
'box_promoted_code'],
'translation'=>
true));
326 $this->_box_tpl_code = $this->setOption(
'box_tpl_code', array(
'value'=>$this->_optionsValue[
'box_tpl_code'],
'translation'=>
true));
327 $this->_box_num_galleries = $this->setOption(
'box_num_galleries', array(
'value'=>$this->_optionsValue[
'box_num_galleries']));
328 $this->_list_galleries_tpl = $this->setOption(
'list_galleries_tpl', array(
'value'=>$this->_optionsValue[
'list_galleries_tpl'],
'translation'=>
true));
329 $this->_list_galleries_tpl_ifp = $this->setOption(
'list_galleries_tpl_ifp', array(
'value'=>$this->_optionsValue[
'list_galleries_tpl_ifp']));
330 $this->_gallery_ifp = $this->setOption(
'gallery_ifp', array(
'value'=>$this->_optionsValue[
'gallery_ifp']));
331 $this->_list_galleries_tpl1_code = $this->setOption(
'list_galleries_tpl1_code', array(
'value'=>$this->_optionsValue[
'list_galleries_tpl1_code'],
'translation'=>
true));
332 $this->_list_galleries_tpl2_cols = $this->setOption(
'list_galleries_tpl2_cols', array(
'value'=>$this->_optionsValue[
'list_galleries_tpl2_cols']));
333 $this->_list_galleries_tpl2_code = $this->setOption(
'list_galleries_tpl2_code', array(
'value'=>$this->_optionsValue[
'list_galleries_tpl2_code'],
'translation'=>
true));
334 $this->_relevance_gallery_gname = $this->setOption(
'relevance_gallery_gname', array(
'value'=>$this->_optionsValue[
'relevance_gallery_gname']));
335 $this->_relevance_gallery_gdescription = $this->setOption(
'relevance_gallery_gdescription', array(
'value'=>$this->_optionsValue[
'relevance_gallery_gdescription']));
336 $this->_relevance_gallery_mname = $this->setOption(
'relevance_gallery_mname', array(
'value'=>$this->_optionsValue[
'relevance_gallery_mname']));
337 $this->_relevance_gallery_mdescription = $this->setOption(
'relevance_gallery_mdescription', array(
'value'=>$this->_optionsValue[
'relevance_gallery_mdescription']));
338 $this->_relevance_gallery_mtags = $this->setOption(
'relevance_gallery_mtags', array(
'value'=>$this->_optionsValue[
'relevance_gallery_mtags']));
339 $this->_relevance_media_mname = $this->setOption(
'relevance_media_mname', array(
'value'=>$this->_optionsValue[
'relevance_media_mname']));
340 $this->_relevance_media_mdescription = $this->setOption(
'relevance_media_mdescription', array(
'value'=>$this->_optionsValue[
'relevance_media_mdescription']));
341 $this->_relevance_media_mtags = $this->setOption(
'relevance_media_mtags', array(
'value'=>$this->_optionsValue[
'relevance_media_mtags']));
343 $this->_options =
new options($this->_className, $this->_instance);
344 $this->_optionsLabels = array(
346 'label'=>_(
"Titolo box"),
347 'value'=>$this->_optionsValue[
'title_box'],
349 'section_title'=>_(
'Titoli delle viste pubbliche')
351 "title_list_galleries"=>array(
352 'label'=>_(
"Titolo lista gallerie"),
353 'value'=>$this->_optionsValue[
'title_list_galleries']
356 'label'=>_(
"Titolo mappa"),
357 'value'=>$this->_optionsValue[
'title_map']
359 "title_slider"=>array(
360 'label'=>_(
"Titolo slider"),
361 'value'=>$this->_optionsValue[
'title_slider']
363 "image_max_width"=>array(
364 'label'=>_(
"Larghezza massima immagini (px)"),
365 'value'=>$this->_optionsValue[
'image_max_width'],
367 'section_title'=>_(
'Opzioni di ridimensionamento')
369 "thumb_dimension"=>array(
370 'label'=>_(
"Dimensione lato lungo della thumbnail (px)"),
371 'value'=>$this->_optionsValue[
'thumb_dimension']
373 "box_promoted_code"=>array(
374 'label'=>array(_(
"Codice galleria promossa"), $gallery_code_exp),
375 'value'=>$this->_optionsValue[
'box_promoted_code'],
377 'section_title'=>_(
'Opzioni vista box'),
378 'section_description'=>_(
'La vista box è una lista che mostra le ultime n gallerie modificate. Ciascun elemento viene inserito all\'interno di un elemento <b>li</b>. Se esiste una galleria "promossa" questa viene inserita in testa alla lista.'),
381 "box_tpl_code"=>array(
382 'label'=>array(_(
"Codice singolo elemento"), $gallery_code_exp),
383 'value'=>$this->_optionsValue[
'box_tpl_code'],
386 "box_num_galleries"=>array(
387 'label'=>_(
"Numero di gallerie mostrate"),
388 'value'=>$this->_optionsValue[
'box_num_galleries']
390 "list_galleries_tpl"=>array(
391 'label'=>_(
"Template della vista lista gallerie<br />1. tabella 1 galleria per riga<br />2. tabella n thumb per riga"),
392 'value'=>$this->_optionsValue[
'list_galleries_tpl'],
394 'section_title'=>_(
'Template lista gallerie')
396 "list_galleries_tpl_ifp"=>array(
397 'label'=>_(
"Numero massimo di gallerie per pagina"),
398 'value'=>$this->_optionsValue[
'list_galleries_tpl_ifp'],
401 "gallery_ifp"=>array(
402 'label'=>_(
"Numero massimo di media per pagina"),
403 'value'=>$this->_optionsValue[
'gallery_ifp'],
406 "list_galleries_tpl1_code"=>array(
407 'label'=>array(_(
"Codice riga"), $gallery_code_exp),
408 'value'=>$this->_optionsValue[
'list_galleries_tpl1_code'],
410 'section_title'=>_(
'Opzioni template 1 galleria per riga'),
413 "list_galleries_tpl2_cols"=>array(
414 'label'=>_(
"Numero di gallerie per riga"),
415 'value'=>$this->_optionsValue[
'list_galleries_tpl2_cols'],
417 'section_title'=>_(
'Opzioni template n gallerie per riga'),
420 "list_galleries_tpl2_code"=>array(
421 'label'=>array(_(
"Codice cella"), $gallery_code_exp),
422 'value'=>$this->_optionsValue[
'list_galleries_tpl2_code'],
425 "relevance_gallery_gname"=>array(
426 'label'=>_(
"Peso nome galleria nella ricerca gallerie"),
427 'value'=>$this->_optionsValue[
'relevance_gallery_gname'],
429 'section_title'=>_(
'Configurazione parametri di ricerca'),
430 'section_description'=>
"<p>"._(
"La rilevanza di un risultato della ricerca è data dalla somma dei pesi assegnati alla presenza della chiave di ricerca nei campi ed il numero di occorrenze della chiave di ricerca negli stessi. Le occorrenze hanno di default valore 1. Modificare i parametri che seguono a seconda dell'importanza che si vuole attribuire ai vari campi. Esempio: se si considera importante ai fini della ricerca il riscontro di una chiave all'interno dei tags aumentare il valore del 'peso tag media' rispetto agli altri parametri.").
"</p>",
433 "relevance_gallery_gdescription"=>array(
434 'label'=>_(
"Peso descrizione galleria nella ricerca gallerie"),
435 'value'=>$this->_optionsValue[
'relevance_gallery_gdescription'],
438 "relevance_gallery_mname"=>array(
439 'label'=>_(
"Peso nome media nella ricerca gallerie"),
440 'value'=>$this->_optionsValue[
'relevance_gallery_mname'],
443 "relevance_gallery_mdescription"=>array(
444 'label'=>_(
"Peso descrizione media nella ricerca gallerie"),
445 'value'=>$this->_optionsValue[
'relevance_gallery_mdescription'],
448 "relevance_gallery_mtags"=>array(
449 'label'=>_(
"Peso tag media nella ricerca gallerie"),
450 'value'=>$this->_optionsValue[
'relevance_gallery_mtags'],
453 "relevance_media_mname"=>array(
454 'label'=>_(
"Peso nome media nella ricerca media"),
455 'value'=>$this->_optionsValue[
'relevance_media_mname'],
458 "relevance_media_mdescription"=>array(
459 'label'=>_(
"Peso descrizione media nella ricerca media"),
460 'value'=>$this->_optionsValue[
'relevance_media_mdescription'],
463 "relevance_media_mtags"=>array(
464 'label'=>_(
"Peso tag media nella ricerca media"),
465 'value'=>$this->_optionsValue[
'relevance_media_mtags'],
470 $this->_action = cleanVar($_REQUEST,
'action',
'string',
'');
471 $this->_block = cleanVar($_REQUEST,
'block',
'string',
'');
486 'multimedia_gallery',
489 'multimedia_item_tag',
490 'multimedia_license',
494 'multimedia_video_platform'
500 "folderStructure"=>array(
501 CONTENT_DIR.OS.
'multimedia'=>array(
521 $this->accessGroup(
'');
526 $query =
"SELECT id FROM ".multimediaGallery::$tbl_gallery.
" WHERE instance='$this->_instance'";
527 $a = $this->_db->selectquery($query);
532 $query =
"DELETE FROM ".multimediaGallery::$tbl_gallery.
" WHERE instance='$this->_instance'";
533 $result = $this->_db->actionquery($query);
538 $query =
"SELECT id FROM ".multimediaItem::$tbl_item.
" WHERE instance='$this->_instance'";
539 $a = $this->_db->selectquery($query);
550 $query =
"SELECT id FROM ".multimediaLicense::$tbl_license.
" WHERE instance='$this->_instance'";
551 $a = $this->_db->selectquery($query);
556 $query =
"DELETE FROM ".multimediaLicense::$tbl_license.
" WHERE instance='$this->_instance'";
557 $result = $this->_db->actionquery($query);
562 $query =
"SELECT id FROM ".multimediaSlider::$tbl_slider.
" WHERE instance='$this->_instance'";
563 $a = $this->_db->selectquery($query);
566 language::deleteTranslations(multimediaSLider::$tbl_slider, $b[
'id']);
568 $query =
"DELETE FROM ".multimediaSlider::$tbl_slider.
" WHERE instance='$this->_instance'";
569 $result = $this->_db->actionquery($query);
574 $query =
"SELECT id FROM ".multimediaVideoPlatform::$tbl_video_platform.
" WHERE instance='$this->_instance'";
575 $a = $this->_db->selectquery($query);
580 $query =
"DELETE FROM ".multimediaVideoPlatform::$tbl_video_platform.
" WHERE instance='$this->_instance'";
581 $result = $this->_db->actionquery($query);
586 $opt_id = $this->_db->getFieldFromId($this->_tbl_opt,
"id",
"instance", $this->_instance);
587 language::deleteTranslations($this->_tbl_opt, $opt_id);
589 $query =
"DELETE FROM ".$this->_tbl_opt.
" WHERE instance='$this->_instance'";
590 $result = $this->_db->actionquery($query);
595 $query =
"DELETE FROM ".$this->_tbl_usr.
" WHERE instance='$this->_instance'";
596 $result = $this->_db->actionquery($query);
602 foreach($classElements[
'css'] as $css) {
603 unlink(APP_DIR.OS.$this->_className.OS.baseFileName($css).
"_".$this->_instanceName.
".css");
609 foreach($classElements[
'folderStructure'] as $fld=>$fldStructure) {
610 $this->deleteFileDir($fld.OS.$this->_instanceName,
true);
626 $this->_group_1 = array($this->_list_group[0], $this->_list_group[1]);
629 $this->_group_2 = array($this->_list_group[0], $this->_list_group[1], $this->_list_group[2]);
645 "box" => array(
"label"=>_(
"Box ultime gallerie modificate"),
"role"=>
'1'),
646 "galleries" => array(
"label"=>_(
"Lista gallerie"),
"role"=>
'1'),
647 "slider" => array(
"label"=>_(
"Slider delle immagini della galleria selezionata"),
"role"=>
'1'),
648 "map" => array(
"label"=>_(
"Mappa media geolocalizzati, impostare le dimesioni della mappa da css. Se in template con la vista galleria mostra i media associati alla galleria in questione."),
"role"=>
'1'),
660 return $this->_class_img.
'/'.
'gallery_thumb.png';
669 return $this->_class_img.
'/'.
'image_thumb.png';
678 return $this->_class_img.
'/'.
'video_thumb.png';
687 return $this->_class_img.
'/'.
'audio_thumb.png';
698 return $this->_data_dir.OS.$type;
710 return $this->_data_www.
'/'.$type;
743 $this->setAccess($this->_access_base);
745 $registry = registry::instance();
746 $registry->addCss($this->_class_www.
"/multimedia_".$this->_instanceName.
".css");
748 if($this->_access->AccessVerifyGroupIf($this->_className, $this->_instance, $this->_user_group, $this->_group_2)) {
757 $where_q = $promoted ?
'id != \'' . $promoted->id .
'\'' :
'';
759 $limit = array(0, $this->_box_num_galleries);
760 $gobjs =
multimediaGallery::get($this, array(
'private'=>$private,
'published'=>
true,
'where'=>$where_q,
'order'=>
'last_edit_date DESC',
'limit'=>$limit));
762 preg_match_all(
"#{{[^}]+}}#", $this->_box_tpl_code, $matches);
765 foreach($gobjs as $g) {
766 $li = $this->
parseTemplate($g, $this->_box_tpl_code, $matches);
772 preg_match_all(
"#{{[^}]+}}#", $this->_box_promoted_code, $matches);
773 $promoted_text = $this->
parseTemplate($promoted, $this->_box_promoted_code, $matches);
776 $view =
new view($this->_view_dir);
778 $view->setViewTpl(
'box');
779 $view->assign(
'section_id',
'box_'.$this->_className.
'_'.$this->_instanceName);
780 $view->assign(
'title', $this->_title_box);
781 $view->assign(
'promoted', $promoted_text);
782 $view->assign(
'lis', $lis);
783 $view->assign(
'all_galleries_url', $this->_plink->aLink($this->_instanceName,
'galleries'));
785 return $view->render();
796 $this->setAccess($this->_access_base);
799 if(!$slider->id)
return '';
801 $registry = registry::instance();
802 $registry->addJs($this->_class_www.
"/NivooSlider.js");
803 $registry->addJs($this->_class_www.
"/multimedia.js");
804 $registry->addCss($this->_class_www.
"/multimedia_".$this->_instanceName.
".css");
805 $registry->addCss($this->_class_www.
"/NivooSlider_".$this->_instanceName.
".css");
807 $content = preg_replace(
"#{{\s*slider\s*}}#", $this->
sliderContent($slider), $slider->ml(
'tpl'));
809 $view =
new view($this->_view_dir);
810 $view->setViewTpl(
'slider');
811 $view->assign(
'section_id',
'slider_'.$this->_className.
'_'.$this->_instanceName);
812 $view->assign(
'title', $this->_title_slider);
813 $view->assign(
'content', $content);
815 return $view->render();
827 if($this->_access->AccessVerifyGroupIf($this->_className, $this->_instance, $this->_user_group, $this->_group_2)) {
834 $items = $slider->getItems($this, $private);
837 foreach($items as $item) {
838 $images[] = $item->show($this);
841 list($effect, $orientation) = $slider->getEffectOrientation();
843 $view =
new view($this->_view_dir);
844 $view->setViewTpl(
'slider_content');
845 $view->assign(
'container_id',
'slider_container_multimedia_'.$this->_instanceName);
846 $view->assign(
'images', $images);
847 $view->assign(
'animation_effect_duration', $slider->animation_effect_duration);
848 $view->assign(
'auto_play', $slider->auto_play);
849 $view->assign(
'show_ctrls', $slider->show_ctrls);
850 $view->assign(
'mouseout_hide_ctrls', $slider->mouseout_hide_ctrls);
851 $view->assign(
'effect', $effect);
852 $view->assign(
'orientation', $orientation);
853 $view->assign(
'animation_interval', $slider->animation_interval);
854 $view->assign(
'pause_on_hover', $slider->pause_interval_mouseover);
855 $view->assign(
'slices', $slider->slices);
857 return $view->render();
867 $this->setAccess($this->_access_base);
869 $id = cleanVar($_GET,
'id',
'string',
'');
872 if(!$item || !$item->id) {
876 if($item->private && !$this->_access->AccessVerifyGroupIf($this->_className, $this->_instance, $this->_user_group, $this->_group_2)) {
880 $registry = registry::instance();
881 $registry->addJs(
"http://maps.googleapis.com/maps/api/js?key=AIzaSyArAE-uBvCZTRaf_eaFn4umUdESmoUvoxM&sensor=true");
887 'name' => htmlChars($l->name),
888 'description' => htmlChars($l->description),
893 $galleries = array();
894 if($item->galleries) {
895 foreach(explode(
',', $item->galleries) as $gid) {
896 if($gid = trim($gid)) {
898 if($this->_access->AccessVerifyGroupIf($this->_className, $this->_instance, $this->_user_group, $this->_group_2) || !$g->private) {
899 $galleries[] = array(
900 'name' => htmlChars($g->name),
901 'url' => $this->_plink->aLink($this->_instanceName,
'gallery', array(
'id'=>$g->slug)),
908 $view =
new view($this->_view_dir);
909 $view->setViewTpl(
'detail');
910 $view->assign(
'section_id',
'detail_'.$this->_className.
'_'.$this->_instanceName);
911 $view->assign(
'title', htmlChars($item->name));
912 $view->assign(
'galleries', $galleries);
913 $view->assign(
'media', $item->show($this));
914 $view->assign(
'description', htmlChars($item->description));
915 $view->assign(
'credits', htmlChars($item->credits));
916 $view->assign(
'license', $license);
917 $view->assign(
'lat', $item->lat);
918 $view->assign(
'lng', $item->lng);
919 $view->assign(
'tags', $item->tags);
920 $view->assign(
'insertion_date', $item->insertion_date);
921 $view->assign(
'last_edit_date', date(
'd/m/Y', strtotime($item->last_edit_date)));
923 return $view->render();
935 $this->setAccess($this->_access_base);
937 $registry = registry::instance();
938 $registry->addJs(
"http://maps.googleapis.com/maps/api/js?key=AIzaSyArAE-uBvCZTRaf_eaFn4umUdESmoUvoxM&sensor=true");
939 $registry->addJs($this->_class_www.
"/markerclusterer_packed.js");
940 $registry->addJs($this->_class_www.
"/multimedia.js");
941 $registry->addCss($this->_class_www.
"/multimedia_".$this->_instanceName.
".css");
943 $session = session::instance();
946 $evtKey = isset($_GET[EVT_NAME])? is_array($_GET[EVT_NAME])? key($_GET[EVT_NAME]):
false:
false;
948 $parts = explode(
'-', $evtKey);
952 if($method ==
'gallery') {
953 $slug = cleanVar($_GET,
'id',
'string',
'');
955 $gallery = $galleryobj->id;
961 if($this->_access->AccessVerifyGroupIf($this->_className, $this->_instance, $this->_user_group, $this->_group_2)) {
968 if($method ==
'gallery' && $session->multimedia_media_search) {
969 $results = $session->multimedia_media_search_results;
971 foreach($results as $r) {
976 $items =
multimediaItem::get($this, array(
'published'=>
true,
'private'=>
true,
'geolocalization'=>
true,
'gallery'=>$gallery));
980 foreach($items as $item) {
986 'url'=>$this->_plink->aLink($this->_instanceName,
'detail', array(
'id'=>$item->id)),
987 'thumb_path'=>$item->thumbPath($this)
991 $view =
new view($this->_view_dir);
992 $view->setViewTpl(
'map');
993 $view->assign(
'section_id', ($method ? $method.
'_' :
'').
'map_'.$this->_className.
'_'.$this->_instanceName);
994 $view->assign(
'title', htmlChars($this->_title_map));
995 $view->assign(
'media', $media);
997 return $view->render();
1007 $this->setAccess($this->_access_base);
1009 $id = cleanVar($_GET,
'id',
'string',
'');
1012 if(!$gallery || !$gallery->id) {
1016 if($gallery->private && !$this->_access->AccessVerifyGroupIf($this->_className, $this->_instance, $this->_user_group, $this->_group_2)) {
1020 $registry = registry::instance();
1021 $registry->addJs($this->_class_www.
"/moogallery.js");
1022 $registry->addCss($this->_class_www.
"/moogallery.css");
1023 $session = session::instance();
1025 if(isset($_POST[
'submit_search']) || isset($_POST[
'submit_search_all'])) {
1029 if($session->multimedia_media_search) {
1030 $results = $session->multimedia_media_search_results;
1031 $num_items = count($results);
1033 $pagination =
new pagelist($this->_gallery_ifp, $num_items,
'array');
1037 for($i = $pagination->start(); $i < $end; $i++) {
1041 $search_text = $session->multimedia_media_search;
1045 if($this->_access->AccessVerifyGroupIf($this->_className, $this->_instance, $this->_user_group, $this->_group_2)) {
1052 $num_items = $gallery->getItemsCount($this, array(
'private'=>$private,
'published'=>
true));
1053 $pagination =
new pagelist($this->_gallery_ifp, $num_items,
'array');
1056 $items = $gallery->getItems($this, array(
'private'=>$private,
'published'=>
true,
'limit'=>$limit));
1061 $js_items_ar = array();
1062 foreach($items as $item) {
1063 $js_items_ar[] = $item->getMoogalleryListJs($this, $this->_plink->aLink($this->_instanceName,
'detail'));
1066 $myform =
new form(
'form_search_media',
'post',
false, array(
'tblLayout'=>
false));
1067 $form_search = $myform->form($this->_plink->aLink($this->_instanceName,
'gallery', array(
'id'=>$gallery->slug)),
false,
'');
1068 $form_search .= $myform->input(
'search_text',
'text', htmlInput($search_text), array(
'hint'=>_(
'cerca media'),
'size'=>20,
'maxlength'=>40));
1069 $form_search .=
' '.$myform->input(
'submit_search',
'submit', _(
'cerca'), array(
'classField'=>
'submit'));
1070 $form_search .=
' '.$myform->input(
'submit_search_all',
'submit', _(
'tutti'), array(
'classField'=>
'submit'));
1071 $form_search .= $myform->cform();
1073 $view =
new view($this->_view_dir);
1074 $view->setViewTpl(
'gallery');
1075 $view->assign(
'section_id',
'gallery_'.$this->_className.
'_'.$this->_instanceName);
1076 $view->assign(
'form_search', $form_search);
1077 $view->assign(
'search_text', $search_text);
1078 $view->assign(
'title', htmlChars($gallery->name));
1079 $view->assign(
'galleries_url', $this->_plink->aLink($this->_instanceName,
'galleries'));
1080 $view->assign(
'js_items', $js_items_ar);
1081 $view->assign(
'pagination_summary', $pagination->reassumedPrint());
1082 $view->assign(
'pagination_navigation', $pagination->listReferenceGINO($this->_plink->aLink($this->_instanceName,
'gallery',
'',
'id='.$id, array(
"basename"=>
false))));
1084 return $view->render();
1096 $this->setAccess($this->_access_base);
1098 if(isset($_POST[
'submit_search']) || isset($_POST[
'submit_search_all'])) {
1102 $registry = registry::instance();
1103 $registry->addCss($this->_class_www.
"/".$this->_className.
"_".$this->_instanceName.
".css");
1105 $session = session::instance();
1107 if($session->multimedia_galleries_search) {
1108 $results = $session->multimedia_galleries_search_results;
1109 $num_galleries = count($results);
1111 $pagination =
new pagelist($this->_list_galleries_tpl_ifp, $num_galleries,
'array');
1115 for($i = $pagination->start(); $i < $end; $i++) {
1119 $search_text = $session->multimedia_galleries_search;
1123 if($this->_access->AccessVerifyGroupIf($this->_className, $this->_instance, $this->_user_group, $this->_group_2)) {
1131 $pagination =
new pagelist($this->_list_galleries_tpl_ifp, $num_galleries,
'array');
1140 $view =
new view($this->_view_dir);
1142 if($this->_list_galleries_tpl == 1) {
1143 $view->setViewTpl(
'galleries_1');
1144 preg_match_all(
"#{{[^}]+}}#", $this->_list_galleries_tpl1_code, $matches);
1146 foreach($gobjs as $g) {
1147 $row = $this->
parseTemplate($g, $this->_list_galleries_tpl1_code, $matches);
1150 $view->assign(
'rows', $rows);
1152 elseif($this->_list_galleries_tpl == 2) {
1153 $view->setViewTpl(
'galleries_2');
1154 preg_match_all(
"#{{[^}]+}}#", $this->_list_galleries_tpl2_code, $matches);
1156 $num_gobjs = count($gobjs);
1158 foreach($gobjs as $g) {
1160 $row_cell = $this->
parseTemplate($g, $this->_list_galleries_tpl2_code, $matches);
1162 if( ($i % $this->_list_galleries_tpl2_cols == 0) || ($num_gobjs == $i) ) {
1168 $view_table =
new view();
1169 $view_table->setViewTpl(
'table');
1170 $view_table->assign(
'class',
'galleries');
1171 $view_table->assign(
'caption',
'');
1172 $view_table->assign(
'heads', $heads);
1173 $view_table->assign(
'rows', $rows);
1175 $table = $view_table->render();
1177 $view->assign(
'table', $table);
1180 $myform =
new form(
'form_search_galleries',
'post',
false, array(
'tblLayout'=>
false));
1181 $form_search = $myform->form($this->_plink->aLink($this->_instanceName,
'galleries'),
false,
'');
1182 $form_search .= $myform->input(
'search_text',
'text', htmlInput($search_text), array(
'hint'=>_(
'cerca nelle gallerie'),
'size'=>20,
'maxlength'=>40));
1183 $form_search .=
' '.$myform->input(
'submit_search',
'submit', _(
'cerca'), array(
'classField'=>
'submit'));
1184 $form_search .=
' '.$myform->input(
'submit_search_all',
'submit', _(
'tutte'), array(
'classField'=>
'submit'));
1185 $form_search .= $myform->cform();
1187 $view->assign(
'title', $this->_title_list_galleries);
1188 $view->assign(
'form_search', $form_search);
1189 $view->assign(
'search_text', $search_text);
1190 $view->assign(
'section_id',
'galleries_'.$this->_className.
'_'.$this->_instanceName);
1191 $view->assign(
'pagination_summary', $pagination->reassumedPrint());
1192 $view->assign(
'pagination_navigation', $pagination->listReferenceGINO($this->_plink->aLink($this->_instanceName,
'galleries',
'', null, array(
"basename"=>
false))));
1194 return $view->render();
1207 require_once(CLASSES_DIR.OS.
'class.search.php');
1209 $db = db::instance();
1210 $session = session::instance();
1212 $search_string = cleanVar($_POST,
'search_text',
'string',
'');
1216 if(!count($keywords) || isset($_POST[
'submit_search_all'])) {
1217 unset($session->multimedia_media_search_results);
1218 unset($session->multimedia_media_search);
1226 if($this->_access->AccessVerifyGroupIf($this->_className, $this->_instance, $this->_user_group, $this->_group_2)) {
1233 $query =
"SELECT DISTINCT(m.id), ";
1236 foreach($keywords as $search_text) {
1237 if($i) $relevance .=
" + ";
1239 $relevance .=
" + IFNULL(
1240 ((m.name REGEXP '[[:<:]]".$search_text.
"[[:>:]]') > 0) * ".$relevance_mname.
", 0
1242 $relevance .=
" + IFNULL(
1243 ((m.description REGEXP '[[:<:]]".$search_text.
"[[:>:]]') > 0) * ".$relevance_mdescription.
", 0
1245 $relevance .=
" + IFNULL(
1246 ((m.tags REGEXP '[[:<:]]".$search_text.
"[[:>:]]') > 0) * ".$relevance_mtags.
", 0
1250 $query .= $relevance.
" AS relevance, ";
1253 foreach($keywords as $search_text) {
1254 if($i) $occurences .=
" + ";
1256 $occurences .=
"+ IFNULL(
1257 ((LENGTH(m.name) - LENGTH(replace_ci(m.name, '".$search_text.
"', '')))/LENGTH('".$search_text.
"')), 0
1259 $occurences .=
"+ IFNULL(
1260 ((LENGTH(m.description) - LENGTH(replace_ci(m.description, '".$search_text.
"', '')))/LENGTH('".$search_text.
"')), 0
1262 $occurences .=
"+ IFNULL(
1263 ((LENGTH(m.tags) - LENGTH(replace_ci(m.tags, '".$search_text.
"', '')))/LENGTH('".$search_text.
"')), 0
1267 $query .= $occurences.
' AS occurences ';
1268 $query .=
"FROM ".multimediaItem::$tbl_item.
" AS m ";
1269 $query .=
"WHERE m.galleries REGEXP '[[:<:]]".$gallery->id.
"[[:>:]]' AND ";
1271 $query .=
"m.private = '0' AND ";
1275 foreach($keywords as $search_text) {
1276 if($i) $query .=
" OR ";
1278 $query .=
"m.name REGEXP '[[:<:]]".$search_text.
"[[:>:]]' OR ";
1279 $query .=
"m.description REGEXP '[[:<:]]".$search_text.
"[[:>:]]' OR ";
1280 $query .=
"m.tags REGEXP '[[:<:]]".$search_text.
"[[:>:]]'";
1283 $query .=
" ORDER BY (relevance + occurences) DESC";
1285 $rows = $db->selectquery($query);
1290 foreach($rows as $row) {
1291 $results[] = $row[
'id'];
1295 $session->multimedia_media_search_results = $results;
1296 $session->multimedia_media_search = $search_string;
1307 require_once(CLASSES_DIR.OS.
'class.search.php');
1309 $db = db::instance();
1310 $session = session::instance();
1312 $search_string = cleanVar($_POST,
'search_text',
'string',
'');
1316 if(!count($keywords) || isset($_POST[
'submit_search_all'])) {
1317 unset($session->multimedia_galleries_search_results);
1318 unset($session->multimedia_galleries_search);
1328 if($this->_access->AccessVerifyGroupIf($this->_className, $this->_instance, $this->_user_group, $this->_group_2)) {
1335 $query =
"SELECT DISTINCT(g.id), ";
1338 foreach($keywords as $search_text) {
1339 if($i) $relevance .=
" + ";
1341 $relevance .=
"IFNULL(
1342 ((g.name REGEXP '[[:<:]]".$search_text.
"[[:>:]]') > 0) * ".$relevance_gname.
", 0
1344 $relevance .=
" + IFNULL(
1345 ((g.description REGEXP '[[:<:]]".$search_text.
"[[:>:]]') > 0) * ".$relevance_gdescription.
", 0
1347 $relevance .=
" + SUM(IFNULL(
1348 ((m.name REGEXP '[[:<:]]".$search_text.
"[[:>:]]') > 0) * ".$relevance_mname.
", 0
1350 $relevance .=
" + SUM(IFNULL(
1351 ((m.description REGEXP '[[:<:]]".$search_text.
"[[:>:]]') > 0) * ".$relevance_mdescription.
", 0
1353 $relevance .=
" + SUM(IFNULL(
1354 ((m.tags REGEXP '[[:<:]]".$search_text.
"[[:>:]]') > 0) * ".$relevance_mtags.
", 0
1358 $query .= $relevance.
' AS relevance, ';
1361 foreach($keywords as $search_text) {
1362 if($i) $occurences .=
" + ";
1364 $occurences .=
"IFNULL(
1365 ((LENGTH(g.name) - LENGTH(replace_ci(g.name, '".$search_text.
"', '')))/LENGTH('".$search_text.
"')), 0
1367 $occurences .=
"+ IFNULL(
1368 ((LENGTH(g.description) - LENGTH(replace_ci(g.description, '".$search_text.
"', '')))/LENGTH('".$search_text.
"')), 0
1370 $occurences .=
"+ SUM(IFNULL(
1371 ((LENGTH(m.name) - LENGTH(replace_ci(m.name, '".$search_text.
"', '')))/LENGTH('".$search_text.
"')), 0
1373 $occurences .=
"+ SUM(IFNULL(
1374 ((LENGTH(m.description) - LENGTH(replace_ci(m.description, '".$search_text.
"', '')))/LENGTH('".$search_text.
"')), 0
1376 $occurences .=
"+ SUM(IFNULL(
1377 ((LENGTH(m.tags) - LENGTH(replace_ci(m.tags, '".$search_text.
"', '')))/LENGTH('".$search_text.
"')), 0
1381 $query .= $occurences.
' AS occurences ';
1383 $query .=
"WHERE m.galleries REGEXP CONCAT('[[:<:]]', g.id, '[[:>:]]') AND ";
1385 $query .=
"g.private = '0' AND ";
1386 $query .=
"m.private = '0' AND ";
1390 foreach($keywords as $search_text) {
1391 if($i) $query .=
" OR ";
1393 $query .=
"g.name REGEXP '[[:<:]]".$search_text.
"[[:>:]]' OR ";
1394 $query .=
"g.description REGEXP '[[:<:]]".$search_text.
"[[:>:]]' OR ";
1395 $query .=
"m.name REGEXP '[[:<:]]".$search_text.
"[[:>:]]' OR ";
1396 $query .=
"m.description REGEXP '[[:<:]]".$search_text.
"[[:>:]]' OR ";
1397 $query .=
"m.tags REGEXP '[[:<:]]".$search_text.
"[[:>:]]'";
1400 $query .=
" GROUP BY g.id ORDER BY (".$relevance.
" + ".$occurences.
") DESC";
1402 $rows = $db->selectquery($query);
1407 foreach($rows as $row) {
1408 $results[] = $row[
'id'];
1412 $session->multimedia_galleries_search_results = $results;
1413 $session->multimedia_galleries_search = $search_string;
1427 $empty_array = array(
"",
" ");
1429 return array_diff(array_unique(explode(
" ", $clean_string)), $empty_array);
1441 $unconsidered = array(
"lo",
"l",
"il",
"la",
"i",
"gli",
"le",
"uno",
"un",
"una",
"un",
"su",
"sul",
"sulla",
"sullo",
"sull",
"in",
"nel",
"nello",
"nella",
"nell",
"con",
"di",
"da",
"dei",
"d",
"della",
"dello",
"del",
"dell",
"che",
"a",
"dal",
"è",
"e",
"per",
"non",
"si",
"al",
"ai",
"allo",
"all",
"al",
"o");
1443 $clean_string = strtolower($search_string);
1445 $clean_string = preg_replace(
"#\b(".implode(
"|", $unconsidered).
")\b#",
"", $clean_string);
1446 $clean_string = preg_replace(
"#\W|(\s+)#",
" ", $clean_string);
1448 $clean_string = preg_quote($clean_string);
1450 return $clean_string;
1463 if(isset($matches[0])) {
1464 foreach($matches[0] as $m) {
1465 $code = trim(preg_replace(
"#{|}#",
"", $m));
1466 if($pos = strrpos($code,
'|')) {
1467 $property = substr($code, 0, $pos);
1468 $filter = substr($code, $pos + 1);
1475 $replace = $this->
replaceTplVar($property, $filter, $gallery);
1476 $tpl = preg_replace(
"#".preg_quote($m).
"#", $replace, $tpl);
1495 if($property ==
'thumb') {
1496 $pre_filter =
"<img src=\"".$obj->thumbPath($this).
"\" alt=\"".jsVar($obj->name).
"\" />";
1498 elseif($property ==
'thumb_url') {
1499 $pre_filter = $obj->thumbPath($this);
1501 elseif($property ==
'last_edit_date' || $property ==
'insertion_date') {
1502 $pre_filter = date(
'd/m/Y', strtotime($obj->{$property}));
1504 elseif($property ==
'description' || $property ==
'name') {
1505 $pre_filter = htmlChars($obj->{$property});
1511 if(is_null($filter)) {
1515 if($filter ==
'link') {
1516 return "<a href=\"".$this->_plink->aLink($this->_instanceName,
'gallery', array(
'id'=>$obj->slug)).
"\">".$pre_filter.
"</a>";
1518 elseif(preg_match(
"#chars:(\d+)#", $filter, $matches)) {
1519 return cutHtmlText($pre_filter, $matches[1],
'...',
false,
false,
true, array(
'endingPosition'=>
'in'));
1521 elseif(preg_match(
"#class:(.+)#", $filter, $matches)) {
1522 if(isset($matches[1]) && $property ==
'thumb') {
1523 return preg_replace(
"#<img#",
"<img class=\"".$matches[1].
"\"", $pre_filter);
1525 else return $pre_filter;
1537 $this->accessGroup(
'ALL');
1539 $method =
'manageDoc';
1541 $htmltab =
new htmlTab(array(
"linkPosition"=>
'right',
"title"=>$this->_instanceLabel));
1542 $link_admin =
"<a href=\"".$this->_home.
"?evt[$this->_instanceName-$method]&block=permissions\">"._(
"Permessi").
"</a>";
1543 $link_css =
"<a href=\"".$this->_home.
"?evt[$this->_instanceName-$method]&block=css\">"._(
"CSS").
"</a>";
1544 $link_options =
"<a href=\"".$this->_home.
"?evt[$this->_instanceName-$method]&block=options\">"._(
"Opzioni").
"</a>";
1545 $link_license =
"<a href=\"".$this->_home.
"?evt[$this->_instanceName-$method]&block=license\">"._(
"Licenze").
"</a>";
1546 $link_video_platform =
"<a href=\"".$this->_home.
"?evt[$this->_instanceName-$method]&block=video_platform\">"._(
"Piattaforme streaming video").
"</a>";
1547 $link_gallery =
"<a href=\"".$this->_home.
"?evt[$this->_instanceName-$method]&block=gallery\">"._(
"Gallerie").
"</a>";
1548 $link_slider =
"<a href=\"".$this->_home.
"?evt[$this->_instanceName-$method]&block=slider\">"._(
"Slider").
"</a>";
1549 $link_audio =
"<a href=\"".$this->_home.
"?evt[$this->_instanceName-$method]&block=audio\">"._(
"Audio").
"</a>";
1550 $link_video =
"<a href=\"".$this->_home.
"?evt[$this->_instanceName-$method]&block=video\">"._(
"Video").
"</a>";
1551 $link_dft =
"<a href=\"".$this->_home.
"?evt[".$this->_instanceName.
"-$method]\">"._(
"Immagini").
"</a>";
1553 $sel_link = $link_dft;
1556 $id = cleanVar($_GET,
'id',
'int',
'');
1557 $start = cleanVar($_GET,
'start',
'int',
'');
1560 $registry = registry::instance();
1561 $registry->addCss($this->_class_www.
"/classroom.css");
1563 if($this->_block ==
'css') {
1564 $buffer = sysfunc::manageCss($this->_instance, $this->_className);
1565 $sel_link = $link_css;
1567 elseif($this->_block ==
'permissions' && $this->_access->AccessVerifyGroupIf($this->_className, $this->_instance,
'',
'')) {
1568 $buffer = sysfunc::managePermissions($this->_instance, $this->_className);
1569 $sel_link = $link_admin;
1571 elseif($this->_block ==
'options' && $this->_access->AccessVerifyGroupIf($this->_className, $this->_instance,
'',
'')) {
1572 $buffer = sysfunc::manageOptions($this->_instance, $this->_className);
1573 $sel_link = $link_options;
1575 elseif($this->_block ==
'license' && $this->_access->AccessVerifyGroupIf($this->_className, $this->_instance,
'',
'')) {
1576 $buffer = $this->manageLicense();
1577 $sel_link = $link_license;
1579 elseif($this->_block ==
'video_platform' && $this->_access->AccessVerifyGroupIf($this->_className, $this->_instance,
'',
'')) {
1580 $buffer = $this->manageVideoPlatform();
1581 $sel_link = $link_video_platform;
1583 elseif($this->_block ==
'slider') {
1584 $buffer = $this->manageSlider();
1585 $sel_link = $link_slider;
1587 elseif($this->_block ==
'gallery') {
1588 $buffer = $this->manageGallery();
1589 $sel_link = $link_gallery;
1591 elseif($this->_block ==
'audio') {
1592 $buffer = $this->manageAudio();
1593 $sel_link = $link_audio;
1595 elseif($this->_block ==
'video') {
1596 $buffer = $this->manageVideo();
1597 $sel_link = $link_video;
1600 $buffer = $this->manageImage();
1604 if($this->_access->AccessVerifyGroupIf($this->_className, $this->_instance,
'',
'')) {
1605 $links_array = array($link_admin, $link_css, $link_options, $link_license, $link_video_platform, $link_slider, $link_gallery, $link_audio, $link_video, $link_dft);
1607 elseif($this->_access->AccessVerifyGroupIf($this->_className, $this->_instance, $this->_user_group, $this->_group_1)) {
1608 $links_array = array($link_gallery, $link_audio, $link_video, $link_dft);
1610 else $links_array = array($link_dft);
1612 $htmltab->navigationLinks = $links_array;
1613 $htmltab->selectedLink = $sel_link;
1614 $htmltab->htmlContent = $buffer;
1616 return $htmltab->render();
1626 $registry = registry::instance();
1629 $allow_insertion = $slider->id ?
false :
true;
1631 $admin_table =
new adminTable($this, array(
'allow_insertion'=>$allow_insertion,
'delete_deny'=>
'all'));
1633 $buffer = $admin_table->backOffice(
1636 'list_display' => array(
'id',
'gallery',
'transition_effect'),
1637 'list_title'=>_(
"Slider"),
1638 'list_description'=>
"<p>"._(
"E' possibile configurare un solo slider").
"</p>",
1642 'transition_effect' =>array(
1643 'widget' =>
'select'
1658 require_once(
'class.multimediaItemAdminTable.php');
1660 $registry = registry::instance();
1661 $registry->addJs($this->_class_www.
'/MooComplete.js');
1662 $registry->addCss($this->_class_www.
'/MooComplete.css');
1666 $buffer = javascript::abiMapLib();
1669 $js_tags_list =
"['".implode(
"','", $tags).
"']";
1671 $buffer .=
"<script type=\"text/javascript\">";
1672 $buffer .=
"function convert() {
1673 var addressConverter = new AddressToPointConverter('map_coord', 'lat', 'lng', $('map_address').value, {'canvasPosition':'over'});
1674 addressConverter.showMap();
1676 $buffer .=
"window.addEvent('load', function() {
1677 var tag_input = new MooComplete('tags', {
1678 list: $js_tags_list, // elements to use to suggest.
1679 mode: 'tag', // suggestion mode (tag | text)
1680 size: 5 // number of elements to suggest
1683 $buffer .=
"</script>";
1684 $onclick =
"onclick=\"Asset.javascript('http://maps.google.com/maps/api/js?sensor=true&callback=convert')\"";
1685 $gform =
new Form(
'',
'',
'');
1686 $convert_button = $gform->input(
'map_coord',
'button', _(
"converti"), array(
"id"=>
"map_coord",
"classField"=>
"generic",
"js"=>$onclick));
1688 'lat'=>$gform->cinput(
'map_address',
'text',
'', array(_(
"Indirizzo localizzazione media"), _(
"es: torino, via mazzini 37<br />utilizzare 'converti' per calcolare latitudine e longitudine")), array(
"size"=>40,
"maxlength"=>200,
"id"=>
"map_address",
"text_add"=>
"<p>".$convert_button.
"</p>"))
1691 $buffer .= $admin_table->backOffice(
1694 'list_display' => array(
'id',
'name',
'galleries',
'published',
'private',
'tags'),
1695 'filter_fields'=>array(
'name',
'galleries',
'published',
'private',
'tags'),
1696 'list_title'=>_(
"Elenco file immagine"),
1697 'list_description'=>
"",
1701 'removeFields' => array(
1709 'addCell' => $addCell
1712 'description' => array(
1715 'img_preview'=>
false,
1725 'img_filename' => array(
1747 require_once(
'class.multimediaItemAdminTable.php');
1749 $registry = registry::instance();
1750 $registry->addJs($this->_class_www.
'/MooComplete.js');
1751 $registry->addCss($this->_class_www.
'/MooComplete.css');
1755 $buffer = javascript::abiMapLib();
1758 $js_tags_list =
"['".implode(
"','", $tags).
"']";
1760 $buffer .=
"<script type=\"text/javascript\">";
1761 $buffer .=
"function convert() {
1762 var addressConverter = new AddressToPointConverter('map_coord', 'lat', 'lng', $('map_address').value, {'canvasPosition':'over'});
1763 addressConverter.showMap();
1765 $buffer .=
"window.addEvent('load', function() {
1766 var tag_input = new MooComplete('tags', {
1767 list: $js_tags_list, // elements to use to suggest.
1768 mode: 'tag', // suggestion mode (tag | text)
1769 size: 5 // number of elements to suggest
1772 $buffer .=
"</script>";
1773 $onclick =
"onclick=\"Asset.javascript('http://maps.google.com/maps/api/js?sensor=true&callback=convert')\"";
1774 $gform =
new Form(
'',
'',
'');
1775 $convert_button = $gform->input(
'map_coord',
'button', _(
"converti"), array(
"id"=>
"map_coord",
"classField"=>
"generic",
"js"=>$onclick));
1777 'lat'=>$gform->cinput(
'map_address',
'text',
'', array(_(
"Indirizzo localizzazione media"), _(
"es: torino, via mazzini 37<br />utilizzare 'converti' per calcolare latitudine e longitudine")), array(
"size"=>40,
"maxlength"=>200,
"id"=>
"map_address",
"text_add"=>
"<p>".$convert_button.
"</p>"))
1780 $buffer .= $admin_table->backOffice(
1783 'list_display' => array(
'id',
'name',
'galleries',
'published',
'private',
'video_code',
'video_platform',
'tags'),
1784 'filter_fields'=>array(
'name',
'galleries',
'published',
'private',
'tags'),
1785 'list_title'=>_(
"Elenco file video"),
1786 'list_description'=>
"<p>"._(
'Ricordarsi di inserire la larghezza ed altezza del video per una corretta visualizzazione.').
"</p>",
1790 'removeFields' => array(
1795 'addCell' => $addCell
1798 'description' => array(
1801 'img_preview'=>
false,
1830 require_once(
'class.multimediaItemAdminTable.php');
1832 $registry = registry::instance();
1833 $registry->addJs($this->_class_www.
'/MooComplete.js');
1834 $registry->addCss($this->_class_www.
'/MooComplete.css');
1838 $buffer = javascript::abiMapLib();
1841 $js_tags_list =
"['".implode(
"','", $tags).
"']";
1843 $buffer .=
"<script type=\"text/javascript\">";
1844 $buffer .=
"function convert() {
1845 var addressConverter = new AddressToPointConverter('map_coord', 'lat', 'lng', $('map_address').value, {'canvasPosition':'over'});
1846 addressConverter.showMap();
1848 $buffer .=
"window.addEvent('load', function() {
1849 var tag_input = new MooComplete('tags', {
1850 list: $js_tags_list, // elements to use to suggest.
1851 mode: 'tag', // suggestion mode (tag | text)
1852 size: 5 // number of elements to suggest
1855 $buffer .=
"</script>";
1856 $onclick =
"onclick=\"Asset.javascript('http://maps.google.com/maps/api/js?sensor=true&callback=convert')\"";
1857 $gform =
new Form(
'',
'',
'');
1858 $convert_button = $gform->input(
'map_coord',
'button', _(
"converti"), array(
"id"=>
"map_coord",
"classField"=>
"generic",
"js"=>$onclick));
1860 'lat'=>$gform->cinput(
'map_address',
'text',
'', array(_(
"Indirizzo localizzazione media"), _(
"es: torino, via mazzini 37<br />utilizzare 'converti' per calcolare latitudine e longitudine")), array(
"size"=>40,
"maxlength"=>200,
"id"=>
"map_address",
"text_add"=>
"<p>".$convert_button.
"</p>"))
1863 $buffer .= $admin_table->backOffice(
1866 'list_display' => array(
'id',
'name',
'galleries',
'published',
'private',
'mpeg_filename',
'ogg_filename',
'tags'),
1867 'filter_fields'=>array(
'name',
'galleries',
'published',
'private',
'tags'),
1868 'list_title'=>_(
"Elenco file audio"),
1869 'list_description'=>
"<p>"._(
'Si consgilia di caricare i contenuti audio in due formati, mp3 ed ogg, per garantire la visualizzazione su diversi browser.').
"</p>",
1873 'removeFields' => array(
1880 'addCell' => $addCell
1883 'description' => array(
1886 'img_preview'=>
false,
1915 $registry = registry::instance();
1916 $registry->addJs($this->_class_www.
'/multimedia.js');
1918 $admin_table =
new adminTable($this, array());
1920 $edit = cleanVar($_GET,
'edit',
'int',
'');
1922 $name_onblur = !$edit
1923 ?
"onblur=\"$('slug').value = $(this).value.slugify()\""
1926 $buffer = $admin_table->backOffice(
1927 'multimediaGallery',
1929 'list_display' => array(
'id',
'thumb',
'name',
'slug',
'published',
'private',
'last_edit_date',
'promoted'),
1930 'list_title'=>_(
"Elenco gallerie multimediali"),
1931 'list_description'=>
"<p>"._(
'Ciascun media inserito potrà essere associato ad una o più gallerie multimediali qui definite.').
"</p>",
1936 'js' => $name_onblur
1941 'description' => array(
1944 'img_preview'=>
false,
1962 $admin_table =
new adminTable($this, array());
1964 $buffer = $admin_table->backOffice(
1965 'multimediaVideoPlatform',
1967 'list_display' => array(
'id',
'name',
'base_url'),
1968 'filter_fields'=>array(
'name'),
1969 'list_title'=>_(
"Elenco piattaform streaming video"),
1970 'list_description'=>
"<p>"._(
'Le seguenti piattaforme possono essere utilizzate per inserire contenuti multimediali video. I video vengono caricati dentro ad un iframe che richiama l\'url base qui definito cui viene concatenato il codice video. Attualmente lo script js moogallery che gestisce la visualizzazione dei media supporta youtube e vimeo (i nomi delle piattaforme video devono essere esattamente questi). In caso di aggiunte modificare lo script moogallery.js.').
"</p>",
1986 $admin_table =
new adminTable($this, array());
1988 $buffer = $admin_table->backOffice(
1989 'multimediaLicense',
1991 'list_display' => array(
'id',
'name',
'url'),
1992 'filter_fields'=>array(
'name'),
1993 'list_title'=>_(
"Elenco licenze"),
1994 'list_description'=>
"<p>"._(
'Le seguenti licenze sono associabili ai media inseriti').
"</p>",
1998 'description' => array(
2001 'img_preview'=>
false,