Exemplo n.º 1
0
 public function showdiff($file)
 {
     $this->render('diff_showdiff.php');
     # Paths
     $base = Config::Get('BASE_TEMPLATE_PATH') . DS . $file;
     $custom = SKINS_PATH . DS . $file;
     if (!file_exists($custom)) {
         echo '<strong>Error: </strong>The file "' . $file . '" has not been modified';
         return;
     }
     # Load the diffs
     include CORE_LIB_PATH . DS . 'diff' . DS . 'diff.php';
     $diff = new filediff();
     $text = $diff->inline($base, $custom, 2);
     echo count($diff->changes) . ' changes';
     echo $text;
 }
Exemplo n.º 2
0
if ($mmhclass->info->is_admin == false) {
    $mmhclass->templ->error($mmhclass->lang['002'], true);
}
switch ($mmhclass->input->get_vars['act']) {
    case "filediff":
        $file2compare = $mmhclass->input->get_vars['file'];
        if ($mmhclass->funcs->is_null($file2compare) == true) {
            $mmhclass->templ->error($mmhclass->lang['009'], true);
        } else {
            //
            // This file comparison system should really have file2compare
            // checks, but hopefully a site ADMIN does not try to exploit.
            //
            // They are the site administrators so why exploit own site?
            //
            $diff = new filediff();
            $svn_content = $mmhclass->funcs->get_http_content("http://mihalismmh.googlecode.com/svn/trunk/multihost/{$file2compare}", 1);
            $svn_filename = $mmhclass->funcs->create_tempfile($svn_content);
            $svn_fcontent = file("{$mmhclass->info->root_path}source/tempfiles/{$svn_filename}");
            $mmhclass->funcs->destroy_tempfile($svn_filename);
            $local_fcontent = file("{$mmhclass->info->root_path}{$file2compare}");
            $output_html = $diff->inline($local_fcontent, $svn_fcontent, 2);
            if (count($diff->changes) >= 1) {
                exit($output_html);
            } else {
                $mmhclass->templ->error($mmhclass->lang['486'], true);
            }
        }
        break;
    case "upgrade":
        $changedfiles = $upgrade_packs = array();
 /**
  * Permet de comparer 2 fichiers
  * 
  * @param array $params Liste de paramètres
  * 
  * @return array
  * */
 public function getTexteDifferences($params = array())
 {
     $retour = "";
     if (isset($params['nouveau']) && isset($params['ancien'])) {
         $fd = new filediff();
         // appel de la classe filediff integree au framework
         $fd->set_textes($params['nouveau'], $params['ancien']);
         $fd->execute();
         $retour['html'] = $fd->display();
         //$retour['ancien']
         //$retour['nouveau']
     }
     return $retour;
 }