Files
luos/workflow/engine/templates/dynaforms/fieldsHandler.php
Julio Cesar Laura Avendaño 5449ad0208 PMC-1100
2019-08-23 11:13:37 -04:00

255 lines
11 KiB
PHP

<?php
/**
* ProcessMaker Open Source Edition
* Copyright (C) 2004 - 2008 Colosa Inc.23
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
* For more information, contact Colosa Inc, 2566 Le Jeune Rd.,
* Coral Gables, FL, 33134, USA, or email info@colosa.com.
*
*/
/*
* @Author Erik Amaru Ortiz <erik@colosa.com>
* @Date Aug 26th, 2009
*/
if (!((isset($_SESSION['USER_LOGGED']))&&(!(isset($_GET['sid']))))||!isset($_SESSION['Current_Dynafom'])) {
$oHeadPublisher = headPublisher::getSingleton();
$oHeadPublisher->addScriptCode("
window.parent.location.href = '../processes/mainInit';
");
G::RenderPage('publish');
exit();
}
?>
<html>
<head>
<link type="text/css" href="/js/jquery/css/redmond/jquery-ui-1.7.2.custom.css" rel="stylesheet" />
<link type="text/css" href="/skin/<?php echo SYS_SKIN;?>/style.css" rel="stylesheet" />
<style> body{ background-color: #fff; }</style>
<script type="text/javascript" src="/js/jquery/jquery-1.3.2.min.js"></script>
<script type="text/javascript" src="/js/jquery/jquery-ui-1.7.2.custom.min.js"></script>
<script type="text/javascript" src="/jscore/dynaforms/dynaforms_fieldsHandler.js"></script>
</head>
<?php
$content = file_get_contents(PATH_DYNAFORM.$_SESSION['Current_Dynafom']['Parameters']['FILE'].".xml");
$oXxml = G::xmlParser($content);
if (!isset($oXxml->result['dynaForm']['__CONTENT__'])) {
?>
<br/>
<div class="ui-widget-header ui-corner-all" style="height:17px" align="center">
<?php echo G::loadTranslation('ID_NO_FIELD_FOUND')?>
</div>
<script>
parent.document.getElementById('light').style.display='none';
parent.document.getElementById('fade').style.display='none';
</script>
<?php
die();
}
$elements = $oXxml->result['dynaForm']['__CONTENT__'];
$dynaformAttributes = $oXxml->result['dynaForm']['__ATTRIBUTES__'];
$dynaformType = $dynaformAttributes['type'];
foreach ($elements as $node_name=>$node) {
if ($node_name == "___pm_boot_strap___") {
$boot_strap = $elements[$node_name];
$hidden_fields = G::decrypt($boot_strap['__ATTRIBUTES__']['meta'], 'dynafieldsHandler');
//echo $hidden_fields;
$hidden_fields_list = explode(',', $hidden_fields);
unset($elements[$node_name]); ?>
<script>
parent.jsMeta = "<?php echo $boot_strap['__ATTRIBUTES__']['meta'] ?>";
</script>
<?php
}
}
?>
<body>
<table border="0" width="100%" cellpadding="0" cellspacing="0" class="fieldshandler_item">
<tr>
<td width="15%" valign="top" align="left">
<a href='#' onclick="return false;" onmouseout="parent.hideTooltip()" onmouseover="parent.showTooltip(event,document.getElementById('help').innerHTML);return false;">
<image src="/images/help4.gif" width="16" height="16" border="0"/>
</a>
</td>
<td valign="top" width="990px"><center>
<div style="width:100%">
<div class="ui-widget-header ui-corner-all" style="height:17px">
<table border="0" width="100%" cellpadding="0" cellspacing="0">
<td width="7%"><div style="font-size:9px; color:#fff;" align="left">&nbsp;<b><?php echo G::loadTranslation('ID_VISIBLE')?></b></div></td>
<td width="15%"><div style="font-size:12px;color:#fff; font-weight:bold" align="left">&nbsp;<?php echo G::loadTranslation('ID_TYPE')?></div></td>
<td width="28%"><div style="font-size:12px;color:#fff; font-weight:bold" align="left">&nbsp;<?php echo G::loadTranslation('ID_NAME')?></div></td>
<td width="6"><div style="font-size:12px;color:#fff; font-weight:bold" align="left">&nbsp;<?php echo G::loadTranslation('ID_LABEL')?></div></td>
</table>
</div>
</div>
<div id="dynafields">
<ul id="sortable" style="margin:0; padding:0;">
<?php foreach ($elements as $node_name=>$node) {
if (isset($hidden_fields_list)) {
$checked = !(in_array($node_name, $hidden_fields_list))? 'checked="checked"': '';
} else {
$checked = 'checked="checked"';
} ?>
<li style="list-style:none;" id="<?php echo $node_name?>" class="ui-state-default" onmouseover="setClass(this, 'ui-state-hover')" onmouseout="setClass(this, 'ui-state-default')">
<table class="dynalist" border="0" width="100%" cellpadding="0" cellspacing="0" id="fieldshandler_items_table">
<tr>
<td width="7%">
<?php if ($node['__ATTRIBUTES__']['type'] != 'javascript' && $dynaformType != 'grid') {
?>
<input id="chk@<?php echo $node_name?>" type="checkbox" onclick="parent.jsMeta = fieldsHandlerSaveHidden();" <?php echo $checked?> />
<?php
} else {
?>
&nbsp;
<?php
} ?>
</td>
<td width="15%" >
<?php $type = $node['__ATTRIBUTES__']['type'];
switch ($type) {
case 'yesno': $type = 'yes_no'; break;
case 'listbox': $type = 'list_box'; break;
case 'checkgroup': $type = 'check_group'; break;
case 'radiogroup': $type = 'radio_group'; break;
case 'file': $type = 'upload_files'; break;
} ?>
<?php if (is_file(PATH_HTML.'images'.PATH_SEP.'dynamicForm'.PATH_SEP."$type.gif")) {
?>
<img src="/images/dynamicForm/<?php echo $type?>.gif"/>
<?php
} else {
?>
<img src="/images/unknown_icon.gif" border="0" width="20" height="16"/>
<?php
} ?>
<span style="font-size:10px;">&nbsp;<?php echo "({$node['__ATTRIBUTES__']['type']})"; ?></span>
</td>
<td width="28%" style="font-size:12px;">
&nbsp;<?php echo "$node_name"; ?>
</td>
<td><p style="font-size:12px; color:#1C3166; font-weight:bold">
<?php if (isset($node["__CONTENT__"][SYS_LANG]["__VALUE__"]) && $node["__CONTENT__"][SYS_LANG]["__VALUE__"] != "") {
if (strlen($node['__CONTENT__'][SYS_LANG]['__VALUE__']) > 30) {
$label = substr(trim(strip_tags(G::stripCDATA($node['__CONTENT__'][SYS_LANG]['__VALUE__']))), 0, 30) . '...';
} else {
$label = $node['__CONTENT__'][SYS_LANG]['__VALUE__'];
}
print($label);
} else {
print("&nbsp;");
} ?></p>
</td>
<td width="40px" class="options" align="right">
<?php if (in_array($node['__ATTRIBUTES__']['type'], $_POST['fieldsList'])) {
?>
<!-- <div class="tool"><img src="/images/options.png" width="12" height="12" border="0"/> </div>-->
<div class="jq-checkpointSubhead" style="display:block">
<a title="<?php echo G::loadTranslation('ID_EDIT_FIELD')?>" href="#" onclick="__ActionEdit('<?php echo $node_name?>'); return false;"><img src="/images/e_Edit.png" width="15" height="15" border="0" onmouseout="backImage(this,'')" onmouseover="backImage(this,'url(/images/dynamicForm/hover.gif) no-repeat')"/></a>
<a title="<?php echo G::loadTranslation('ID_REMOVE_FIELD')?>" href="#" onclick="__ActionDelete('<?php echo $node_name?>', '<?php echo $node['__ATTRIBUTES__']['type']; ?>');return false;"><img src="/images/e_Delete.png" width="15" height="15" border="0" onmouseout="backImage(this,'')" onmouseover="backImage(this,'url(/images/dynamicForm/hover.gif) no-repeat')"/></a>
</div>
<?php
} else {
?>
<div class="tool"><img src="/images/options.png" width="12" height="12" border="0"/> </div>
<div class="jq-checkpointSubhead" style="display:none">
<a title="<?php echo G::loadTranslation('ID_REMOVE_FIELD')?>" href="#" onclick="__ActionDelete('<?php echo $node_name?>', '<?php echo $node['__ATTRIBUTES__']['type']; ?>');return false;"><img src="/images/e_Delete.png" width="15" height="15" border="0" onmouseout="backImage(this,'')" onmouseover="backImage(this,'url(/images/dynamicForm/hover.gif) no-repeat')"/></a>
</div>
<?php
} ?>
</td>
</tr>
</table>
</li>
<?php
}?>
</ul>
</div>
</center>
<br/><br/>
</td>
<td valign="top" align="right" width="300" style="text-align:right">
<div id="help" style="display:none">
<h3 class="ui-widget-header ui-corner-all">Processmaker - DynaFields Handler</h3>
<b><?php echo G::LoadTranslation('ID_FIELD_HANDLER_HELP1');?></b><br/><br/>
<li> <?php echo G::LoadTranslation('ID_FIELD_HANDLER_HELP2');?><br/>
<li> <?php echo G::LoadTranslation('ID_FIELD_HANDLER_HELP3');?>
</div>
</td>
</tr>
</table>
</body>
<script language="javascript">
var lastUidFHSelected;
var lastFTypeFHSelected;
function __ActionEdit(uid){
lastUidFHSelected = uid;
if (!parent.sessionPersits()) {
parent.showPrompt('__ActionEdit');
return;
}
var client_window = parent.getClientWindowSize();
h = client_window.height;
h1 = (h / 100) * 92;
window.parent.popupWindow('', "fields_Edit?A=<?php echo $_SESSION['Current_Dynafom']['Parameters']['URL']?>&XMLNODE_NAME="+ uid , 600, h1);
}
function __ActionDelete(uid, ftype){
lastUidFHSelected = uid;
lastFTypeFHSelected = ftype;
if (!parent.sessionPersits()) {
parent.showPrompt('__ActionDelete');
return;
}
new window.parent.leimnud.module.app.confirm().make({
label: '<?php echo G::LoadTranslation('ID_FIELD_HANDLER_ACTION_DELETE');?>' + ' ' + ftype + "?",
action:function(){
$.ajax({
type: "POST",
url: "fields_Delete",
data: 'A=<?php echo $_SESSION['Current_Dynafom']['Parameters']['URL']?>&XMLNODE_NAME='+uid,
success: function(httpResponse){
window.parent.dynaformEditor.refreshFieldsList();
}
});
}
});
}
window.onload = function() {
parent_divs = parent.document.getElementsByTagName('div');
for(i=0; i<parent_divs.length; i++){
if(parent_divs[i].className == 'panel_containerWindow___processmaker'){
content_div = parent_divs[i];
}
}
h = content_div.style.height.split('px');
window.parent.document.getElementById('dynaframe').height = (h[0]-120);
parent.document.getElementById('light').style.display='none';
parent.document.getElementById('fade').style.display='none';
}
</script>
</html>