diff --git a/e107_admin/image.php b/e107_admin/image.php index 84ea95da2..189ee0784 100644 --- a/e107_admin/image.php +++ b/e107_admin/image.php @@ -34,8 +34,8 @@ $e_sub_cat = 'image'; // require_once("auth.php"); // require_once(e_HANDLER."form_handler.php"); -require_once(e_HANDLER."userclass_class.php"); -require_once(e_HANDLER."message_handler.php"); +//require_once(e_HANDLER."userclass_class.php"); +//require_once(e_HANDLER."message_handler.php"); // $frm = new e_form(); //new form handler $emessage = eMessage::getInstance(); @@ -50,9 +50,9 @@ class media_admin extends e_admin_dispatcher 'uipath' => null ), 'cat' => array( - 'controller' => 'faq_cat_ui', + 'controller' => 'media_cat_ui', 'path' => null, - 'ui' => 'faq_cat_form_ui', + 'ui' => 'media_cat_form_ui', 'uipath' => null ) ); @@ -94,7 +94,7 @@ class media_admin extends e_admin_dispatcher } -class faq_cat_ui extends e_admin_ui +class media_cat_ui extends e_admin_ui { protected $pluginTitle = 'Media Categories'; protected $pluginName = 'core'; @@ -122,16 +122,16 @@ class faq_cat_ui extends e_admin_ui * @param mixed $default [optional] default value if not found (default 'n/a') * @return TBD */ - function getFaqCategoryTree($id = false, $default = 'n/a') + function getMediaCategoryTree($id = false, $default = 'n/a') { // TODO get faq category tree } } -/*class faq_cat_form_ui extends e_admin_form_ui +class faq_cat_form_ui extends e_admin_form_ui { - public function faq_info_parent($curVal,$mode) + /*public function faq_info_parent($curVal,$mode) { // TODO - catlist combo without current cat ID in write mode, parents only for batch/filter // Get UI instance @@ -151,8 +151,8 @@ class faq_cat_ui extends e_admin_ui return $controller->getFaqCategoryTree(); break; } - } -}*/ + }*/ +} @@ -160,11 +160,11 @@ class faq_cat_ui extends e_admin_ui class media_form_ui extends e_admin_form_ui { - private $cats = array(); + //private $cats = array(); function init() { - $sql = e107::getDb(); + /*$sql = e107::getDb(); // $sql->db_Select_gen("SELECT media_cat_title, media_title_nick FROM #core_media as m LEFT JOIN #core_media_cat as c ON m.media_category = c.media_cat_nick GROUP BY m.media_category"); $sql->db_Select_gen("SELECT media_cat_title, media_cat_nick FROM #core_media_cat"); while($row = $sql->db_Fetch()) @@ -172,7 +172,7 @@ class media_form_ui extends e_admin_form_ui $cat = $row['media_cat_nick']; $this->cats[$cat] = $row['media_cat_title']; } - asort($this->cats); + asort($this->cats);*/ } function media_category($curVal,$mode) // not really necessary since we can use 'dropdown' - but just an example of a custom function. @@ -180,22 +180,24 @@ class media_form_ui extends e_admin_form_ui if($mode == 'read') { - return $this->cats[$curVal]; + return $this->getController()->getMediaCategory($curVal); + //return $this->cats[$curVal]; } if($mode == 'batch') // Custom Batch List for release_type { - return $this->cats; + return $this->getController()->getMediaCategory(); } if($mode == 'filter') // Custom Filter List for release_type { - return $this->cats; + return $this->getController()->getMediaCategory(); } $text = ""; + + if ($scaction == 'select') return $text; + } + + $hide = ''; + if (!$pvw_default) + { + if ($default) + { + $test = pathinfo($default); + if ('.' == $test['dirname']) + { + // file only, add absolute path + $path = $tp->createConstants($path, 1); + $path = $tp->replaceConstants($path, 'abs'); + $pvw_default = $path.$default; + } + else + { + // path, convert to absolute path + $pvw_default = $tp->createConstants($default, 1); + $pvw_default = $tp->replaceConstants($pvw_default, 'abs'); + } + } + else + { + $pvw_default = e_IMAGE_ABS."generic/blank.gif"; + $hide = ' style="display: none;"'; + } + } + + $text .= "
"; + if (varset($click_target)) + { + $pre = varset($click_prefix); + $post = varset($click_postfix); + $text .= ""; + } + else + { + $text .= ""; + } + if (vartrue($height)) $height = intval($height); + if (vartrue($width)) $width = intval($width); + $thpath = isset($parms['nothumb']) || $hide ? $pvw_default : $tp->thumbUrl($pvw_default, 'w='.$width.'&h='.$height, true); + $text .= "$pvw_default"; + + $text .= "
\n"; + + return "\n\n\n\n".$text."\n\n\n\n"; +} \ No newline at end of file diff --git a/e107_handlers/form_handler.php b/e107_handlers/form_handler.php index ae4abb603..d639b235d 100644 --- a/e107_handlers/form_handler.php +++ b/e107_handlers/form_handler.php @@ -138,17 +138,37 @@ class e_form return $ret; } - // FIXME - better GUI, {IMAGESELECTOR} rewrite, flexibility, thumbnails, tooltip image preivew, etc. - //FIXME - use the media-manager as an image selector. + /** + * FIXME - better GUI, {IMAGESELECTOR} rewrite, flexibility, thumbnails, tooltip image preivew, etc. + * FIXME - use the media-manager as an image selector. + * SC Parameter list: + * - media: if present - load from media table + * - path: server pats to be listed (separated by |) - only if 'media' param is not present + * - subdirs: folder search depth (default is 10) + * - width: preview width in pixels + * - height: preview height in pixels + * Additional usage is $sc_parameters = 'news' + * where + * Full list can be found in shortcodes/imageselector.php + * @param string $name input name + * @param string $default default value + * @param string $label custom label + * @param string $sc_parameters shortcode parameters + * @return string html output + */ function imagepicker($name, $default, $label = '', $sc_parameters = '') { - // Temporary Fix for using Media-Manager data $sql = e107::getDb(); + $tp = e107::getParser(); - // $sc_parameters is currently being used to select the media-category. - - $qry = "SELECT * FROM `#core_media` WHERE media_userclass IN (".USERCLASS_LIST.") "; - $qry .= vartrue($sc_parameters) ? " AND media_category = '".$sc_parameters."' " : " AND `media_category` NOT REGEXP '_icon_16|_icon_32|_icon_48|_icon_64' "; + if(is_string($sc_parameters)) + { + if(strpos($sc_parameters, '=') === false) $sc_parameters = 'media='.$sc_parameters; + parse_str($sc_parameters, $sc_parameters); + } + +/* $qry = "SELECT * FROM `#core_media` WHERE media_userclass IN (".USERCLASS_LIST.") "; + $qry .= vartrue($sc_parameters['media']) ? " AND media_category = '".$tp->toDB($sc_parameters['media'])."' " : " AND `media_category` NOT REGEXP '_icon_16|_icon_32|_icon_48|_icon_64' "; $qry .= "ORDER BY media_name"; @@ -161,7 +181,6 @@ class e_form asort($opts); - $tp = e107::getParser(); $hide = $default_url = ''; $default_thumb = $default; if($default) @@ -193,26 +212,25 @@ class e_form $ret .= "{$default_url}"; $ret .= "\n"; return $ret; - } + }*/ // ---------------- - if(is_string($sc_parameters)) parse_str($sc_parameters, $sc_parameters); + if(!$label) $label = LAN_SELECT; $parms = "name={$name}"; - $parms .= "&path=".rawurlencode(e107::getParser()->replaceConstants(vartrue($sc_parameters['path'], '{e_FILE}images/'))); + $parms .= "&path=".rawurlencode(e107::getParser()->replaceConstants(vartrue($sc_parameters['path'], '{e_MEDIA}images/|{e_MEDIA}temp/'))); $parms .= "&filter=0"; $parms .= "&fullpath=1"; $parms .= "&default=".rawurlencode($default); $parms .= "&multiple=FALSE"; $parms .= "&label=-- ".$label." --"; - $parms .= "&subdirs=".varset($sc_parameters['subdirs'], 1); + $parms .= "&subdirs=".varset($sc_parameters['subdirs'], 10); $parms .= '&width='.vartrue($sc_parameters['width'], 150); if(vartrue($sc_parameters['height'])) $parms .= '&height='.$sc_parameters['height'].'px'; //$parms .= "&tabindex=".$this->getNext(); //$parms .= "&click_target=data"; //$parms .= "&click_prefix=[img][[e_IMAGE]]newspost_images/"; //$parms .= "&click_postfix=[/img]"; - $tp = e107::getParser(); $ret = "
".$tp->parseTemplate("{IMAGESELECTOR={$parms}&scaction=select}")."
"; $ret .= "
".$tp->parseTemplate("{IMAGESELECTOR={$parms}&scaction=preview}")."
"; @@ -1851,7 +1869,7 @@ class e_form { $key = $att['field']; } - + $parms = vartrue($att['formparms'], array()); if(!is_array($parms)) parse_str($parms, $parms); $label = vartrue($att['note']) ? '
'.deftrue($att['note'], $att['note']).'
' : ''; @@ -1889,7 +1907,7 @@ class e_form $model_required[$key][] = varset($att['error']); } } - + $text .= "