Example #1
0
    function getFileSelectionHTML($root)
    {
        // Import usefull JoomlaPack classes
        jpimport('classes.filter.sff');
        jpimport('helpers.lang');
        jpimport('classes.core.utility.filtermanager');
        // Cleanup the root folder we were passed
        $root = realpath($root);
        // Get some translation strings
        $lang_dir = JoomlapackLangManager::_('SFF_DIR');
        $lang_excluded = JoomlapackLangManager::_('SFF_EXCLUDE');
        $lang_file = JoomlapackLangManager::_('SFF_FILE');
        // Scan folder for files
        $sff = new JoomlapackFilterSFF();
        $scanResult = $sff->getDirectory($root);
        // Get the directories filters; we're not going to allow the user to enter excluded folders :)
        $filterManager = new JoomlapackFilterManager();
        $filterManager->init();
        // Produce the output
        $out = <<<END
\t\t\t<h4>{$root}</h4>
\t\t\t<table border="0" cellspacing="10">
\t\t\t\t<tr>
\t\t\t\t\t<td valign="top">
\t\t\t\t\t\t<!-- Directory Selection -->
\t\t\t\t\t\t<table class="adminlist">
\t\t\t\t\t\t\t<thead>
\t\t\t\t\t\t\t\t<tr>
\t\t\t\t\t\t\t\t\t<th>{$lang_dir}</th>
\t\t\t\t\t\t\t\t</tr>
\t\t\t\t\t\t\t</thead>
\t\t\t\t\t\t\t<tbody>
END;
        $dirFilters = $filterManager->getFilters('folder');
        foreach ($scanResult['folders'] as $folder) {
            if (is_array($dirFilters)) {
                $wholefolder = JoomlapackAbstraction::TranslateWinPath($root . DIRECTORY_SEPARATOR . $folder);
                $showLink = !in_array($wholefolder, $dirFilters);
            } else {
                $showLink = true;
            }
            $out .= "\t\t\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t\t\t<td>\n";
            if ($showLink) {
                $out .= "<a href=\"javascript:dirSelectionHTML('" . JoomlapackAbstraction::TranslateWinPath($root . DIRECTORY_SEPARATOR . $folder) . "');\">" . htmlentities($folder) . "</a>";
            } else {
                $out .= htmlentities($folder);
            }
            $out .= "\t\t\t\t\t\t\t\t\t</td>\n\t\t\t\t\t\t\t\t</tr>\n";
        }
        $out .= <<<END
\t\t\t\t\t\t\t</tbody>
\t\t\t\t\t\t</table>
\t\t\t\t\t</td>
\t\t\t\t\t<td valign="top">
\t\t\t\t\t\t<!-- File Selection -->
\t\t\t\t\t\t<table class="adminlist">
\t\t\t\t\t\t\t<thead>
\t\t\t\t\t\t\t\t<tr>
\t\t\t\t\t\t\t\t\t<th>{$lang_excluded}</th>
\t\t\t\t\t\t\t\t\t<th>{$lang_file}</th>
\t\t\t\t\t\t\t\t</tr>
\t\t\t\t\t\t\t</thead>
\t\t\t\t\t\t\t<tbody>
END;
        $id = 0;
        foreach ($scanResult['files'] as $file => $excluded) {
            $id++;
            $checked = $excluded ? " checked = \"true\" " : "";
            $out .= "\n<tr><td align=\"center\">";
            $out .= "<input type=\"checkbox\" {$checked} onclick=\"ToggleFilter('" . JoomlapackAbstraction::TranslateWinPath($root) . "', '{$file}','sff-{$id}');\" id=\"sff-{$id}\">";
            $out .= "</td><td align=\"left\">";
            $out .= htmlentities($file);
            $out .= "</td></tr>";
        }
        $out .= <<<END
\t\t\t\t\t\t\t</tbody>
\t\t\t\t\t\t</table>
\t\t\t\t\t</td>
\t\t\t\t</tr>
\t\t\t</table>
END;
        return $out;
    }
Example #2
0
 /**
  * Loads the exclusion filters off the db and caches them inside the object
  */
 function _loadAndCacheFilters()
 {
     jpimport('classes.core.utility.filtermanager');
     JoomlapackLogger::WriteLog(_JP_LOG_DEBUG, "JoomlapackDomainPack :: Initializing filter manager");
     $filterManager = new JoomlapackFilterManager();
     $filterManager->init();
     JoomlapackLogger::WriteLog(_JP_LOG_DEBUG, "JoomlapackDomainPack :: Getting DEF");
     $this->_ExcludeDirs = $filterManager->getFilters('folder');
     JoomlapackLogger::WriteLog(_JP_LOG_DEBUG, "JoomlapackDomainPack :: Getting SFF");
     $this->_ExcludeFiles = $filterManager->getFilters('singlefile');
     JoomlapackLogger::WriteLog(_JP_LOG_DEBUG, "JoomlapackDomainPack :: Done with filter manager");
     unset($filterManager);
 }