PageRenderTime 56ms CodeModel.GetById 22ms RepoModel.GetById 0ms app.codeStats 0ms

/administrator/components/com_breezingforms/admin/quickmode.html.php

https://bitbucket.org/izubizarreta/https-bitbucket.org-bityvip-alpes
PHP | 3651 lines | 3255 code | 255 blank | 141 comment | 358 complexity | 09663ab165743d62709b852993aeddda MD5 | raw file
Possible License(s): GPL-2.0, BSD-3-Clause, LGPL-2.1, MIT, LGPL-3.0, LGPL-2.0, JSON

Large files files are truncated, but you can click here to view the full file

  1. <?php
  2. /**
  3. * BreezingForms - A Joomla Forms Application
  4. * @version 1.8
  5. * @package BreezingForms
  6. * @copyright (C) 2008-2012 by Markus Bopp
  7. * @license Released under the terms of the GNU General Public License
  8. **/
  9. defined('_JEXEC') or die('Direct Access to this location is not allowed.');
  10. class QuickModeHtml{
  11. public static function showApplication($formId = 0, $formName, $formTitle, $formDesc, $formEmailntf, $formEmailadr, $dataObjectString, $elementScripts, $themes){
  12. JHTML::_('behavior.keepalive');
  13. JHTML::_('behavior.modal');
  14. $iconBase = '../administrator/components/com_breezingforms/libraries/jquery/themes/quickmode/i/';
  15. ?>
  16. <style>
  17. <!--
  18. #menutab { float: left; width: 500px; height: 100%; }
  19. -->
  20. </style>
  21. <?php
  22. JFactory::getDocument()->addStyleSheet( JURI::root() . 'administrator/components/com_breezingforms/libraries/jquery/themes/quickmode/quickmode.all.css' );
  23. JFactory::getDocument()->addStyleSheet( JURI::root() . 'administrator/components/com_breezingforms/libraries/jquery/jtree/tree_component.css' );
  24. ?>
  25. <script>var moobackup = $;</script>
  26. <script>var moobackup2 = $$;</script>
  27. <script type="text/javascript" src="<?php echo JURI::root() . 'administrator/components/com_breezingforms/libraries/jquery/jtree/' ;?>_lib.js"></script>
  28. <script type="text/javascript" src="<?php echo JURI::root() . 'administrator/components/com_breezingforms/libraries/jquery/jtree/' ;?>tree_component.min.js"></script>
  29. <script
  30. type="text/javascript"
  31. src="<?php echo JURI::root() . 'administrator/components/com_breezingforms/libraries/jquery/' ;?>jq-ui.min.js"></script>
  32. <script
  33. type="text/javascript"
  34. src="<?php echo JURI::root() . 'administrator/components/com_breezingforms/libraries/jquery/plugins/' ;?>base64.js"></script>
  35. <script
  36. type="text/javascript"
  37. src="<?php echo JURI::root() . 'administrator/components/com_breezingforms/libraries/jquery/plugins/' ;?>json.js"></script>
  38. <script
  39. type="text/javascript"
  40. src="<?php echo JURI::root() . 'administrator/components/com_breezingforms/libraries/jquery/plugins/' ;?>md5.js"></script>
  41. <script
  42. type="text/javascript"
  43. src="<?php echo JURI::root()?>components/com_breezingforms/libraries/jquery/center.js"></script>
  44. <script>$ = moobackup;</script>
  45. <script>$$ = moobackup2;</script>
  46. <script type="text/javascript">
  47. String.prototype.bfendsWith = function(suffix) {
  48. return this.match(suffix+"$") == suffix;
  49. };
  50. var app = null;
  51. function BF_QuickModeApp(){
  52. JQuery("link").each(function(){
  53. // jquery easy workaround
  54. var _xj = 'j';
  55. var _xq = 'q';
  56. var _xu = 'u';
  57. var _xe = 'e';
  58. var _xr = 'r';
  59. var _xy = 'y';
  60. if( JQuery(this).attr('href').bfendsWith(_xj+_xq+_xu+_xe+_xr+_xy+'-ui.css') ){
  61. JQuery(this).attr('disabled', 'disabled');
  62. JQuery(this).remove();
  63. }
  64. });
  65. var selectedTreeElement = null;
  66. var copyTreeElement = null;
  67. var appScope = this;
  68. this.elementScripts = <?php echo Zend_Json::encode($elementScripts)?>;
  69. this.dataObject = <?php echo str_replace("..\\/administrator\\/components\\/com_facileforms", "..\\/administrator\\/components\\/com_breezingforms",$dataObjectString) ?>;
  70. <?php require_once(JPATH_SITE . '/administrator/components/com_breezingforms/admin/quickmode-elements-js.php'); ?>
  71. /**
  72. Helper methods
  73. */
  74. this.getNodeClass = function(node){
  75. if(JQuery(node).attr('class')){
  76. var splitted = JQuery(appScope.selectedTreeElement).attr('class').split(' ');
  77. if(splitted.length != 0){
  78. return splitted[0];
  79. }
  80. }
  81. return '';
  82. };
  83. this.setProperties = function(node, props){
  84. var item = this.findDataObjectItem(JQuery(node).attr('id'), appScope.dataObject);
  85. item.properties = props;
  86. };
  87. this.getProperties = function(node){
  88. var item = this.findDataObjectItem(JQuery(node).attr('id'), appScope.dataObject)
  89. return item.properties;
  90. };
  91. /**
  92. searches for the id in a given object item.
  93. */
  94. this.findDataObjectItem = function(id, startObj){
  95. if( id && startObj && startObj.attributes && startObj.attributes.id ){
  96. if( startObj.attributes.id == id ){
  97. return startObj;
  98. } else {
  99. if(startObj.children){
  100. var child = null;
  101. for(var i = 0; i < startObj.children.length; i++){
  102. child = appScope.findDataObjectItem(id, startObj.children[i]);
  103. if(child){
  104. return child;
  105. }
  106. }
  107. }
  108. }
  109. return null;
  110. }
  111. return null;
  112. };
  113. this.getItemsFlattened = function(startObj, arr){
  114. if( startObj && startObj.properties && startObj.properties.type == 'element' ){
  115. arr.push(startObj);
  116. }
  117. if(startObj.children){
  118. var child = null;
  119. for(var i = 0; i < startObj.children.length; i++){
  120. appScope.getItemsFlattened(startObj.children[i], arr);
  121. }
  122. }
  123. };
  124. this.replaceDataObjectItem = function(id, replacement, startObj){
  125. if( id && startObj && startObj.attributes && startObj.attributes.id ){
  126. if(startObj.children){
  127. var child = null;
  128. for(var i = 0; i < startObj.children.length; i++){
  129. if(startObj.children[i].attributes.id == id){
  130. startObj.children[i] = replacement;
  131. break;
  132. }
  133. appScope.replaceDataObjectItem(id, replacement, startObj.children[i]);
  134. }
  135. }
  136. }
  137. }
  138. /**
  139. searches for the id in a given object item and deletes it.
  140. returns the deleted child.
  141. */
  142. this.deleteDataObjectItem = function(id, startObj, previous){
  143. if( id && startObj && startObj.attributes && startObj.attributes.id ){
  144. if( startObj.attributes.id == id ){
  145. if(previous){
  146. var newChildren = new Array();
  147. for(var j = 0; j < previous.children.length; j++){
  148. if(previous.children[j].attributes.id != startObj.attributes.id){
  149. newChildren.push(previous.children[j]);
  150. }
  151. }
  152. previous.children = newChildren;
  153. }
  154. return startObj;
  155. } else {
  156. if(startObj.children){
  157. var child = null;
  158. for(var i = 0; i < startObj.children.length; i++){
  159. child = appScope.deleteDataObjectItem(id, startObj.children[i], startObj);
  160. if(child){
  161. return child;
  162. }
  163. }
  164. }
  165. }
  166. return null;
  167. }
  168. return null;
  169. };
  170. this.moveDataObjectItem = function( sourceId, targetId, index, obj ){
  171. var source = appScope.deleteDataObjectItem(sourceId, obj);
  172. var target = appScope.findDataObjectItem( targetId, obj );
  173. if(target && !target.children && ( target.attributes['class'] == 'bfQuickModePageClass' || target.attributes['class'] == 'bfQuickModeSectionClass' || target.attributes['class'] == 'bfQuickModeRootClass' )){
  174. target.children = new Array();
  175. }
  176. if(target && target.children){
  177. target.children.splice(index,0,source);
  178. if(target.attributes['class'] == 'bfQuickModeRootClass'){
  179. for(var i = 0; i < target.children.length; i++){
  180. var mdata = appScope.getProperties(JQuery('#'+target.children[i].attributes.id));
  181. if(mdata){
  182. if(target.children[i].attributes['class'] == 'bfQuickModePageClass'){
  183. target.children[i].attributes.id = 'bfQuickModePage' + (i+1);
  184. target.children[i].data.title = "<?php echo addslashes( BFText::_('COM_BREEZINGFORMS_PAGE') ) ?> " + (i+1);
  185. target.children[i].properties.pageNumber = i + 1;
  186. }
  187. }
  188. }
  189. }
  190. return true;
  191. }
  192. return false;
  193. };
  194. this.insertElementInto = function (source, target){
  195. if(target && target.children){
  196. if(target.attributes['class'] == 'bfQuickModeSectionClass' || target.attributes['class'] == 'bfQuickModePageClass'){
  197. this.recreatedIds(source);
  198. target.children.push(source);
  199. }
  200. }
  201. };
  202. this.recreatedIds = function(startObj){
  203. if( startObj && startObj.attributes && startObj.attributes.id ){
  204. if(startObj.attributes['class'] == 'bfQuickModeSectionClass'){
  205. type = 'bfQuickModeSection';
  206. } else {
  207. type = 'bfQuickMode';
  208. }
  209. var id = type + ( Math.floor(Math.random() * 100000) );
  210. startObj.attributes.id = id;
  211. if(startObj.attributes['class'] == 'bfQuickModeSectionClass'){
  212. startObj.properties.name = id;
  213. } else {
  214. startObj.properties.bfName = id;
  215. startObj.properties.dbId = 0;
  216. }
  217. startObj.properties.name = id;
  218. if(startObj.children){
  219. var child = null;
  220. for(var i = 0; i < startObj.children.length; i++){
  221. child = appScope.recreatedIds(startObj.children[i]);
  222. if(child){
  223. return child;
  224. }
  225. }
  226. }
  227. return null;
  228. }
  229. return null;
  230. };
  231. /**
  232. Element properties
  233. */
  234. // TEXTFIELD
  235. this.saveTextProperties = function(mdata, item){
  236. mdata.value = JQuery('#bfElementTypeTextValue').val();
  237. mdata.bfName = JQuery('#bfElementName').val();
  238. mdata.logging = JQuery('#bfElementAdvancedLogging').attr('checked');
  239. mdata.label = JQuery('#bfElementLabel').val();
  240. mdata.maxLength = JQuery('#bfElementTypeTextMaxLength').val();
  241. mdata.hint = JQuery('#bfElementTypeTextHint').val();
  242. mdata.password = JQuery('#bfElementAdvancedPassword').attr('checked');
  243. mdata.readonly = JQuery('#bfElementAdvancedReadOnly').attr('checked');
  244. mdata.mailback = JQuery('#bfElementAdvancedMailback').attr('checked');
  245. mdata.mailbackAsSender = JQuery('#bfElementAdvancedMailbackAsSender').attr('checked');
  246. mdata.mailbackfile = JQuery('#bfElementAdvancedMailbackfile').val();
  247. mdata.labelPosition = JQuery('#bfElementAdvancedLabelPosition').val();
  248. mdata.tabIndex = JQuery('#bfElementAdvancedTabIndex').val();
  249. mdata.off = JQuery('#bfElementAdvancedTurnOff').attr('checked');
  250. mdata.hideInMailback = JQuery('#bfElementAdvancedHideInMailback').attr('checked');
  251. mdata.hideLabel = JQuery('#bfElementAdvancedHideLabel').attr('checked');
  252. mdata.size = JQuery('#bfElementTypeTextSize').val();
  253. mdata.orderNumber = JQuery('#bfElementOrderNumber').val();
  254. mdata.required = JQuery('#bfElementValidationRequired').attr('checked');
  255. item.properties = mdata;
  256. };
  257. this.populateTextProperties = function(mdata){
  258. JQuery('#bfElementTypeTextValue').val(mdata.value);
  259. JQuery('#bfElementName').val(mdata.bfName);
  260. JQuery('#bfElementLabel').val(mdata.label);
  261. JQuery('#bfElementAdvancedLogging').attr('checked', mdata.logging);
  262. JQuery('#bfElementTypeTextMaxLength').val(mdata.maxLength);
  263. JQuery('#bfElementTypeTextHint').val(mdata.hint);
  264. JQuery('#bfElementAdvancedPassword').attr('checked', mdata.password);
  265. JQuery('#bfElementAdvancedReadOnly').attr('checked', mdata.readonly);
  266. JQuery('#bfElementAdvancedMailback').attr('checked', mdata.mailback);
  267. JQuery('#bfElementAdvancedMailbackAsSender').attr('checked', mdata.mailbackAsSender);
  268. JQuery('#bfElementAdvancedMailbackfile').val(mdata.mailbackfile);
  269. JQuery('#bfElementAdvancedLabelPosition').val(mdata.labelPosition);
  270. JQuery('#bfElementAdvancedTabIndex').val(mdata.tabIndex);
  271. JQuery('#bfElementAdvancedHideInMailback').attr('checked', mdata.hideInMailback);
  272. JQuery('#bfElementAdvancedTurnOff').attr('checked', mdata.off);
  273. JQuery('#bfElementAdvancedHideLabel').attr('checked', mdata.hideLabel);
  274. JQuery('#bfElementTypeTextSize').val(mdata.size);
  275. JQuery('#bfElementOrderNumber').val(mdata.orderNumber);
  276. JQuery('#bfElementValidationRequired').attr('checked', mdata.required);
  277. };
  278. // TEXTAREA
  279. this.saveTextareaProperties = function(mdata, item){
  280. mdata.value = JQuery('#bfElementTypeTextareaValue').val();
  281. mdata.is_html = JQuery('#bfElementTypeTextareaIsHtml').attr('checked');
  282. mdata.bfName = JQuery('#bfElementName').val();
  283. mdata.logging = JQuery('#bfElementTextareaAdvancedLogging').attr('checked');
  284. mdata.label = JQuery('#bfElementLabel').val();
  285. mdata.hint = JQuery('#bfElementTypeTextareaHint').val();
  286. mdata.width = JQuery('#bfElementTypeTextareaWidth').val();
  287. mdata.height = JQuery('#bfElementTypeTextareaHeight').val();
  288. mdata.maxlength = JQuery('#bfElementTypeTextareaMaxLength').val();
  289. mdata.showMaxlengthCounter = JQuery('#bfElementTypeTextareaMaxLengthShow').attr('checked');
  290. mdata.labelPosition = JQuery('#bfElementAdvancedLabelPosition').val();
  291. mdata.tabIndex = JQuery('#bfElementAdvancedTabIndex').val();
  292. mdata.hideInMailback = JQuery('#bfElementAdvancedHideInMailback').attr('checked');
  293. mdata.off = JQuery('#bfElementAdvancedTurnOff').attr('checked');
  294. mdata.hideLabel = JQuery('#bfElementTextareaAdvancedHideLabel').attr('checked');
  295. mdata.orderNumber = JQuery('#bfElementTextareaAdvancedOrderNumber').val();
  296. mdata.required = JQuery('#bfElementValidationRequired').attr('checked');
  297. item.properties = mdata;
  298. };
  299. this.populateTextareaProperties = function(mdata){
  300. JQuery('#bfElementTypeTextareaValue').val(mdata.value);
  301. JQuery('#bfElementTypeTextareaIsHtml').attr('checked', mdata.is_html);
  302. JQuery('#bfElementName').val(mdata.bfName);
  303. JQuery('#bfElementLabel').val(mdata.label);
  304. JQuery('#bfElementTextareaAdvancedLogging').attr('checked', mdata.logging);
  305. JQuery('#bfElementTypeTextareaHint').val(mdata.hint);
  306. JQuery('#bfElementAdvancedLabelPosition').val(mdata.labelPosition);
  307. JQuery('#bfElementAdvancedTabIndex').val(mdata.tabIndex);
  308. JQuery('#bfElementAdvancedHideInMailback').attr('checked', mdata.hideInMailback);
  309. JQuery('#bfElementAdvancedTurnOff').attr('checked', mdata.off);
  310. JQuery('#bfElementTextareaAdvancedHideLabel').attr('checked', mdata.hideLabel);
  311. JQuery('#bfElementTypeTextareaWidth').val(mdata.width);
  312. JQuery('#bfElementTypeTextareaHeight').val(mdata.height);
  313. JQuery('#bfElementTypeTextareaIsHtml').val(mdata.is_html);
  314. // compat 723
  315. if(typeof mdata.maxlength == "undefined"){
  316. mdata["maxlength"] = 0;
  317. }
  318. if(typeof mdata.showMaxlengthCounter == "undefined"){
  319. mdata["showMaxlengthCounter"] = true;
  320. }
  321. // end compat 723
  322. JQuery('#bfElementTypeTextareaMaxLength').val(!isNaN(mdata.maxlength) ? mdata.maxlength : 0);
  323. JQuery('#bfElementTypeTextareaMaxLengthShow').attr('checked', mdata.showMaxlengthCounter);
  324. JQuery('#bfElementTextareaAdvancedOrderNumber').val(mdata.orderNumber);
  325. JQuery('#bfElementValidationRequired').attr('checked', mdata.required);
  326. };
  327. // RADIOS
  328. this.saveRadioGroupProperties = function(mdata, item){
  329. // dynamic properties
  330. mdata.group = JQuery('#bfElementTypeRadioGroupGroups').val();
  331. mdata.readonly = JQuery('#bfElementTypeRadioGroupReadonly').attr('checked');
  332. mdata.wrap = JQuery('#bfElementTypeRadioGroupWrap').attr('checked');
  333. mdata.hint = JQuery('#bfElementTypeRadioGroupHint').val();
  334. mdata.hideLabel = JQuery('#bfElementRadioGroupAdvancedHideLabel').attr('checked');
  335. mdata.logging = JQuery('#bfElementRadioGroupAdvancedLogging').attr('checked');
  336. mdata.orderNumber = JQuery('#bfElementRadioGroupAdvancedOrderNumber').val();
  337. // static properties
  338. mdata.bfName = JQuery('#bfElementName').val();
  339. mdata.label = JQuery('#bfElementLabel').val();
  340. mdata.labelPosition = JQuery('#bfElementAdvancedLabelPosition').val();
  341. mdata.tabIndex = JQuery('#bfElementAdvancedTabIndex').val();
  342. mdata.hideInMailback = JQuery('#bfElementAdvancedHideInMailback').attr('checked');
  343. mdata.off = JQuery('#bfElementAdvancedTurnOff').attr('checked');
  344. mdata.required = JQuery('#bfElementValidationRequired').attr('checked');
  345. item.properties = mdata;
  346. };
  347. this.populateRadioGroupProperties = function(mdata){
  348. // dynamic properties
  349. JQuery('#bfElementTypeRadioGroupGroups').val(mdata.group);
  350. JQuery('#bfElementTypeRadioGroupReadonly').attr('checked', mdata.readonly);
  351. JQuery('#bfElementTypeRadioGroupWrap').attr('checked', mdata.wrap);
  352. JQuery('#bfElementTypeRadioGroupHint').val(mdata.hint);
  353. JQuery('#bfElementRadioGroupAdvancedHideLabel').attr('checked', mdata.hideLabel);
  354. JQuery('#bfElementRadioGroupAdvancedLogging').attr('checked', mdata.logging);
  355. JQuery('#bfElementRadioGroupAdvancedOrderNumber').val(mdata.orderNumber);
  356. // static properties
  357. JQuery('#bfElementName').val(mdata.bfName);
  358. JQuery('#bfElementLabel').val(mdata.label);
  359. JQuery('#bfElementAdvancedTabIndex').val(mdata.tabIndex);
  360. JQuery('#bfElementAdvancedHideInMailback').attr('checked', mdata.hideInMailback);
  361. JQuery('#bfElementAdvancedTurnOff').attr('checked', mdata.off);
  362. JQuery('#bfElementAdvancedLabelPosition').val(mdata.labelPosition);
  363. JQuery('#bfElementValidationRequired').attr('checked', mdata.required);
  364. };
  365. // Checkboxgroup
  366. this.saveCheckboxGroupProperties = function(mdata, item){
  367. // dynamic properties
  368. mdata.group = JQuery('#bfElementTypeCheckboxGroupGroups').val();
  369. mdata.readonly = JQuery('#bfElementTypeCheckboxGroupReadonly').attr('checked');
  370. mdata.wrap = JQuery('#bfElementTypeCheckboxGroupWrap').attr('checked');
  371. mdata.hint = JQuery('#bfElementTypeCheckboxGroupHint').val();
  372. mdata.hideLabel = JQuery('#bfElementCheckboxGroupAdvancedHideLabel').attr('checked');
  373. mdata.logging = JQuery('#bfElementCheckboxGroupAdvancedLogging').attr('checked');
  374. mdata.orderNumber = JQuery('#bfElementCheckboxGroupAdvancedOrderNumber').val();
  375. // static properties
  376. mdata.bfName = JQuery('#bfElementName').val();
  377. mdata.label = JQuery('#bfElementLabel').val();
  378. mdata.labelPosition = JQuery('#bfElementAdvancedLabelPosition').val();
  379. mdata.tabIndex = JQuery('#bfElementAdvancedTabIndex').val();
  380. mdata.hideInMailback = JQuery('#bfElementAdvancedHideInMailback').attr('checked');
  381. mdata.off = JQuery('#bfElementAdvancedTurnOff').attr('checked');
  382. mdata.required = JQuery('#bfElementValidationRequired').attr('checked');
  383. item.properties = mdata;
  384. };
  385. this.populateCheckboxGroupProperties = function(mdata){
  386. // dynamic properties
  387. JQuery('#bfElementTypeCheckboxGroupGroups').val(mdata.group);
  388. JQuery('#bfElementTypeCheckboxGroupReadonly').attr('checked', mdata.readonly);
  389. JQuery('#bfElementTypeCheckboxGroupWrap').attr('checked', mdata.wrap);
  390. JQuery('#bfElementTypeCheckboxGroupHint').val(mdata.hint);
  391. JQuery('#bfElementCheckboxGroupAdvancedHideLabel').attr('checked', mdata.hideLabel);
  392. JQuery('#bfElementCheckboxGroupAdvancedLogging').attr('checked', mdata.logging);
  393. JQuery('#bfElementCheckboxGroupAdvancedOrderNumber').val(mdata.orderNumber);
  394. // static properties
  395. JQuery('#bfElementName').val(mdata.bfName);
  396. JQuery('#bfElementLabel').val(mdata.label);
  397. JQuery('#bfElementAdvancedTabIndex').val(mdata.tabIndex);
  398. JQuery('#bfElementAdvancedHideInMailback').attr('checked', mdata.hideInMailback);
  399. JQuery('#bfElementAdvancedTurnOff').attr('checked', mdata.off);
  400. JQuery('#bfElementAdvancedLabelPosition').val(mdata.labelPosition);
  401. JQuery('#bfElementValidationRequired').attr('checked', mdata.required);
  402. };
  403. // Checkbox
  404. this.saveCheckboxProperties = function(mdata, item){
  405. // dynamic properties
  406. mdata.value = JQuery('#bfElementTypeCheckboxValue').val() == '' ? 'checked' : JQuery('#bfElementTypeCheckboxValue').val();
  407. mdata.checked = JQuery('#bfElementTypeCheckboxChecked').attr('checked');
  408. mdata.readonly = JQuery('#bfElementTypeCheckboxReadonly').attr('checked');
  409. mdata.mailbackAccept = JQuery('#bfElementCheckboxAdvancedMailbackAccept').attr('checked');
  410. mdata.mailbackConnectWith = JQuery('#bfElementCheckboxAdvancedMailbackConnectWith').val();
  411. mdata.hint = JQuery('#bfElementTypeCheckboxHint').val();
  412. mdata.hideLabel = JQuery('#bfElementCheckboxAdvancedHideLabel').attr('checked');
  413. mdata.logging = JQuery('#bfElementCheckboxAdvancedLogging').attr('checked');
  414. mdata.orderNumber = JQuery('#bfElementCheckboxAdvancedOrderNumber').val();
  415. // static properties
  416. mdata.bfName = JQuery('#bfElementName').val();
  417. mdata.label = JQuery('#bfElementLabel').val();
  418. mdata.labelPosition = JQuery('#bfElementAdvancedLabelPosition').val();
  419. mdata.tabIndex = JQuery('#bfElementAdvancedTabIndex').val();
  420. mdata.hideInMailback = JQuery('#bfElementAdvancedHideInMailback').attr('checked');
  421. mdata.off = JQuery('#bfElementAdvancedTurnOff').attr('checked');
  422. mdata.required = JQuery('#bfElementValidationRequired').attr('checked');
  423. item.properties = mdata;
  424. };
  425. this.populateCheckboxProperties = function(mdata){
  426. // dynamic properties
  427. JQuery('#bfElementTypeCheckboxValue').val(mdata.value);
  428. JQuery('#bfElementTypeCheckboxChecked').attr('checked', mdata.checked);
  429. JQuery('#bfElementCheckboxAdvancedMailbackAccept').attr('checked', mdata.mailbackAccept);
  430. JQuery('#bfElementCheckboxAdvancedMailbackConnectWith').val(mdata.mailbackConnectWith);
  431. JQuery('#bfElementTypeCheckboxReadonly').attr('checked', mdata.readonly);
  432. JQuery('#bfElementTypeCheckboxHint').val(mdata.hint);
  433. JQuery('#bfElementCheckboxAdvancedHideLabel').attr('checked', mdata.hideLabel);
  434. JQuery('#bfElementCheckboxAdvancedLogging').attr('checked', mdata.logging);
  435. JQuery('#bfElementCheckboxAdvancedOrderNumber').val(mdata.orderNumber);
  436. // static properties
  437. JQuery('#bfElementName').val(mdata.bfName);
  438. JQuery('#bfElementLabel').val(mdata.label);
  439. JQuery('#bfElementAdvancedTabIndex').val(mdata.tabIndex);
  440. JQuery('#bfElementAdvancedHideInMailback').attr('checked', mdata.hideInMailback);
  441. JQuery('#bfElementAdvancedTurnOff').attr('checked', mdata.off);
  442. JQuery('#bfElementAdvancedLabelPosition').val(mdata.labelPosition);
  443. JQuery('#bfElementValidationRequired').attr('checked', mdata.required);
  444. };
  445. // Select
  446. this.saveSelectProperties = function(mdata, item){
  447. // dynamic properties
  448. mdata.list = JQuery('#bfElementTypeSelectList').val();
  449. mdata.width = JQuery('#bfElementTypeSelectListWidth').val();
  450. mdata.height = JQuery('#bfElementTypeSelectListHeight').val();
  451. mdata.readonly = JQuery('#bfElementTypeSelectReadonly').attr('checked');
  452. mdata.multiple = JQuery('#bfElementTypeSelectMultiple').attr('checked');
  453. mdata.mailback = JQuery('#bfElementSelectAdvancedMailback').attr('checked');
  454. mdata.hint = JQuery('#bfElementTypeSelectHint').val();
  455. mdata.hideLabel = JQuery('#bfElementSelectAdvancedHideLabel').attr('checked');
  456. mdata.logging = JQuery('#bfElementSelectAdvancedLogging').attr('checked');
  457. mdata.orderNumber = JQuery('#bfElementSelectAdvancedOrderNumber').val();
  458. // static properties
  459. mdata.bfName = JQuery('#bfElementName').val();
  460. mdata.label = JQuery('#bfElementLabel').val();
  461. mdata.labelPosition = JQuery('#bfElementAdvancedLabelPosition').val();
  462. mdata.tabIndex = JQuery('#bfElementAdvancedTabIndex').val();
  463. mdata.hideInMailback = JQuery('#bfElementAdvancedHideInMailback').attr('checked');
  464. mdata.off = JQuery('#bfElementAdvancedTurnOff').attr('checked');
  465. mdata.required = JQuery('#bfElementValidationRequired').attr('checked');
  466. item.properties = mdata;
  467. };
  468. this.populateSelectProperties = function(mdata){
  469. // dynamic properties
  470. JQuery('#bfElementTypeSelectList').val(mdata.list);
  471. // compat 723
  472. if(typeof mdata.width == "undefined"){
  473. mdata['width'] = '';
  474. }
  475. if(typeof mdata.height == "undefined"){
  476. mdata['height'] = '';
  477. }
  478. // compat 723 end
  479. JQuery('#bfElementTypeSelectListWidth').val(mdata.width);
  480. JQuery('#bfElementTypeSelectListHeight').val(mdata.height);
  481. JQuery('#bfElementTypeSelectReadonly').attr('checked', mdata.readonly);
  482. JQuery('#bfElementTypeSelectMultiple').attr('checked', mdata.multiple);
  483. JQuery('#bfElementSelectAdvancedMailback').attr('checked', mdata.mailback);
  484. JQuery('#bfElementTypeSelectHint').val(mdata.hint);
  485. JQuery('#bfElementSelectAdvancedHideLabel').attr('checked', mdata.hideLabel);
  486. JQuery('#bfElementSelectAdvancedLogging').attr('checked', mdata.logging);
  487. JQuery('#bfElementSelectAdvancedOrderNumber').val(mdata.orderNumber);
  488. // static properties
  489. JQuery('#bfElementName').val(mdata.bfName);
  490. JQuery('#bfElementLabel').val(mdata.label);
  491. JQuery('#bfElementAdvancedTabIndex').val(mdata.tabIndex);
  492. JQuery('#bfElementAdvancedHideInMailback').attr('checked', mdata.hideInMailback);
  493. JQuery('#bfElementAdvancedTurnOff').attr('checked', mdata.off);
  494. JQuery('#bfElementAdvancedLabelPosition').val(mdata.labelPosition);
  495. JQuery('#bfElementValidationRequired').attr('checked', mdata.required);
  496. };
  497. // File
  498. this.saveFileProperties = function(mdata, item){
  499. // dynamic properties
  500. mdata.uploadDirectory = JQuery('#bfElementFileAdvancedUploadDirectory').val();
  501. mdata.timestamp = JQuery('#bfElementFileAdvancedTimestamp').attr('checked');
  502. mdata.allowedFileExtensions = JQuery('#bfElementFileAdvancedAllowedFileExtensions').val();
  503. mdata.attachToUserMail = JQuery('#bfElementFileAdvancedAttachToUserMail').attr('checked');
  504. mdata.attachToAdminMail = JQuery('#bfElementFileAdvancedAttachToAdminMail').attr('checked');
  505. mdata.readonly = JQuery('#bfElementTypeFileReadonly').attr('checked');
  506. mdata.hint = JQuery('#bfElementTypeFileHint').val();
  507. mdata.useUrl = JQuery('#bfElementFileAdvancedUseUrl').attr('checked');
  508. mdata.useUrlDownloadDirectory = JQuery('#bfElementFileAdvancedUseUrlDownloadDirectory').val();
  509. mdata.hideLabel = JQuery('#bfElementFileAdvancedHideLabel').attr('checked');
  510. mdata.logging = JQuery('#bfElementFileAdvancedLogging').attr('checked');
  511. mdata.orderNumber = JQuery('#bfElementFileAdvancedOrderNumber').val();
  512. mdata.flashUploader = JQuery('#bfElementFileAdvancedFlashUploader').attr('checked');
  513. mdata.flashUploaderMulti = JQuery('#bfElementFileAdvancedFlashUploaderMulti').attr('checked');
  514. mdata.flashUploaderBytes = JQuery('#bfElementFileAdvancedFlashUploaderBytes').val();
  515. mdata.flashUploaderWidth = JQuery('#bfElementFileAdvancedFlashUploaderWidth').val();
  516. mdata.flashUploaderHeight = JQuery('#bfElementFileAdvancedFlashUploaderHeight').val();
  517. mdata.flashUploaderTransparent = JQuery('#bfElementFileAdvancedFlashUploaderTransparent').attr('checked');
  518. // static properties
  519. mdata.bfName = JQuery('#bfElementName').val();
  520. mdata.label = JQuery('#bfElementLabel').val();
  521. mdata.labelPosition = JQuery('#bfElementAdvancedLabelPosition').val();
  522. mdata.tabIndex = JQuery('#bfElementAdvancedTabIndex').val();
  523. mdata.hideInMailback = JQuery('#bfElementAdvancedHideInMailback').attr('checked');
  524. mdata.off = JQuery('#bfElementAdvancedTurnOff').attr('checked');
  525. mdata.required = JQuery('#bfElementValidationRequired').attr('checked');
  526. item.properties = mdata;
  527. };
  528. this.populateFileProperties = function(mdata){
  529. // dynamic properties
  530. JQuery('#bfElementFileAdvancedUploadDirectory').val(mdata.uploadDirectory);
  531. JQuery('#bfElementFileAdvancedTimestamp').attr('checked', mdata.timestamp);
  532. JQuery('#bfElementFileAdvancedAllowedFileExtensions').val(mdata.allowedFileExtensions);
  533. JQuery('#bfElementFileAdvancedAttachToUserMail').attr('checked', mdata.attachToUserMail);
  534. JQuery('#bfElementFileAdvancedAttachToAdminMail').attr('checked', mdata.attachToAdminMail);
  535. JQuery('#bfElementTypeFileReadonly').attr('checked', mdata.readonly);
  536. JQuery('#bfElementTypeFileHint').val(mdata.hint);
  537. JQuery('#bfElementFileAdvancedHideLabel').attr('checked', mdata.hideLabel);
  538. if(mdata.useUrl && mdata.useUrlDownloadDirectory == ''){
  539. mdata.useUrlDownloadDirectory = '<?php echo JURI::root() . 'media/breezingforms/uploads' ;?>';
  540. }
  541. JQuery('#bfElementFileAdvancedUseUrl').attr('checked', mdata.useUrl);
  542. JQuery('#bfElementFileAdvancedUseUrlDownloadDirectory').val(mdata.useUrlDownloadDirectory);
  543. JQuery('#bfElementFileAdvancedLogging').attr('checked', mdata.logging);
  544. JQuery('#bfElementFileAdvancedOrderNumber').val(mdata.orderNumber);
  545. JQuery('#bfElementFileAdvancedFlashUploader').attr('checked', mdata.flashUploader);
  546. JQuery('#bfElementFileAdvancedFlashUploaderMulti').attr('checked', mdata.flashUploaderMulti);
  547. JQuery('#bfElementFileAdvancedFlashUploaderBytes').val(mdata.flashUploaderBytes);
  548. JQuery('#bfElementFileAdvancedFlashUploaderWidth').val(mdata.flashUploaderWidth);
  549. JQuery('#bfElementFileAdvancedFlashUploaderHeight').val(mdata.flashUploaderHeight);
  550. JQuery('#bfElementFileAdvancedFlashUploaderTransparent').attr('checked', mdata.flashUploaderTransparent);
  551. // static properties
  552. JQuery('#bfElementName').val(mdata.bfName);
  553. JQuery('#bfElementLabel').val(mdata.label);
  554. JQuery('#bfElementAdvancedTabIndex').val(mdata.tabIndex);
  555. JQuery('#bfElementAdvancedHideInMailback').attr('checked', mdata.hideInMailback);
  556. JQuery('#bfElementAdvancedTurnOff').attr('checked', mdata.off);
  557. JQuery('#bfElementAdvancedLabelPosition').val(mdata.labelPosition);
  558. JQuery('#bfElementValidationRequired').attr('checked', mdata.required);
  559. };
  560. // SUBMIT BUTTON
  561. this.saveSubmitButtonProperties = function(mdata, item){
  562. // dynamic properties
  563. mdata.src = JQuery('#bfElementSubmitButtonAdvancedSrc').val();
  564. mdata.value = JQuery('#bfElementTypeSubmitButtonValue').val();
  565. mdata.hint = JQuery('#bfElementTypeSubmitButtonHint').val();
  566. mdata.hideLabel = JQuery('#bfElementSubmitButtonAdvancedHideLabel').attr('checked');
  567. // static properties
  568. mdata.bfName = JQuery('#bfElementName').val();
  569. mdata.label = JQuery('#bfElementLabel').val();
  570. mdata.labelPosition = JQuery('#bfElementAdvancedLabelPosition').val();
  571. mdata.tabIndex = JQuery('#bfElementAdvancedTabIndex').val();
  572. mdata.hideInMailback = JQuery('#bfElementAdvancedHideInMailback').attr('checked');
  573. mdata.off = JQuery('#bfElementAdvancedTurnOff').attr('checked');
  574. item.properties = mdata;
  575. };
  576. this.populateSubmitButtonProperties = function(mdata){
  577. // dynamic properties
  578. JQuery('#bfElementSubmitButtonAdvancedSrc').val(mdata.src);
  579. JQuery('#bfElementTypeSubmitButtonValue').val(mdata.value);
  580. JQuery('#bfElementTypeSubmitButtonHint').val(mdata.hint);
  581. JQuery('#bfElementSubmitButtonAdvancedHideLabel').attr('checked', mdata.hideLabel);
  582. // static properties
  583. JQuery('#bfElementName').val(mdata.bfName);
  584. JQuery('#bfElementLabel').val(mdata.label);
  585. JQuery('#bfElementAdvancedTabIndex').val(mdata.tabIndex);
  586. JQuery('#bfElementAdvancedHideInMailback').attr('checked', mdata.hideInMailback);
  587. JQuery('#bfElementAdvancedTurnOff').attr('checked', mdata.off);
  588. JQuery('#bfElementAdvancedLabelPosition').val(mdata.labelPosition);
  589. };
  590. // CAPTCHA
  591. this.saveCaptchaProperties = function(mdata, item){
  592. // dynamic properties
  593. mdata.hint = JQuery('#bfElementTypeCaptchaHint').val();
  594. mdata.hideLabel = JQuery('#bfElementCaptchaAdvancedHideLabel').attr('checked');
  595. // static properties
  596. mdata.bfName = JQuery('#bfElementName').val();
  597. mdata.label = JQuery('#bfElementLabel').val();
  598. mdata.labelPosition = JQuery('#bfElementAdvancedLabelPosition').val();
  599. mdata.tabIndex = JQuery('#bfElementAdvancedTabIndex').val();
  600. mdata.off = JQuery('#bfElementAdvancedTurnOff').attr('checked');
  601. mdata.hideInMailback = JQuery('#bfElementAdvancedHideInMailback').attr('checked');
  602. item.properties = mdata;
  603. };
  604. // RECAPTCHA
  605. this.saveReCaptchaProperties = function(mdata, item){
  606. // dynamic properties
  607. mdata.hint = JQuery('#bfElementTypeReCaptchaHint').val();
  608. mdata.hideLabel = JQuery('#bfElementReCaptchaAdvancedHideLabel').attr('checked');
  609. mdata.pubkey = JQuery('#bfElementTypeReCaptchaPubkey').val();
  610. mdata.privkey = JQuery('#bfElementTypeReCaptchaPrivkey').val();
  611. mdata.theme = JQuery('#bfElementTypeReCaptchaTheme').val();
  612. // static properties
  613. mdata.bfName = JQuery('#bfElementName').val();
  614. mdata.label = JQuery('#bfElementLabel').val();
  615. mdata.labelPosition = JQuery('#bfElementAdvancedLabelPosition').val();
  616. mdata.tabIndex = JQuery('#bfElementAdvancedTabIndex').val();
  617. mdata.off = JQuery('#bfElementAdvancedTurnOff').attr('checked');
  618. mdata.hideInMailback = JQuery('#bfElementAdvancedHideInMailback').attr('checked');
  619. item.properties = mdata;
  620. };
  621. this.populateReCaptchaProperties = function(mdata){
  622. // dynamic properties
  623. JQuery('#bfElementTypeReCaptchaHint').val(mdata.hint);
  624. JQuery('#bfElementReCaptchaAdvancedHideLabel').attr('checked', mdata.hideLabel);
  625. JQuery('#bfElementTypeReCaptchaPubkey').val(mdata.pubkey);
  626. JQuery('#bfElementTypeReCaptchaPrivkey').val(mdata.privkey);
  627. JQuery('#bfElementTypeReCaptchaTheme').val(mdata.theme);
  628. // static properties
  629. JQuery('#bfElementName').val(mdata.bfName);
  630. JQuery('#bfElementLabel').val(mdata.label);
  631. JQuery('#bfElementAdvancedTabIndex').val(mdata.tabIndex);
  632. JQuery('#bfElementAdvancedTurnOff').attr('checked', mdata.off);
  633. JQuery('#bfElementAdvancedLabelPosition').val(mdata.labelPosition);
  634. JQuery('#bfElementAdvancedHideInMailback').attr('checked', mdata.hideInMailback);
  635. };
  636. this.populateCaptchaProperties = function(mdata){
  637. // dynamic properties
  638. JQuery('#bfElementTypeCaptchaHint').val(mdata.hint);
  639. JQuery('#bfElementCaptchaAdvancedHideLabel').attr('checked', mdata.hideLabel);
  640. // static properties
  641. JQuery('#bfElementName').val(mdata.bfName);
  642. JQuery('#bfElementLabel').val(mdata.label);
  643. JQuery('#bfElementAdvancedTabIndex').val(mdata.tabIndex);
  644. JQuery('#bfElementAdvancedTurnOff').attr('checked', mdata.off);
  645. JQuery('#bfElementAdvancedLabelPosition').val(mdata.labelPosition);
  646. JQuery('#bfElementAdvancedHideInMailback').attr('checked', mdata.hideInMailback);
  647. };
  648. // CALENDAR
  649. this.saveCalendarProperties = function(mdata, item){
  650. // dynamic properties
  651. mdata.format = JQuery('#bfElementTypeCalendarFormat').val();
  652. mdata.value = JQuery('#bfElementTypeCalendarValue').val();
  653. mdata.size = JQuery('#bfElementTypeCalendarSize').val();
  654. mdata.hint = JQuery('#bfElementTypeCalendarHint').val();
  655. mdata.hideLabel = JQuery('#bfElementCalendarAdvancedHideLabel').attr('checked');
  656. // static properties
  657. mdata.bfName = JQuery('#bfElementName').val();
  658. mdata.label = JQuery('#bfElementLabel').val();
  659. mdata.labelPosition = JQuery('#bfElementAdvancedLabelPosition').val();
  660. mdata.tabIndex = JQuery('#bfElementAdvancedTabIndex').val();
  661. mdata.hideInMailback = JQuery('#bfElementAdvancedHideInMailback').attr('checked');
  662. mdata.off = JQuery('#bfElementAdvancedTurnOff').attr('checked');
  663. mdata.required = JQuery('#bfElementValidationRequired').attr('checked');
  664. item.properties = mdata;
  665. };
  666. this.populateCalendarProperties = function(mdata){
  667. // dynamic properties
  668. JQuery('#bfElementTypeCalendarFormat').val(mdata.format);
  669. JQuery('#bfElementTypeCalendarValue').val(mdata.value);
  670. JQuery('#bfElementTypeCalendarSize').val(mdata.size);
  671. JQuery('#bfElementTypeCalendarHint').val(mdata.hint);
  672. JQuery('#bfElementCalendarAdvancedHideLabel').attr('checked', mdata.hideLabel);
  673. // static properties
  674. JQuery('#bfElementName').val(mdata.bfName);
  675. JQuery('#bfElementLabel').val(mdata.label);
  676. JQuery('#bfElementAdvancedTabIndex').val(mdata.tabIndex);
  677. JQuery('#bfElementAdvancedHideInMailback').attr('checked', mdata.hideInMailback);
  678. JQuery('#bfElementAdvancedTurnOff').attr('checked', mdata.off);
  679. JQuery('#bfElementAdvancedLabelPosition').val(mdata.labelPosition);
  680. JQuery('#bfElementValidationRequired').attr('checked', mdata.required);
  681. };
  682. // Hidden
  683. this.saveHiddenProperties = function(mdata, item){
  684. // dynamic properties
  685. mdata.value = JQuery('#bfElementTypeHiddenValue').val();
  686. mdata.logging = JQuery('#bfElementHiddenAdvancedLogging').attr('checked');
  687. mdata.orderNumber = JQuery('#bfElementHiddenAdvancedOrderNumber').val();
  688. // static properties
  689. mdata.bfName = JQuery('#bfElementName').val();
  690. mdata.label = JQuery('#bfElementLabel').val();
  691. mdata.labelPosition = JQuery('#bfElementAdvancedLabelPosition').val();
  692. mdata.tabIndex = JQuery('#bfElementAdvancedTabIndex').val();
  693. mdata.hideInMailback = JQuery('#bfElementAdvancedHideInMailback').attr('checked');
  694. mdata.off = JQuery('#bfElementAdvancedTurnOff').attr('checked');
  695. item.properties = mdata;
  696. };
  697. this.populateHiddenProperties = function(mdata){
  698. // dynamic properties
  699. JQuery('#bfElementTypeHiddenValue').val(mdata.value);
  700. JQuery('#bfElementHiddenAdvancedLogging').attr('checked', mdata.logging);
  701. JQuery('#bfElementHiddenAdvancedOrderNumber').val(mdata.orderNumber);
  702. // static properties
  703. JQuery('#bfElementName').val(mdata.bfName);
  704. JQuery('#bfElementLabel').val(mdata.label);
  705. JQuery('#bfElementAdvancedTabIndex').val(mdata.tabIndex);
  706. JQuery('#bfElementAdvancedHideInMailback').attr('checked', mdata.hideInMailback);
  707. JQuery('#bfElementAdvancedTurnOff').attr('checked', mdata.off);
  708. JQuery('#bfElementAdvancedLabelPosition').val(mdata.labelPosition);
  709. };
  710. // SUMMARIZE
  711. this.saveSummarizeProperties = function(mdata, item){
  712. // dynamic properties
  713. var val = JQuery('#bfElementTypeSummarizeConnectWith').val();
  714. if(val != ''){
  715. var name = val.split(":")[0];
  716. var type = val.split(":")[1];
  717. mdata.connectWith = name;
  718. mdata.connectType = type;
  719. }
  720. mdata.useElementLabel = JQuery('#bfElementTypeSummarizeUseElementLabel').attr('checked');
  721. mdata.hideIfEmpty = JQuery('#bfElementTypeSummarizeHideIfEmpty').attr('checked');
  722. mdata.fieldCalc = JQuery('#bfElementAdvancedSummarizeCalc').val();
  723. mdata.emptyMessage = JQuery('#bfElementTypeSummarizeEmptyMessage').val();
  724. if(mdata.useElementLabel){
  725. var items = new Array();
  726. appScope.getItemsFlattened(appScope.dataObject, items);
  727. for(var i = 0; i < items.length;i++){
  728. if(items[i].properties.bfName == name){
  729. JQuery('#bfElementLabel').val(items[i].properties.label);
  730. break;
  731. }
  732. }
  733. }
  734. // static properties
  735. mdata.bfName = JQuery('#bfElementName').val();
  736. mdata.label = JQuery('#bfElementLabel').val();
  737. mdata.labelPosition = JQuery('#bfElementAdvancedLabelPosition').val();
  738. mdata.tabIndex = JQuery('#bfElementAdvancedTabIndex').val();
  739. mdata.hideInMailback = JQuery('#bfElementAdvancedHideInMailback').attr('checked');
  740. item.properties = mdata;
  741. };
  742. this.populateSummarizeProperties = function(mdata){
  743. var items = new Array();
  744. appScope.getItemsFlattened(appScope.dataObject, items);
  745. JQuery('#bfElementTypeSummarizeConnectWith').empty();
  746. var option = document.createElement('option');
  747. JQuery(option).val('');
  748. JQuery(option).text("<?php echo addslashes(BFText::_('COM_BREEZINGFORMS_CHOOSE_ONE')); ?>");
  749. JQuery('#bfElementTypeSummarizeConnectWith').append(option);
  750. for(var i = 0; i < items.length;i++){
  751. switch(items[i].properties.bfType){
  752. case 'bfTextfield':
  753. case 'bfTextarea':
  754. case 'bfRadioGroup':
  755. case 'bfCheckboxGroup':
  756. case 'bfCheckbox':
  757. case 'bfSelect':
  758. case 'bfFile':
  759. case 'bfHidden':
  760. case 'bfCalendar':
  761. var option = document.createElement('option');
  762. JQuery(option).val(items[i].properties.bfName + ":" + items[i].properties.bfType);
  763. JQuery(option).text(items[i].properties.label + " ("+items[i].properties.bfName+")");
  764. JQuery('#bfElementTypeSummarizeConnectWith').append(option);
  765. break;
  766. }
  767. }
  768. // dynamic properties
  769. JQuery('#bfElementTypeSummarizeConnectWith').val(mdata.connectWith+":"+mdata.connectType);
  770. JQuery('#bfElementTypeSummarizeEmptyMesssage').val(mdata.emptyMessage);
  771. JQuery('#bfElementTypeSummarizeUseElementLabel').attr('checked', mdata.useElementLabel);
  772. JQuery('#bfElementTypeSummarizeEmptyMessage').val(mdata.emptyMessage);
  773. JQuery('#bfElementTypeSummarizeHideIfEmpty').attr('checked', mdata.hideIfEmpty);
  774. JQuery('#bfElementAdvancedSummarizeCalc').val(mdata.fieldCalc);
  775. // static properties
  776. JQuery('#bfElementName').val(mdata.bfName);
  777. JQuery('#bfElementLabel').val(mdata.label);
  778. JQuery('#bfElementAdvancedTabIndex').val(mdata.tabIndex);
  779. JQuery('#bfElementAdvancedLabelPosition').val(mdata.labelPosition);
  780. JQuery('#bfElementAdvancedHideInMailback').attr('checked', mdata.hideInMailback);
  781. };
  782. // PAYPAL BUTTON
  783. this.savePayPalProperties = function(mdata, item){
  784. // dynamic properties
  785. // DEFAULT
  786. // account
  787. mdata.business = JQuery('#bfElementTypePayPalBusiness').val();
  788. mdata.token = JQuery('#bfElementTypePayPalToken').val();
  789. mdata.itemname = JQuery('#bfElementTypePayPalItemname').val();
  790. mdata.itemnumber = JQuery('#bfElementTypePayPalItemnumber').val();
  791. mdata.amount = JQuery('#bfElementTypePayPalAmount').val();
  792. mdata.tax = JQuery('#bfElementTypePayPalTax').val();
  793. mdata.thankYouPage = JQuery('#bfElementTypePayPalThankYouPage').val();
  794. mdata.locale = JQuery('#bfElementTypePayPalLocale').val();
  795. mdata.currencyCode = JQuery('#bfElementTypePayPalCurrencyCode').val();
  796. mdata.sendNotificationAfterPayment = JQuery('#bfElementTypePayPalSendNotificationAfterPayment').attr('checked');
  797. // ADVANCED
  798. mdata.useIpn = JQuery('#bfElementPayPalAdvancedUseIpn').attr('checked');
  799. mdata.image = JQuery('#bfElementPayPalAdvancedImage').val();
  800. // testaccount
  801. mdata.testaccount = JQuery('#bfElementPayPalAdvancedTestaccount').attr('checked');
  802. mdata.testBusiness = JQuery('#bfElementPayPalAdvancedTestBusiness').val();
  803. mdata.testToken = JQuery('#bfElementPayPalAdvancedTestToken').val();
  804. // file
  805. mdata.downloadableFile = JQuery('#bfElementPayPalAdvancedDownloadableFile').attr('checked');
  806. mdata.filepath = JQuery('#bfElementPayPalAdvancedFilepath').val();
  807. mdata.downloadTries = JQuery('#bfElementPayPalAdvancedDownloadTries').val();
  808. // OTHER ADVANCED
  809. mdata.hint = JQuery('#bfElementTypePayPalHint').val();
  810. mdata.hideLabel = JQuery('#bfElementPayPalAdvancedHideLabel').attr('checked');
  811. // static properties
  812. mdata.bfName = JQuery('#bfElementName').val();
  813. mdata.label = JQuery('#bfElementLabel').val();
  814. mdata.labelPosition = JQuery('#bfElementAdvancedLabelPosition').val();
  815. mdata.tabIndex = JQuery('#bfElementAdvancedTabIndex').val();
  816. mdata.hideInMailback = JQuery('#bfElementAdvancedHideInMailback').attr('checked');
  817. mdata.off = JQuery('#bfElementAdvancedTurnOff').attr('checked');
  818. item.properties = mdata;
  819. };
  820. this.populatePayPalProperties = function(mdata){
  821. // dynamic properties
  822. // DEFAULT
  823. // account
  824. JQuery('#bfElementTypePayPalBusiness').val(mdata.business);
  825. JQuery('#bfElementTypePayPalToken').val(mdata.token);
  826. JQuery('#bfElementTypePayPalItemname').val(mdata.itemname);
  827. JQuery('#bfElementTypePayPalItemnumber').val(mdata.itemnumber);
  828. JQuery('#bfElementTypePayPalAmount').val(mdata.amount);
  829. JQuery('#bfElementTypePayPalTax').val(mdata.tax);
  830. JQuery('#bfElementTypePayPalThankYouPage').val(mdata.thankYouPage);
  831. JQuery('#bfElementTypePayPalLocale').val(mdata.locale);
  832. JQuery('#bfElementTypePayPalCurrencyCode').val(mdata.currencyCode);
  833. JQuery('#bfElementTypePayPalSendNotificationAfterPayment').attr('checked', mdata.sendNotificationAfterPayment);
  834. // ADVANCED
  835. JQuery('#bfElementPayPalAdvancedImage').val(mdata.image);
  836. // testaccount
  837. JQuery('#bfElementPayPalAdvancedTestaccount').attr('checked', mdata.testaccount);
  838. JQuery('#bfElementPayPalAdvancedTestBusiness').val(mdata.testBusiness);
  839. JQuery('#bfElementPayPalAdvancedTestToken').val(mdata.testToken);
  840. // file
  841. JQuery('#bfElementPayPalAdvancedDownloadableFile').attr('checked', mdata.downloadableFile);
  842. JQuery('#bfElementPayPalAdvancedFilepath').val(mdata.filepath);
  843. JQuery('#bfElementPayPalAdvancedDownloadTries').val(mdata.downloadTries);
  844. if(typeof mdata.useIpn == "undefined"){
  845. mdata['useIpn'] = false;
  846. }
  847. JQuery('#bfElementPayPalAdvancedUseIpn').attr('checked', mdata.useIpn);
  848. JQuery('#bfElementTypePayPalHint').val(mdata.hint);
  849. JQuery('#bfElementPayPalAdvancedHideLabel').attr('checked', mdata.hideLabel);
  850. // static properties
  851. JQuery('#bfElementName').val(mdata.bfName);
  852. JQuery('#bfElementLabel').val(mdata.label);
  853. JQuery('#bfElementAdvancedTabIndex').val(mdata.tabIndex);
  854. JQuery('#bfElementAdvancedHideInMailback').attr('checked', mdata.hideInMailback);
  855. JQuery('#bfElementAdvancedTurnOff').attr('checked', mdata.off);
  856. JQuery('#bfElementAdvancedLabelPosition').val(mdata.labelPosition);
  857. };
  858. // SOFORTUEBERWEISUNG BUTTON
  859. this.saveSofortueberweisungProperties = function(mdata, item){
  860. // dynamic properties
  861. // DEFAULT
  862. // account
  863. mdata.user_id = JQuery('#bfElementTypeSofortueberweisungUserId').val();
  864. mdata.project_id = JQuery('#bfElementTypeSofortueberweisungProjectId').val();
  865. mdata.project_password = JQuery('#bfElementTypeSofortueberweisungProjectPassword').val();
  866. mdata.reason_1 = JQuery('#bfElementTypeSofortueberweisungReason1').val();
  867. mdata.reason_2 = JQuery('#bfElementTypeSofortueberweisungReason2').val();
  868. mdata.amount = JQuery('#bfElementTypeSofortueberweisungAmount').val();
  869. mdata.thankYouPage = JQuery('#bfElementTypeSofortueberweisungThankYouPage').val();
  870. mdata.language_id = JQuery('#bfElementTypeSofortueberweisungLanguageId').val();
  871. mdata.currency_id = JQuery('#bfElementTypeSofortueberweisungCurrencyId').val();
  872. mdata.mailback = JQuery('#bfElementTypeSofortueberweisungMailback').attr('checked');
  873. // ADVANCED
  874. mdata.image = JQuery('#bfElementSofortueberweisungAdvancedImage').val();
  875. // file
  876. mdata.downloadableFile = JQuery('#bfElementSofortueberweisungAdvancedDownloadableFile').attr('checked');
  877. mdata.filepath = JQuery('#bfElementSofortueberweisungAdvancedFilepath').val();
  878. mdata.downloadTries = JQuery('#bfElementSofortueberweisungAdvancedDownloadTries').val();
  879. // OTHER ADVANCED
  880. mdata.hint = JQuery('#bfElementTypeSofortueberweisungHint').val();
  881. mdata.hideLabel = JQuery('#bfElementSofortueberweisungAdvancedHideLabel').attr('checked');
  882. // static properties
  883. mdata.bfName = JQuery('#bfElementName').val();
  884. mdata.label = JQuery('#bfElementLabel').val();
  885. mdata.labelPosition = JQuery('#bfElementAdvancedLabelPosition').val();
  886. mdata.tabIndex = JQuery('#bfElementAdvancedTabIndex').val();
  887. mdata.hideInMailback = JQuery('#bfElementAdvancedHideInMailback').attr('checked');
  888. mdata.off = JQuery('#bfElementAdvancedTurnOff').attr('checked');
  889. item.properties = mdata;
  890. };
  891. this.populateSofortueberweisungProperties = function(mdata){
  892. // dynamic properties
  893. // DEFAULT
  894. // account
  895. JQuery('#bfElementTypeSofortueberweisungUserId').val(mdata.user_id);
  896. JQuery('#bfElementTypeSofortueberweisungProjectId').val(mdata.project_id);
  897. JQuery('#bfElementTypeSofortueberweisungProjectPassword').val(mdata.project_password);
  898. JQuery('#bfElementTypeSofortueberweisungReason1').val(mdata.reason_1);
  899. JQuery('#bfElementTypeSofortueberweisungReason2').val(mdata.reason_2);
  900. JQuery('#bfElementTypeSofortueberweisungAmount').val(mdata.amount);
  901. JQuery('#bfElementTypeSofortueberweisungThankYouPage').val(mdata.thankYouPage);
  902. JQuery('#bfElementTypeSofortueberweisungLanguageId').val(mdata.language_id);
  903. JQuery('#bfElementTypeSofortueberweisungCurrencyId').val(mdata.currency_id);
  904. JQuery('#bfElementTypeSofortueberweisungMailback').attr('checked', mdata.mailback);
  905. // ADVANCED
  906. JQuery('#bfElementSofortueberweisungAdvancedImage').val(mdata.image);
  907. // file
  908. JQuery('#bfElementSofortueberweisungAdvancedDownloadableFile').attr('checked', mdata.downloadableFile);
  909. JQuery('#bfElementSofortueberweisungAdvancedFilepath').val(mdata.filepath);
  910. JQuery('#bfElementSofortueberweisungAdvancedDownloadTries').val(mdata.downloadTries);
  911. // OTHER ADVANCED
  912. JQuery('#bfElementTypeSofortueberweisungHint').val(mdata.hint);
  913. JQuery('#bfElementSofortueberweisungAdvancedHideLabel').attr('checked', mdata.hideLabel);
  914. // static properties
  915. JQuery('#bfElementName').val(mdata.bfName);
  916. JQuery('#bfElementLabel').val(mdata.label);
  917. JQuery('#bfElementAdvancedTabIndex').val(mdata.tabIndex);
  918. JQuery('#bfElementAdvancedHideInMailback').attr('checked', mdata.hideInMailback);
  919. JQuery('#bfElementAdvancedTurnOff').attr('checked', mdata.off);
  920. JQuery('#bfElementAdvancedLabelPosition').val(mdata.labelPosition);
  921. };
  922. this.saveSelectedElementProperties = function(){
  923. if(appScope.selectedTreeElement){
  924. var mdata = appScope.getProperties(appScope.selectedTreeElement);
  925. if(mdata){
  926. var item = appScope.findDataObjectItem(JQuery(appScope.selectedTreeElement).attr('id'), appScope.dataObject);
  927. if(item){
  928. switch(mdata.bfType){
  929. case 'bfSummarize':
  930. appScope.saveSummarizeProperties(mdata, item);
  931. break;
  932. case 'bfHidden':
  933. appScope.saveHiddenProperties(mdata, item);
  934. appScope.saveValidation(mdata, item);
  935. appScope.saveInit(mdata, item);
  936. break;
  937. case 'bfTextfield':
  938. appScope.saveTextProperties(mdata, item);
  939. appScope.saveValidation(mdata, item);
  940. appScope.saveInit(mdata, item);
  941. appScope.saveAction(mdata, item);
  942. break;
  943. case 'bfText…

Large files files are truncated, but you can click here to view the full file