function showFlashComponent($id) { $database =& JFactory::getDBO(); $row = new joomla_flash_uploader($database); $row->load($id); if (!$row->resize_show) { // no profile found or no id! HTML_joomla_flash_uploader::wrongId($id); } else { $uploadfolder = $row->folder; $user =& JFactory::getUser(); // we check if we have a master profile! if ($row->master_profile == 'true') { if ($user->id != 0) { if ($row->master_profile_mode == 'id') { $uploadfolder = $uploadfolder . '/' . $user->id; } else { if ($row->master_profile_lowercase == 'true') { $uploadfolder = $uploadfolder . '/' . strtolower($user->username); } else { $uploadfolder = $uploadfolder . '/' . $user->username; } } // we check if the folder exists - if not it is created! if (!file_exists($uploadfolder) && $uploadfolder != "") { mkdir($uploadfolder); // if the copy directory exists we copy everything! $extra_dir = "components/com_joomla_flash_uploader/default"; if (file_exists($extra_dir)) { JFUHelper::dir_copy($extra_dir, $uploadfolder); } } } else { HTML_joomla_flash_uploader::noUser($id); return; } } // we go back to the main folder! path has to be relativ to the tfu upload folder! if ($uploadfolder == "") { $folder = "./../../../.."; } else { $folder = "./../../../../" . $uploadfolder; } JFUHelper::setJFUSession($row, $folder); $_SESSION["TFU_FILE_CHMOD"] = JFUHelper::getVariable($database, 'file_chmod'); $_SESSION["TFU_DIR_CHMOD"] = JFUHelper::getVariable($database, 'dir_chmod'); unset($_SESSION["IS_ADMIN"]); $_SESSION["IS_FRONTEND"] = "TRUE"; if ($user->id != 0) { $_SESSION["TFU_USER"] = $user->username; $_SESSION["TFU_USER_ID"] = $user->id; } else { unset($_SESSION["TFU_USER"]); unset($_SESSION["TFU_USER_ID"]); } // we check if the flash should be included with js oder the object tag $use_js_include = JFUHelper::check_js_include($database); store_temp_session(); JFUHelper::fixSession(); HTML_joomla_flash_uploader::showFlash($row, $uploadfolder, $use_js_include, false); } }
function setJFUSession($row, $folder, $database) { // new 2.11.x - I will move all tfu settings to one session list! $tfu_param = array(); // we put ALL parameters to the session that it is available in TFU foreach (get_object_vars($row) as $key => $val) { $tfu_param[strtoupper($key)] = $val; } $_SESSION["TFU"] = $tfu_param; $_SESSION['TFU']["TFU_FOLDER"] = $folder; $_SESSION['TFU']["FIX_UTF8"] = trim($row->fix_utf8); $_SESSION['TFU']["NOT_EMAIL"] = $row->upload_notification_email; $_SESSION['TFU']["NOT_EMAIL_FROM"] = $row->upload_notification_email_from; $_SESSION['TFU']["NOT_EMAIL_SUBJECT"] = $row->upload_notification_email_subject; $_SESSION['TFU']["NOT_EMAIL_TEXT"] = $row->upload_notification_email_text; $_SESSION['TFU']["ENABLE_SETTING"] = $row->enable_setting; // Global settings! $_SESSION['TFU']["FILE_CHMOD"] = JFUHelper::getVariable($database, 'file_chmod'); $_SESSION['TFU']["DIR_CHMOD"] = JFUHelper::getVariable($database, 'dir_chmod'); $_SESSION['TFU']["ENABLE_UPLOAD_DEBUG"] = JFUHelper::getVariable($database, 'enable_upload_debug'); $_SESSION['TFU']["ENHANCED_DEBUG"] = JFUHelper::getVariable($database, 'enhanced_debug'); $_SESSION['TFU']["CHECK_IMAGE_MAGIC"] = JFUHelper::getVariable($database, 'check_image_magic'); }
function showFlashPlugin($id, $twgpath) { global $prefix_path; $database = JFactory::getDBO(); $row = new joomla_flash_uploader($database); $row->load($id); if (!$row->resize_show) { // no profile found or no id! return HTML_joomla_flash_uploader::wrongId($id, true); } else { $uploadfolder = $row->folder; $uploadfolder_base = $uploadfolder; $user = JFactory::getUser(); // we check if we have a master profile! if ($row->master_profile == 'true') { if ($user->id != 0 || $row->master_profile_mode == 'ip') { if ($row->master_profile_mode == 'id') { $_SESSION["s_user"] = $user->id; $uploadfolder = $uploadfolder . '/' . $user->id; } else if ($row->master_profile_mode == 'ip') { $uploadfolder = $uploadfolder . '/' . $_SERVER['REMOTE_ADDR']; } else if ($row->master_profile_mode == 'group') { $group = JFUHelper::getHighestGroupName($database, $user->groups); if ($row->master_profile_lowercase == 'true') { $normalizeSpaces=true; $group = normalizeFileNames($group); } $uploadfolder = $uploadfolder . '/' . $group; } else { if ($row->master_profile_mode == 'login') { $uname = $user->username; } else { $uname = $user->name; } $_SESSION["s_user"] = $uname; if ($row->master_profile_lowercase == 'true') { $normalizeSpaces=true; $uname = normalizeFileNames($uname); } $uploadfolder = $uploadfolder . '/' . $uname; } // we check if the folder exists - if not it is created! if (!file_exists($uploadfolder) && $uploadfolder != "") { $dir_chmod = JFUHelper::getVariable($database, 'dir_chmod'); $ftp_enable = $row->ftp_enable; if (isset($ftp_enable) && $ftp_enable == 'true') { $ftp_host = $row->ftp_host; $ftp_port = $row->ftp_port; $ftp_user = $row->ftp_user; $ftp_pass = $row->ftp_pass; $ftp_root = $row->ftp_root; $ftp_createdir = $uploadfolder; $conn_id = ftp_connect($ftp_host, $ftp_port); $login_result = ftp_login($conn_id, $ftp_user, $ftp_pass); ftp_chdir($conn_id, $ftp_root); $result = ftp_mkdir ($conn_id , $ftp_createdir); if ($result && $dir_chmod != 0) { @ftp_chmod($conn_id, $dir_chmod, $ftp_createdir); } ftp_close($conn_id); } else { $result = mkdir($uploadfolder); if ($result && $dir_chmod != 0) { @chmod($uploadfolder, $dir_chmod); } } // if the copy directory exists we copy everything! $extra_dir = "components/com_jfuploader/default"; if (file_exists($extra_dir)) { JFUHelper::dir_copy($extra_dir, $uploadfolder); } } } else { return HTML_joomla_flash_uploader::noUser($id,true); } } if (file_exists("components/com_jfuploader/tfu/tfu_helper.php")) { $prefix_path = ''; $prefix_dir_path = ''; } else { $prefix_path = 'administrator/'; $prefix_dir_path = '../'; } // we go back to the main folder! if ($uploadfolder == "") { $folder = './'.$prefix_dir_path.'../../..'; } else { $folder = './'.$prefix_dir_path.'../../../' . $uploadfolder; } JFUHelper::setJFUSession($row, $folder, $database); unset($_SESSION["IS_ADMIN"]); $_SESSION["IS_FRONTEND"] = "TRUE"; if ($user->id != 0) { $_SESSION["TFU_USER"] = $user->username; $_SESSION["TFU_USER_ID"] = $user->id; $_SESSION["TFU_USER_NAME"] = $user->name; $_SESSION["TFU_USER_EMAIL"] = $user->email; JFUHelper::setContactDetailsToSession($user->id); } else { unset($_SESSION['TFU_USER']); unset($_SESSION['TFU_USER_ID']); unset($_SESSION['TFU_USER_NAME']); unset($_SESSION['TFU_USER_EMAIL']); unset($_SESSION['TFU_USER_CONTACT']); } // we check if the flash should be included with js oder the object tag $use_js_include = JFUHelper::check_js_include($database); $jfu_config['idn_url']= JFUHelper::getVariable($database, 'idn_url'); store_temp_session(); JFUHelper::fixSession(); $thumbnailflash = ''; if ($twgpath != '') { $thumbnailflash = $this->getFlashContent($twgpath, $uploadfolder,$use_js_include); } return HTML_joomla_flash_uploader::showFlash( $row, $uploadfolder, $use_js_include, $jfu_config, true ) . $thumbnailflash; } }
function showFlashComponent($id, $user, $editor_plugin, $block_type, $jfu_params) { global $prefix_dir_path, $prefix_path; $database =& JFactory::getDBO(); $row = new joomla_flash_uploader($database); $row->load($id); if (!$row->resize_show) { // no profile found or no id! HTML_joomla_flash_uploader::wrongId($id); } else { $uploadfolder = $row->folder; $uploadfolder_base = $uploadfolder; // we check if we have a master profile! if ($row->master_profile == 'true') { if ($user->id != 0 || $row->master_profile_mode == 'ip') { if ($row->master_profile_mode == 'id') { $_SESSION["s_user"] = $user->id; $uploadfolder = $uploadfolder . '/' . $user->id; } else { if ($row->master_profile_mode == 'ip') { $uploadfolder = $uploadfolder . '/' . $_SERVER['REMOTE_ADDR']; } else { if ($row->master_profile_mode == 'group') { $group = JFUHelper::getHighestGroupName($database, $user->groups); if ($row->master_profile_lowercase == 'true') { $normalizeSpaces = true; $group = normalizeFileNames($group); } $uploadfolder = $uploadfolder . '/' . $group; } else { if ($row->master_profile_mode == 'login') { $uname = $user->username; } else { $uname = $user->name; } $_SESSION["s_user"] = $uname; if ($row->master_profile_lowercase == 'true') { $normalizeSpaces = true; $uname = normalizeFileNames($uname); } $uploadfolder = $uploadfolder . '/' . $uname; } } } // we check if the folder exists - if not it is created! if (!file_exists($uploadfolder) && $uploadfolder != "") { $dir_chmod = JFUHelper::getVariable($database, 'dir_chmod'); $ftp_enable = $row->ftp_enable; if (isset($ftp_enable) && $ftp_enable == 'true') { $ftp_host = $row->ftp_host; $ftp_port = $row->ftp_port; $ftp_user = $row->ftp_user; $ftp_pass = $row->ftp_pass; $ftp_root = $row->ftp_root; $ftp_createdir = $uploadfolder; $conn_id = ftp_connect($ftp_host, $ftp_port); $login_result = ftp_login($conn_id, $ftp_user, $ftp_pass); ftp_chdir($conn_id, $ftp_root); $result = ftp_mkdir($conn_id, $ftp_createdir); if ($result && $dir_chmod != 0) { @ftp_chmod($conn_id, $dir_chmod, $ftp_createdir); } ftp_close($conn_id); } else { $result = mkdir($uploadfolder); if ($result && $dir_chmod != 0) { @chmod($uploadfolder, $dir_chmod); } } // if the copy directory exists we copy everything! $extra_dir = "components/com_jfuploader/default"; if (file_exists($extra_dir)) { JFUHelper::dir_copy($extra_dir, $uploadfolder); } } } else { HTML_joomla_flash_uploader::noUser($id); return; } } // we go back to the main folder! path has to be relativ to the tfu upload folder! if ($uploadfolder == "") { $folder = './' . $prefix_dir_path . '../../..'; } else { $folder = './' . $prefix_dir_path . '../../../' . $uploadfolder; } JFUHelper::setJFUSession($row, $folder, $database); unset($_SESSION["IS_ADMIN"]); $_SESSION["IS_FRONTEND"] = "TRUE"; if ($user->id != 0) { $_SESSION["TFU_USER"] = $user->name; $_SESSION["TFU_USER_ID"] = $user->id; $_SESSION["TFU_USER_NAME"] = $user->username; $_SESSION["TFU_USER_EMAIL"] = $user->email; JFUHelper::setContactDetailsToSession($user->id); } else { unset($_SESSION['TFU_USER']); unset($_SESSION['TFU_USER_ID']); unset($_SESSION['TFU_USER_NAME']); unset($_SESSION['TFU_USER_EMAIL']); unset($_SESSION['TFU_USER_CONTACT']); } // we check if the flash should be included with js oder the object tag $use_js_include = JFUHelper::check_js_include($database); $jfu_config['idn_url'] = JFUHelper::getVariable($database, 'idn_url'); if (!$editor_plugin) { JFUHelper::fixSession(); store_temp_session(); HTML_joomla_flash_uploader::showFlash($row, $uploadfolder, $use_js_include, $jfu_config, false); } else { $_SESSION['TFU']['IS_JFU_PLUGIN'] = true; JFUHelper::fixSession(); store_temp_session(); // I have to set the javascript setting to update the data! $flash = HTML_joomla_flash_uploader::showFlash($row, $uploadfolder, $use_js_include, $jfu_config, true); echo ' <style type="text/css"> body.contentpane { background-color:#ffffff; margin-top:15px; margin-left:15px; margin-bottom:0px; overflow-y: hidden; overflow-x: hidden; line-height: 1.4;} #main { padding: 0px;} </style>'; echo $flash; $base_path = JURI::base(); HTML_joomla_flash_uploader::showImageSelector($base_path, $block_type, $jfu_params); } } }
function showPlugins() { $database = JFactory::getDBO(); $my = JFactory::getUser(); if (checkAccess($database, 'core.admin')) { $plugins = array(); $show_hint = false; foreach (glob(dirname(__FILE__) . '/tfu/*_plugin.php') as $filename) { $name = 'Not set'; $description = 'Not set'; $version_plugin = 'Not set'; $version_tfu = 'Not set'; $content = file_get_contents($filename); $hits = preg_match('/(Name:)([^\\n]*)(\\n)/i', $content, $treffer); if ($hits != 0) { $name = trim($treffer[2]); } $hits = preg_match('/(Description:)([^\\n]*)(\\n)/i', $content, $treffer); if ($hits != 0) { $description = trim($treffer[2]); } $hits = preg_match('/(Version Plugin:)([^\\n]*)(\\n)/i', $content, $treffer); if ($hits != 0) { $version_plugin = trim($treffer[2]); } $hits = preg_match('/(Needed flash version:)([^\\n]*)(\\n)/i', $content, $treffer); if ($hits != 0) { $version_tfu = trim($treffer[2]); if (version_compare($version_tfu, JFUHelper::getVariable($database, 'version')) == 1) { $version_tfu = 'style="color: #ff0000;"'; $show_hint = true; } else { $version_tfu = ''; } } $plugins[] = array(basename($filename), htmlentities($name), htmlentities($description), $version_plugin, $version_tfu); } $available = array("a_plugin", "move_plugin"); HTML_joomla_flash_uploader::showPlugins($plugins, $show_hint); } else { HTML_joomla_flash_uploader::errorRights(); } }
function showConfig() { $database =& JFactory::getDBO(); $my =& JFactory::getUser(); if (checkAccess($database, $my->usertype, 'backend_access_config')) { $i = 0; $database->setQuery("SELECT * FROM #__joomla_flash_uploader where id > 0 ORDER BY id "); $rows = $database->loadObjectList(); if (count($rows) > 0) { foreach ($rows as $row) { if ($row->id == 1) { $rows[$i]->resize_label = JText::_('C_ADMINS_ONLY'); } else { $database->setQuery("SELECT username FROM #__users u, #__joomla_flash_uploader_user f WHERE u.id = f.user AND f.profile =" . $row->id . " order by username"); $users = $database->loadObjectList("username"); $rows[$i]->resize_label = "<a href=\"#user\" onclick=\"return submitform('user')\">"; if (count($users) == 0) { if ($rows[$i]->gid != "") { $rows[$i]->resize_label .= JText::_('C_DEFAULT_PROFILE') . '</a>'; } else { $rows[$i]->resize_label = JText::_('C_NO_GROUP'); } } else { $ret = array(); foreach ($users as $user) { array_push($ret, $user->username); } $rows[$i]->resize_label .= implode(", ", $ret); $rows[$i]->resize_label .= "</a>"; } } $i++; } } $jfu_config = array(); $jfu_config['keep_tables'] = JFUHelper::getVariable($database, 'keep_tables'); $jfu_config['use_js_include'] = JFUHelper::getVariable($database, 'use_js_include'); $jfu_config['backend_access_upload'] = JFUHelper::getVariable($database, 'backend_access_upload'); $jfu_config['backend_access_config'] = JFUHelper::getVariable($database, 'backend_access_config'); $jfu_config['version'] = JFUHelper::getVariable($database, 'version'); $jfu_config['file_chmod'] = JFUHelper::getVariable($database, 'file_chmod'); $jfu_config['dir_chmod'] = JFUHelper::getVariable($database, 'dir_chmod'); HTML_joomla_flash_uploader::listConfig($rows, $jfu_config); } else { HTML_joomla_flash_uploader::errorRights(); } }