diff --git a/e107_admin/image.php b/e107_admin/image.php
index 189ee0784..64dba7c12 100644
--- a/e107_admin/image.php
+++ b/e107_admin/image.php
@@ -282,8 +282,6 @@ class media_admin_ui extends e_admin_ui
function init()
{
-
-
$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");
@@ -299,8 +297,21 @@ class media_admin_ui extends e_admin_ui
{
$this->batchImport();
}
- }
+
+ if($this->getQuery('iframe'))
+ {
+ $this->getResponse()->setIframeMod();
+ }
+ if($this->getQuery('for') && $this->getMediaCategory($this->getQuery('for')))
+ {
+ $this->setPosted('media_category', $this->getQuery('for'));
+ if(!$this->getId())
+ {
+ $this->getModel()->set('media_category', $this->getQuery('for'));
+ }
+ }
+ }
function importPage()
{
@@ -335,6 +346,10 @@ class media_admin_ui extends e_admin_ui
//$dataFields = $this->getModel()->getDataFields();
//unset($dataFields['media_upload']);
//$this->getModel()->setDataFields($dataFields);
+ if($this->getQuery('for') && $this->getMediaCategory($this->getQuery('for')))
+ {
+ $new_data['media_category'] = $this->getQuery('for');
+ }
return $this->observeUploaded($new_data);
}
diff --git a/e107_admin/newspost.php b/e107_admin/newspost.php
index 0273ea477..142652d1e 100644
--- a/e107_admin/newspost.php
+++ b/e107_admin/newspost.php
@@ -112,9 +112,8 @@ function headerjs()
}
});
-
-
";
+ e107::getJs()->requireCoreLib('core/admin.js');
if($newspost->getAction() == 'cat')
{
@@ -1538,9 +1537,27 @@ class admin_newspost
".NWSLAN_66.": |
";
- //FIXME - below is a quick fix for media-manager upload. Requires popup window without header/footer.
- $text .= "".NWSLAN_69."";
-
+ $text .= $frm->mediaUrl('news', NWSLAN_69);
+/* //FIXME - below is a quick fix for media-manager upload. Requires popup window without header/footer.
+ $text .= "".NWSLAN_69."";
+ // FIXME - make it system wide available
+ e107::getJs()->requireCoreLib('core/admin.js')
+ ->requireCoreLib('core/dialog.js')
+ ->requireCoreLib('core/draggable.js')
+ ->coreCSS('core/dialog/dialog.css')
+ ->coreCSS('core/dialog/e107/e107.css')
+ ->footerInline('
+ $$("a.e-dialog").invoke("observe", "click", function(ev) {
+ var element = ev.findElement("a");
+ ev.stop();
+ new e107Widgets.URLDialog(element.href + "&iframe=1", {
+ id: element["id"] || "e-dialog",
+ width: 800,
+ height: 600,
+ title: "Media Manager"
+ }).center().activate().show();
+ });
+ ');*/
// e_NEWSIMAGE is deprecated.
// DEPRECATED METHOD below.
diff --git a/e107_core/shortcodes/single/imagepreview.php b/e107_core/shortcodes/single/imagepreview.php
index 5a5bc4c72..679d0adfe 100644
--- a/e107_core/shortcodes/single/imagepreview.php
+++ b/e107_core/shortcodes/single/imagepreview.php
@@ -56,5 +56,5 @@ function imagepreview_shortcode($parm)
{
$thpath = !varset($nothumb) ? e107::getParser()->thumbUrl($path, 'w='.$width.'h='.$height, true) : $path;
}
- return " ";
+ return " ";
}
\ No newline at end of file
diff --git a/e107_core/shortcodes/single/imageselector.php b/e107_core/shortcodes/single/imageselector.php
index 149894fdb..3cc20fbfd 100644
--- a/e107_core/shortcodes/single/imageselector.php
+++ b/e107_core/shortcodes/single/imageselector.php
@@ -29,18 +29,17 @@ function imageselector_shortcode($parm = '', $mod = '')
$scaction = varsettrue($scaction, 'all');
$text = '';
$name_id = e107::getForm()->name2id($name);
-
+ $imagelist = array();
+
//Get Select Box Only!
if ($scaction == 'select' || $scaction == 'all')
{
- $imagelist = array();
-
// Media manager support
if(vartrue($parms['media']))
{
$qry = "SELECT * FROM `#core_media` WHERE media_userclass IN (".USERCLASS_LIST.") ";
$qry .= vartrue($parms['media']) && $parms['media'] !== 'all' ? " AND media_category='".$tp->toDB($parms['media'])."' " : " AND `media_category` NOT REGEXP '_icon_16|_icon_32|_icon_48|_icon_64' ";
- $qry .= " AND media_category REGEX '.jpg|.png|.gif' ORDER BY media_name";
+ $qry .= " AND media_url REGEXP '.jpg|.png|.gif|.JPG|.PNG|.GIF' ORDER BY media_name";
// FIXME - media_type=image?
if($sql->db_Select_gen($qry))
{
@@ -76,6 +75,11 @@ function imageselector_shortcode($parm = '', $mod = '')
$label = ($label) ? $label : " -- -- ";
$tabindex = varset($tabindex) ? " tabindex='{$tabindex}'" : '';
$class = varset($class) ? " class='{$class}'" : " class='tbox imgselector'";
+
+ if(!e_AJAX_REQUEST)
+ {
+ $text .= '';
+ }
$text .= " ";
+ $text .= " refresh";
+ if(!e_AJAX_REQUEST) $text .= ' ';
if ($scaction == 'select') return $text;
}
@@ -149,7 +169,7 @@ function imageselector_shortcode($parm = '', $mod = '')
}
else
{
- $text .= "";
+ $text .= "";
}
if (vartrue($height)) $height = intval($height);
if (vartrue($width)) $width = intval($width);
diff --git a/e107_files/jslib/core/dialog.js b/e107_files/jslib/core/dialog.js
index 3b7eeaaa6..d4a602b71 100644
--- a/e107_files/jslib/core/dialog.js
+++ b/e107_files/jslib/core/dialog.js
@@ -56,7 +56,10 @@ e107Widgets.Dialog = Class.create(e107WidgetAbstract, {
this.events = new e107EventManager(this);
this.initMod('core-dialog', options);
+ if(!e107Widgets['DialogManagerDefault']) e107Widgets.DialogManagerDefault = new e107Widgets.DialogManager();
+
this.dialogManager = this.options.dialogManager || e107Widgets.DialogManagerDefault;
+
if(this.options.id && this.dialogManager.getWindow($(this.options.id))) return;
this.setMethodChains();
diff --git a/e107_handlers/admin_ui.php b/e107_handlers/admin_ui.php
index c4b8aeb17..8f7413de3 100644
--- a/e107_handlers/admin_ui.php
+++ b/e107_handlers/admin_ui.php
@@ -411,7 +411,7 @@ class e_admin_request
//special case - exclude all current
if(true === $exclude_from_query)
{
- $exclude_from_query = $ret;
+ $exclude_from_query = array_keys($ret);
}
// to array
if(is_string($exclude_from_query))
@@ -1834,7 +1834,7 @@ class e_admin_controller
if($mode) $request->setMode($mode);
if($action) $request->setAction($action);
if(!$path) $path = e_SELF;
-
+
$url = $path.'?'.$request->buildQueryString($merge_query, false, $exclude_query);
// Transfer all messages to session
e107::getMessage()->moveToSession();
diff --git a/e107_handlers/form_handler.php b/e107_handlers/form_handler.php
index d639b235d..2d5a9500a 100644
--- a/e107_handlers/form_handler.php
+++ b/e107_handlers/form_handler.php
@@ -137,6 +137,35 @@ class e_form
return $ret;
}
+
+ public function mediaUrl($category = '', $label = '')
+ {
+ if($category) $category = '&for='.$category;
+ if(!$label) $label = ' Upload an image or file';
+ $ret = "".$label."";
+
+ if(!e107::getRegistry('core/form/mediaurl'))
+ {
+ e107::getJs()->requireCoreLib('core/admin.js')
+ ->requireCoreLib('core/dialog.js')
+ ->requireCoreLib('core/draggable.js')
+ ->coreCSS('core/dialog/dialog.css')
+ ->coreCSS('core/dialog/e107/e107.css')
+ ->footerInline('
+ $$("a.e-dialog").invoke("observe", "click", function(ev) {
+ var element = ev.findElement("a");
+ ev.stop();
+ new e107Widgets.URLDialog(element.href + "&iframe=1", {
+ id: element["id"] || "e-dialog",
+ width: 900,
+ height: 550
+ }).center().activate().show();
+ });
+ ');
+ e107::setRegistry('core/form/mediaurl', true);
+ }
+ return $ret;
+ }
/**
* FIXME - better GUI, {IMAGESELECTOR} rewrite, flexibility, thumbnails, tooltip image preivew, etc.
@@ -166,7 +195,7 @@ class e_form
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";
@@ -218,6 +247,7 @@ class e_form
if(!$label) $label = LAN_SELECT;
$parms = "name={$name}";
+ $parms .= '&media='.varset($sc_parameters['media']);
$parms .= "&path=".rawurlencode(e107::getParser()->replaceConstants(vartrue($sc_parameters['path'], '{e_MEDIA}images/|{e_MEDIA}temp/')));
$parms .= "&filter=0";
$parms .= "&fullpath=1";
|