Merge pull request #51 from brayanpereyra/BUG-8933

BUG 8933 The code Javascrit don't mix with PHP SOLVED
This commit is contained in:
julceslauhub
2012-06-12 12:52:59 -07:00
6 changed files with 31 additions and 13 deletions

View File

@@ -265,6 +265,7 @@ class dynaformEditor extends WebResource
var DYNAFORM_URL="'.$Parameters['URL'].'"; var DYNAFORM_URL="'.$Parameters['URL'].'";
leimnud.event.add(window,"load",function(){ loadEditor(); }); leimnud.event.add(window,"load",function(){ loadEditor(); });
'); ');
$oHeadPublisher->addScriptCode(' var jsMeta;');
G::RenderPage( "publish", 'blank' ); G::RenderPage( "publish", 'blank' );
} }
@@ -664,8 +665,12 @@ class dynaformEditorAjax extends dynaformEditor implements iDynaformEditorAjax
* @param string $sCode * @param string $sCode
* @return array * @return array
*/ */
function set_javascript($A,$fieldName,$sCode) function set_javascript($A,$fieldName,$sCode,$meta)
{ {
if ($fieldName == '___pm_boot_strap___') {
return 0;
}
$sCode = urldecode($sCode) ; $sCode = urldecode($sCode) ;
try { try {
$sCode = rtrim($sCode); $sCode = rtrim($sCode);
@@ -678,7 +683,7 @@ class dynaformEditorAjax extends dynaformEditor implements iDynaformEditorAjax
G::LoadSystem('dynaformhandler'); G::LoadSystem('dynaformhandler');
$dynaform = new dynaFormHandler(PATH_DYNAFORM."{$file}.xml"); $dynaform = new dynaFormHandler(PATH_DYNAFORM."{$file}.xml");
$dynaform->replace($fieldName, $fieldName, Array('type'=>'javascript', '#cdata'=>$sCode)); $dynaform->replace($fieldName, $fieldName, Array('type'=>'javascript', 'meta'=>$meta, '#cdata'=>$sCode));
return 0; return 0;
} catch(Exception $e) { } catch(Exception $e) {

View File

@@ -165,10 +165,11 @@ var dynaformEditor={
{ {
var field=getField("JS_LIST","dynaforms_JSEditor"); var field=getField("JS_LIST","dynaforms_JSEditor");
var code=this.getJSCode(); var code=this.getJSCode();
var meta=jsMeta;
if (field.value) if (field.value)
{ {
var res = this.ajax.set_javascript(this.A,field.value, encodeURIComponent(code)); var res = this.ajax.set_javascript(this.A,field.value, encodeURIComponent(code), meta);
if (typeof(res["*message"])==="string") if (typeof(res["*message"])==="string")
{ {
G.alert(res["*message"]); G.alert(res["*message"]);
@@ -462,7 +463,7 @@ var dynaformEditor={
if( field.options[j].value == '___pm_boot_strap___' ){ if( field.options[j].value == '___pm_boot_strap___' ){
field.remove(j); field.remove(j);
} }
} }
this.currentJS=field.value; this.currentJS=field.value;
var res=this.ajax.get_javascripts(this.A,field.value); var res=this.ajax.get_javascripts(this.A,field.value);
if(field.value == ''){ if(field.value == ''){

View File

@@ -90,9 +90,11 @@
//alert( "Data Saved: " + httpResponse ); //alert( "Data Saved: " + httpResponse );
} }
}); });
fieldsHandlerSaveHidden();
} }
function fieldsHandlerSaveHidden(){ function fieldsHandlerSaveHidden(){
var responseMeta;
e = $('input:checkbox'); e = $('input:checkbox');
hidden_elements = ''; hidden_elements = '';
for(i=0; i<e.length; i++){ for(i=0; i<e.length; i++){
@@ -105,11 +107,14 @@
$.ajax({ $.ajax({
type: "POST", type: "POST",
url: "fieldsHandlerAjax", url: "fieldsHandlerAjax",
async: false,
data: "request=saveHidden&hidden="+hidden_elements, data: "request=saveHidden&hidden="+hidden_elements,
success: function(httpResponse){ success: function(httpResponse){
//alert( "Data Saved: " + httpResponse ); responseMeta = httpResponse;
} }
}); });
return responseMeta;
} }
function backImage(oImg,p){ function backImage(oImg,p){

View File

@@ -90,4 +90,4 @@ if (($RBAC_Response=$RBAC->userCanAccess("PM_FACTORY"))!=1) return $RBAC_Respons
$editor->_setUseTemporalCopy(true); $editor->_setUseTemporalCopy(true);
$editor->_render(); $editor->_render();
?> ?>

View File

@@ -88,8 +88,9 @@
if( $o->nodeExists('___pm_boot_strap___') ){ if( $o->nodeExists('___pm_boot_strap___') ){
$o->remove('___pm_boot_strap___'); $o->remove('___pm_boot_strap___');
} }
$o->add('___pm_boot_strap___', Array('type'=>'javascript', "meta"=>G::encrypt($hidden_items_tmp, 'dynafieldsHandler')), "/*$msg*/ $hStr"); $metaEncrypt = G::encrypt($hidden_items_tmp, 'dynafieldsHandler');
$o->add('___pm_boot_strap___', Array('type'=>'javascript', "meta"=>$metaEncrypt), "/*$msg*/ $hStr");
echo $metaEncrypt;
} else { //we must to remove the boot strap node; } else { //we must to remove the boot strap node;
$o->remove('___pm_boot_strap___'); $o->remove('___pm_boot_strap___');
} }

View File

@@ -69,11 +69,17 @@
foreach($elements as $node_name=>$node){ foreach($elements as $node_name=>$node){
if( $node_name == "___pm_boot_strap___"){ if( $node_name == "___pm_boot_strap___"){
$boot_strap = $elements[$node_name]; $boot_strap = $elements[$node_name];
$hidden_fields = G::decrypt($boot_strap['__ATTRIBUTES__']['meta'], 'dynafieldsHandler'); $hidden_fields = G::decrypt($boot_strap['__ATTRIBUTES__']['meta'], 'dynafieldsHandler');
//echo $hidden_fields; //echo $hidden_fields;
$hidden_fields_list = explode(',', $hidden_fields); $hidden_fields_list = explode(',', $hidden_fields);
unset($elements[$node_name]); unset($elements[$node_name]);
?>
<script>
parent.jsMeta = "<? echo $boot_strap['__ATTRIBUTES__']['meta'] ?>";
</script>
<?php
} }
} }
?> ?>
@@ -112,7 +118,7 @@
<tr> <tr>
<td width="7%"> <td width="7%">
<?php if($node['__ATTRIBUTES__']['type'] != 'javascript' && $dynaformType != 'grid') {?> <?php if($node['__ATTRIBUTES__']['type'] != 'javascript' && $dynaformType != 'grid') {?>
<input id="chk@<?php echo $node_name?>" type="checkbox" onclick="fieldsHandlerSaveHidden()" <?php echo $checked?> /> <input id="chk@<?php echo $node_name?>" type="checkbox" onclick="parent.jsMeta = fieldsHandlerSaveHidden();" <?php echo $checked?> />
<?php } else {?> <?php } else {?>
&nbsp; &nbsp;
<?php }?> <?php }?>