uawdijnntqw1x1x1
IP : 216.73.216.168
Hostname : server.fattispazio.it
Kernel : Linux server.fattispazio.it 3.10.0-1160.144.1.el7.tuxcare.els4.x86_64 #1 SMP Tue Apr 7 08:40:40 UTC 2026 x86_64
Disable Function : None :)
OS : Linux
PATH:
/
home
/
poliximo
/
public_html
/
home_
/
plugins
/
system
/
rsfpmappings.php
/
/
<?php /** * @version 1.2.0 * @package RSform!Pro 1.2.0 * @copyright (C) 2007-2009 www.rsjoomla.com * @license Commercial License, http://www.rsjoomla.com/terms-and-conditions.html */ // no direct access defined( '_JEXEC' ) or die( 'Restricted access' ); jimport( 'joomla.plugin.plugin' ); /** * RSForm! Pro system plugin */ class plgSystemrsfpmappings extends JPlugin { /** * Constructor * * For php4 compatibility we must not use the __constructor as a constructor for plugins * because func_get_args ( void ) returns a copy of all passed arguments NOT references. * This causes problems with cross-referencing necessary for the observer design pattern. * * @access protected * @param object $subject The object to observe * @param array $config An array that holds the plugin configuration * @since 1.0 */ function plgSystemrsfpmappings( &$subject, $config ) { parent::__construct( $subject, $config ); $this->loadLanguage( 'plg_system_rsfpmappings' ); } /* Event Triggered Functions */ function rsfp_bk_onSwitchTasks() { global $mainframe; $plugin_task = JRequest::getVar('plugin_task'); switch($plugin_task){ case 'mappings.getColumns': $this->rsfp_bk_mappingsGetColumns(); exit(); break; case 'mappings.saveMapping': $this->rsfp_bk_mappingsSaveMapping(); exit(); break; case 'mappings.deleteMapping': $this->rsfp_bk_mappingsDeleteMapping(); exit(); break; default: break; } } function rsfp_bk_onAfterShowFormEditTabs(){ global $RSadapter; $formId = intval(JRequest::getVar('formId')); $RSadapter->startTab(JText::_('RSFP_MAPPINGS_LABEL'),"mappings"); $this->rsfp_bk_mappingsScreen($formId); $RSadapter->endTab(); } function rsfp_f_onAfterStoreSubmissions($args) { $RSadapter=$GLOBALS['RSadapter']; //if there are mappings, map the selected components to the selected tables $q = "SELECT * FROM `".$RSadapter->tbl_rsform_mappings."` m LEFT JOIN `".$RSadapter->tbl_rsform_components."` c ON m.ComponentId = c.ComponentId WHERE c.FormId = ".$args['formId']." AND c.Published = 1"; $rez=mysql_query($q) or die(mysql_error().$q.'<br>'); $arrayColumns = array(); $arrayComponents = array(); while($r = mysql_fetch_assoc($rez)) { $arrayColumns[$r['MappingTable']][$r['MappingId']] = RScleanVar($r['MappingColumn']); $arrayComponents[$r['MappingTable']][$r['MappingId']] = RScleanVar(RSgetSubmissionValue($args['SubmissionId'], $r['ComponentId'])); } if(!empty($arrayColumns)) { foreach($arrayColumns as $table=>$rows) { $query = "INSERT INTO `".$table."` (`".implode('`,`',$rows)."`) VALUES ('".implode("','",$arrayComponents[$table])."')"; //echo $query . '<br/>'; mysql_query($query) or die(mysql_error().$query.'<br />'); } } } /* Task Functions */ function rsfp_bk_mappingsGetColumns() { global $RSadapter; $result = '<select name="rsform_mapping_column" id="rsform_mapping_column">'; $columns = $this->rsfp_getColumns($_GET['tableName']); foreach ($columns as $column) $result.='<option value="'.$column.'">'.$column.'</option>'; $result .= '</select>'; echo $result; } function rsfp_bk_mappingsSaveMapping() { global $RSadapter; $_GET['ComponentId'] = intval($_GET['ComponentId']); $_GET['MappingTable'] = RScleanVar($_GET['MappingTable']); $_GET['MappingColumn'] = RScleanVar($_GET['MappingColumn']); mysql_query("SELECT * FROM `".$RSadapter->tbl_rsform_mappings."` WHERE ComponentId='$_GET[ComponentId]' AND MappingTable='$_GET[MappingTable]' AND MappingColumn='$_GET[MappingColumn]'"); if(mysql_affected_rows()!=0) { echo '1'; return; } mysql_query("INSERT INTO `".$RSadapter->tbl_rsform_mappings."` (ComponentId, MappingTable, MappingColumn) VALUES ('$_GET[ComponentId]','$_GET[MappingTable]','$_GET[MappingColumn]')"); $result = $this->rsfp_webserviceMappingsTable($_GET['FormId']); echo $result; } function rsfp_bk_mappingsDeleteMapping() { global $RSadapter; $_GET['MappingId'] = intval($_GET['MappingId']); mysql_query("DELETE FROM `".$RSadapter->tbl_rsform_mappings."` WHERE MappingId='$_GET[MappingId]'"); $result = $this->rsfp_webserviceMappingsTable($_GET['FormId']); echo $result; } /* Additional Functions */ function rsfp_bk_mappingsScreen($formId) { global $RSadapter; ?> <table cellpadding="4" cellspacing="0" border="0" class="adminform"> <tr> <th colspan="2"><?php echo JText::_("RSFP_MAPPINGS_LABEL"); ?> <a href="http://www.rsjoomla.com/rsform-pro-mapping-plugin.html" target="_blank"> <img src="<?php echo _RSFORM_BACKEND_REL_PATH;?>/images/icons/info.png" border="0"> </a> </th> </tr> <tr> <td valign="top" align="left" width="100%"> <table> <tr> <td width="250" valign="top"> <?php echo JText::_('RSFP_MAPPINGS_COMPONENT_NAME');?> <div id="rsform_html_unmapped_select"><?php $this->rsfp_bk_drawUnmappedSelect($formId); ?></div><br> <?php echo JText::_('RSFP_MAPPINGS_TABLE_TO_MAP');?> <div id="rsform_html_mapping_table"><?php $this->rsfp_drawTablesSelect(); ?></div><br> <?php echo JText::_('RSFP_MAPPINGS_COLUMN_TABLE_TO_MAP');?> <div id="rsform_html_mapping_column"><?php $this->rsfp_drawColumnsSelect(); ?></div><br> <input type="button" value="Add mapping" onclick="saveMapping(<?php echo $formId; ?>)"> <?php //RScreateInserts(1); ?> </td> <td valign="top"> <div id="rsform_html_mappings_table"><?php echo $this->rsfp_webserviceMappingsTable($formId); ?></div> </td> </tr> </table> </td> </tr> <tr> <td colspan="2"><?php echo JText::_('RSFP_MAPPINGS_DESC');?></td> </tr> </table> <?php } function rsfp_bk_drawUnmappedSelect($formId) { global $RSadapter; ?> <select name="rsform_mapping_component" id="rsform_mapping_component"> <?php $q="select ComponentId from `".$RSadapter->tbl_rsform_components."` where `".$RSadapter->tbl_rsform_components."`.FormId='$formId' "; $rez=mysql_query($q) or die($q.'<br>'.mysql_error()); while($r=mysql_fetch_assoc($rez)) { $data=RSgetComponentProperties($r['ComponentId']); echo '<option value="'.$r['ComponentId'].'">'.$data['NAME'].'</option>'; } ?> </select> <?php } function rsfp_drawTablesSelect() { $tables=$this->rsfp_getTables(); ?> <select name="rsform_mapping_table" id="rsform_mapping_table" onchange="updateColumns()"> <?php foreach($tables as $table) echo '<option value="'.$table.'">'.$table.'</option>'; ?> </select> <?php } function rsfp_drawColumnsSelect($tableName='') { ?> <select name="rsform_mapping_column" id="rsform_mapping_column"> <?php if(!empty($tableName)) { $columns=$this->rsfp_getColumns($tableName); } else { $tables=$this->rsfp_getTables();//print_r($tables); $columns=$this->rsfp_getColumns($tables[0]); } foreach($columns as $column) echo '<option value="'.$column.'">'.$column.'</option>'; ?> </select> <?php } function rsfp_getTables() { $tables=array(); $q = "SHOW TABLES"; $db = JFactory::getDBO(); $db->setQuery($q); $rows = $db->loadRowList(); foreach ($rows as $row) $tables[] = $row[0]; return $tables; } function rsfp_getColumns($tableName) { $columns=array(); $db = JFactory::getDBO(); $q = "SHOW COLUMNS FROM `".$db->getEscaped($tableName)."`"; $db->setQuery($q); $rows = $db->loadRowList(); foreach ($rows as $row) $columns[] = $row[0]; return $columns; } function rsfp_webserviceMappingsTable($formId) { global $RSadapter; $result='<table border="0" class="adminform"> <tr> <th>Component</th> <th>Map to</th> <th>Action</th> </tr>'; $q="select `".$RSadapter->tbl_rsform_mappings."`.MappingId, `".$RSadapter->tbl_rsform_mappings."`.ComponentId, `".$RSadapter->tbl_rsform_mappings."`.MappingTable, `".$RSadapter->tbl_rsform_mappings."`.MappingColumn from `".$RSadapter->tbl_rsform_mappings."` left join `".$RSadapter->tbl_rsform_components."` on `".$RSadapter->tbl_rsform_mappings."`.ComponentId=`".$RSadapter->tbl_rsform_components."`.ComponentId where `".$RSadapter->tbl_rsform_components."`.FormId='$formId' ORDER BY `".$RSadapter->tbl_rsform_mappings."`.MappingTable, `".$RSadapter->tbl_rsform_mappings."`.MappingColumn"; $rez=mysql_query($q) or die($q.'<br>'.mysql_error()); $i = 0; while($r=mysql_fetch_assoc($rez)) { $i = ($i) ? 0:1; $data=RSgetComponentProperties($r['ComponentId']); $result.='<tr class="row'.$i.'">'; $result.='<td>'.$data['NAME'].'</td>'; $result.='<td>'.$r['MappingTable'].'.'.$r['MappingColumn'].'</td>'; $result.='<td><a href="#" onclick="deleteMapping('.$r['MappingId'].','.$formId.')">Delete</a></td>'; $result.='</tr>'; } $result.='</table>'; return $result; } }
/home/poliximo/public_html/home_/plugins/system/rsfpmappings.php