Exemple #1
0
function edit_query()
{
    $mainframe = JFactory::getApplication();
    $user = JFactory::getUser();
    $db = JFactory::getDBO();
    $id = JRequest::getVar('id');
    $query_id = JRequest::getVar('query_id');
    $query = "SELECT `created_by` FROM #__formmaker where id=" . $db->escape((int) $id);
    $db->setQuery($query);
    $created_by = $db->loadResult();
    $canEdit = $user->authorise('core.edit', 'com_formmaker');
    $canEditOwn = $user->authorise('core.edit.own', 'com_formmaker');
    if (!$canEdit) {
        if (!$canEditOwn || $created_by != $user->id) {
            $mainframe->redirect("index.php?option=com_formmaker", JText::_('JACTION_NOT_PERMITTED'), 'error');
        }
    }
    $query = "SELECT label_order_current FROM #__formmaker where id=" . $db->escape((int) $id);
    $db->setQuery($query);
    $label = $db->loadResult();
    $query = "SELECT * FROM #__formmaker_query where id=" . $db->escape((int) $query_id);
    $db->setQuery($query);
    $query_obj = $db->loadObject();
    $temp = explode('***wdfcon_typewdf***', $query_obj->details);
    $con_type = $temp[0];
    $temp = explode('***wdfcon_methodwdf***', $temp[1]);
    $con_method = $temp[0];
    $temp = explode('***wdftablewdf***', $temp[1]);
    $table_cur = $temp[0];
    $temp = explode('***wdfhostwdf***', $temp[1]);
    $host = $temp[0];
    $temp = explode('***wdfportwdf***', $temp[1]);
    $port = $temp[0];
    $temp = explode('***wdfusernamewdf***', $temp[1]);
    $username = $temp[0];
    $temp = explode('***wdfpasswordwdf***', $temp[1]);
    $password = $temp[0];
    $temp = explode('***wdfdatabasewdf***', $temp[1]);
    $database = $temp[0];
    $db = JFactory::getDBO();
    if ($con_type == 'local') {
        $query = "SHOW TABLES";
        $db->setQuery($query);
        $tables = $db->loadColumn();
    }
    if ($con_type == 'remote') {
        $remote = array();
        //prevent problems
        $remote['driver'] = 'mysql';
        $remote['host'] = $host;
        $remote['user'] = $username;
        $remote['password'] = $password;
        $remote['database'] = $database;
        $remote['prefix'] = '';
        $db = JDatabase::getInstance($remote);
        if ($db->getErrorNum()) {
            echo '<div style="font-size: 22px; text-align: center; padding-top: 15px;">' . $db->stderr() . '</div>';
            return false;
        }
        $query = "SHOW TABLES";
        $db->setQuery($query);
        $tables = $db->loadColumn();
    }
    $query = "SHOW COLUMNS FROM " . $table_cur;
    $db->setQuery($query);
    $table_struct = $db->loadObjectList();
    HTML_contact::edit_query($id, $label, $query_obj, $tables, $table_struct, $con_type, $con_method, $table_cur, $temp[1], $host, $port, $username, $password, $database);
}