Вход Регистрация
Файл: htmlpurifier-4.3.0/maintenance/add-vimline.php
Строк: 94
#!/usr/bin/php
<?php

chdir
(dirname(__FILE__));
require_once 
'common.php';
assertCli();

/**
 * @file
 * Adds vimline to files
 */

chdir(dirname(__FILE__) . '/..');
$FS = new FSTools();

$vimline = 'vim: et sw=4 sts=4';

$files = $FS->globr('.', '*');
foreach (
$files as $file) {
    if (
        !
is_file($file) ||
        
prefix_is('./docs/doxygen', $file) ||
        
prefix_is('./library/standalone', $file) ||
        
prefix_is('./docs/specimens', $file) ||
        
postfix_is('.ser', $file) ||
        
postfix_is('.tgz', $file) ||
        
postfix_is('.patch', $file) ||
        
postfix_is('.dtd', $file) ||
        
postfix_is('.ent', $file) ||
        
postfix_is('.png', $file) ||
        
postfix_is('.ico', $file) ||
        
// wontfix
        
postfix_is('.vtest', $file) ||
        
postfix_is('.svg', $file) ||
        
postfix_is('.phpt', $file) ||
        
postfix_is('VERSION', $file) ||
        
postfix_is('WHATSNEW', $file) ||
        
postfix_is('FOCUS', $file) ||
        
postfix_is('configdoc/usage.xml', $file) ||
        
postfix_is('library/HTMLPurifier.includes.php', $file) ||
        
postfix_is('library/HTMLPurifier.safe-includes.php', $file) ||
        
postfix_is('smoketests/xssAttacks.xml', $file) ||
        
// phpt files
        
postfix_is('.diff', $file) ||
        
postfix_is('.exp', $file) ||
        
postfix_is('.log', $file) ||
        
postfix_is('.out', $file) ||

        
$file == './library/HTMLPurifier/Lexer/PH5P.php' ||
        
$file == './maintenance/PH5P.php'
    
) continue;
    
$ext = strrchr($file, '.');
    if (
        
postfix_is('README', $file) ||
        
postfix_is('LICENSE', $file) ||
        
postfix_is('CREDITS', $file) ||
        
postfix_is('INSTALL', $file) ||
        
postfix_is('NEWS', $file) ||
        
postfix_is('TODO', $file) ||
        
postfix_is('WYSIWYG', $file) ||
        
postfix_is('Changelog', $file)
    ) 
$ext = '.txt';
    if (
postfix_is('Doxyfile', $file)) $ext = 'Doxyfile';
    if (
postfix_is('.php.in', $file)) $ext = '.php';
    
$no_nl = false;
    switch (
$ext) {
        case 
'.php':
        case 
'.inc':
        case 
'.js':
            
$line = '// %s';
            break;
        case 
'.html':
        case 
'.xsl':
        case 
'.xml':
        case 
'.htc':
            
$line = "<!-- %sn-->";
            break;
        case 
'.htmlt':
            
$no_nl = true;
            
$line = '--# %s';
            break;
        case 
'.ini':
            
$line = '; %s';
            break;
        case 
'.css':
            
$line = '/* %s */';
            break;
        case 
'.bat':
            
$line = 'rem %s';
            break;
        case 
'.txt':
        case 
'.utf8':
            if (
                
prefix_is('./library/HTMLPurifier/ConfigSchema', $file) ||
                
prefix_is('./smoketests/test-schema', $file) ||
                
prefix_is('./tests/HTMLPurifier/StringHashParser', $file)
            ) {
                
$no_nl = true;
                
$line = '--# %s';
            } else {
                
$line = '    %s';
            }
            break;
        case 
'Doxyfile':
            
$line = '# %s';
            break;
        default:
            throw new 
Exception('Unknown file: ' . $file);
    }

    echo 
"$filen";
    
$contents = file_get_contents($file);

    
$regex = '~' . str_replace('%s', 'vim: .+', preg_quote($line, '~')) .  '~m';
    
$contents = preg_replace($regex, '', $contents);

    
$contents = rtrim($contents);

    if (
strpos($contents, "rn") !== false) $nl = "rn";
    elseif (
strpos($contents, "n") !== false) $nl = "n";
    elseif (
strpos($contents, "r") !== false) $nl = "r";
    else 
$nl = PHP_EOL;

    if (!
$no_nl) $contents .= $nl;
    
$contents .= $nl . str_replace('%s', $vimline, $line) . $nl;

    
file_put_contents($file, $contents);

}

// vim: et sw=4 sts=4
Онлайн: 2
Реклама