diff --git a/e107_admin/newspost.php b/e107_admin/newspost.php
index 0a20604e8..fa211b8f7 100644
--- a/e107_admin/newspost.php
+++ b/e107_admin/newspost.php
@@ -366,7 +366,7 @@ class news_admin_ui extends e_admin_ui
'news_title' => array('title' => LAN_TITLE, 'type' => 'text', 'tab'=>0, 'writeParms'=> array('required'=> 1, 'size'=>'block-level'), 'inline'=>true, 'width' => 'auto', 'thclass' => '', 'class' => null, 'nosort' => false),
'news_summary' => array('title' => LAN_NEWS_27, 'type' => 'text', 'tab'=>0, 'writeParms'=>'size=block-level', 'width' => 'auto', 'thclass' => 'left', 'class' => 'left', 'nosort' => false),
'news_body' => array('title' => "", 'type' => 'method', 'tab'=>0, 'nolist'=>true, 'writeParms'=>'nolabel=1','data'=>'str', 'width' => 'auto', 'thclass' => '', 'class' => null, 'nosort' => false),
- 'news_extended' => array('title' => "", 'type' => 'hidden', 'tab'=>0, 'nolist'=>true, 'writeParms'=>'nolabel=1','data'=>'str', 'width' => 'auto', 'thclass' => '', 'class' => null, 'nosort' => false),
+ 'news_extended' => array('title' => "", 'type' => null, 'tab'=>0, 'nolist'=>true, 'writeParms'=>'nolabel=1','data'=>'str', 'width' => 'auto', 'thclass' => '', 'class' => null, 'nosort' => false),
'news_meta_keywords' => array('title' => LAN_KEYWORDS, 'type' => 'tags', 'tab'=>1, 'width' => 'auto', 'thclass' => '', 'class' => null, 'nosort' => false),
'news_meta_description' => array('title' => LAN_DESCRIPTION,'type' => 'textarea', 'tab'=>1, 'width' => 'auto', 'thclass' => '', 'class' => null, 'nosort' => false),
@@ -383,6 +383,7 @@ class news_admin_ui extends e_admin_ui
'news_sticky' => array('title' => LAN_NEWS_28, 'type' => 'boolean', 'tab'=>2, 'data' => 'int' , 'width' => 'auto', 'thclass' => 'center', 'class' => 'center', 'nosort' => false, 'batch'=>true, 'filter'=>true),
'news_allow_comments' => array('title' => NWSLAN_15, 'type' => 'boolean', 'tab'=>2, 'writeParms'=>'inverse=1', 'data' => 'int', 'width' => 'auto', 'thclass' => 'center', 'class' => 'center', 'nosort' => false,'batch'=>true, 'filter'=>true,'readParms'=>'reverse=1','writeParms'=>'inverse=1'),
'news_comment_total' => array('title' => LAN_NEWS_60, 'type' => 'number', 'tab'=>2, 'noedit'=>true, 'width' => '10%', 'thclass' => '', 'class' => null, 'nosort' => false),
+ 'submitted_id' => array('title'=>'Submitted Item', 'type' => 'hidden', 'data'=>false, 'writeParms'=>'show=1'),
'options' => array('title' => LAN_OPTIONS, 'type' => null, 'width' => '10%', 'thclass' => 'center last', 'class' => 'center', 'nosort' => true, 'forced' => TRUE)
);
@@ -428,8 +429,6 @@ class news_admin_ui extends e_admin_ui
$tmp = explode(chr(35), $new_data['news_author']);
$new_data['news_author'] = intval($tmp[0]);
-
-
return $new_data;
}
@@ -457,6 +456,13 @@ class news_admin_ui extends e_admin_ui
public function afterCreate($new_data, $old_data, $id)
{
+
+ if(!empty($new_data['submitted_id']))
+ {
+ e107::getDb()->update('submitnews', "submitnews_auth = 1 WHERE submitnews_id = ".intval($new_data['submitted_id'])." LIMIT 1");
+ }
+
+
$this->processPings();
e107::getEvent()->trigger('newspost',$new_data);
e107::getEvent()->trigger('admin_news_created',$new_data);
@@ -1074,7 +1080,8 @@ class news_admin_ui extends e_admin_ui
$data['news_body'] = $row['submitnews_item'];
$data['news_category'] = intval( $row['submitnews_category']);
$data['news_body'] .= "\n[[b]".NWSLAN_49." {$row['submitnews_name']}[/b]]";
-
+ $thumbs = array();
+
if($row['submitnews_file'])
{
$files = explode(",",$row['submitnews_file']);
@@ -1082,12 +1089,16 @@ class news_admin_ui extends e_admin_ui
{
if($bbpath = e107::getMedia()->importFile($f,'news'))
{
- $data['news_body'] .= "\n\n[img]".$bbpath."[/img]";
+ $thumbs[] = $bbpath;
+ // $data['news_body'] .= "\n\n[img]".$bbpath."[/img]";
}
}
}
+ $data['news_thumbnail'] = implode(",",$thumbs);
+ $data['submitted_id'] = $id;
+
foreach($data as $k=>$v)
{
$this->getModel()->setData($k, $v); // Override Table data.
diff --git a/e107_handlers/form_handler.php b/e107_handlers/form_handler.php
index 97b137e5e..87e1ca699 100644
--- a/e107_handlers/form_handler.php
+++ b/e107_handlers/form_handler.php
@@ -4021,9 +4021,9 @@ class e_form
break;
case 'hidden':
+
$value = (isset($parms['value'])) ? $parms['value'] : $value;
$ret = (vartrue($parms['show']) ? ($value ? $value : varset($parms['empty'], $value)) : '');
- //echo "
key=".$key."
value=".$value;
$ret = $ret.$this->hidden($key, $value);
break;
@@ -4039,6 +4039,10 @@ class e_form
$ret = vartrue($eloptions['pre']).$this->selectbox($key, $options, $value, $eloptions).vartrue($eloptions['post']);
break;
+ case null:
+ // Possibly used in db but should not be submitted in form. @see news_extended.
+ break;
+
default:// No LAN necessary, debug only.
$ret = (ADMIN) ? "".LAN_ERROR." Unknown 'type' : ".$attributes['type'] ."" : $value;
break;
@@ -4338,6 +4342,8 @@ class e_form
$model_required = $model->getValidationRules();
$required_help = false;
$hidden_fields = array();
+
+
foreach($fdata['fields'] as $key => $att)
{
if($tab !== false && varset($att['tab'], 0) !== $tab)
@@ -4351,7 +4357,7 @@ class e_form
$key = $att['field'];
}
- if($key == 'checkboxes' || $key == 'options')
+ if($key == 'checkboxes' || $key == 'options' || ($att['type'] === null))
{
continue;
}
@@ -4389,6 +4395,8 @@ class e_form
if(!vartrue($writeParms['show']))
{
+ $hidden_fields[] = $this->renderElement($keyName, $model->getIfPosted($valPath), $att, varset($model_required[$key], array()));
+
continue;
}
unset($tmp);
@@ -4415,7 +4423,7 @@ class e_form
}
}
- /*
+ /*
if('hidden' === $att['type'])
{
parse_str(varset($att['writeParms']), $tmp);
@@ -4427,12 +4435,8 @@ class e_form
}
unset($tmp);
}
-
- *
- *
- *
- *
- */
+ */
+
$leftCell = $required."".defset(vartrue($att['title']), vartrue($att['title']))."".$label;
$rightCell = $this->renderElement($keyName, $model->getIfPosted($valPath), $att, varset($model_required[$key], array()), $model->getId())." {$help}";
@@ -4487,7 +4491,11 @@ class e_form
$text .= "
- ";
+ ";
+
+ $text .= implode("\n", $hidden_fields);
+
+ $text .= "";
$text .= vartrue($fdata['fieldset_post']);