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; }
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; }