Objectif : Obtenir l'onglet de script (voir ci-dessous)

Listes des fichiers Modifiés & Ajoutés : (Lignes de Code)
  • Dans le répertoire themes\customCSS modification du fichier _public.php
  • Dans le répertoire themes\customCSS modification du fichier _head.html
  • Dans le répertoire themes\customCSS ajout du fichier _config_script.php
  • Dans le répertoire admin modification du fichier blog_theme.php
Listes des fichiers Modifiés : (Langues Fr)
  • Dans le répertoire themes\customCSS\locales\fr modification du fichier main.lang.php
  • Dans le répertoire locales\fr modification du fichier main.lang.php
Un peu de PHP :) :
  • Fichier _public.php (Ajouter à la fin avant ?>)

  • $core->tpl->addValue('CustomSCRIPT',array('tplCustomScript','CustomSCRIPT'));
    class tplCustomScript
    {
       public static function CustomSCRIPT($attr)
       {
          $f = $GLOBALS['core']->tpl->getFilters($attr);
          return '<?php echo '.sprintf($f,'$core->blog->settings->public_url."/custom_script.js"').'; ?>';
       }
    }


  • Fichier _head.html (Ajouter à la fin)

  • <script type="text/javascript" language="javascript">
       @import url({{tpl:CustomSCRIPT encode_xml="1"}});
    </script>


  • _config_script.php (Créer le fichier)

  • <?php
    l10n::set(dirname(__FILE__).'/locales/'.$_lang.'/main');
    $js_file = path::real($core->blog->public_path).'/custom_script.js';

    if (!is_file($js_file) && !is_writable(dirname($js_file))) {
       throw new Exception(
          sprintf(__('File %s does not exist and directory %s is not writable.'),
          $js_file,dirname($js_file))
       );
    }

    if (isset($_POST['js']))
    {
       @$fp = fopen($js_file,'wb');
       fwrite($fp,$_POST['js']);
       fclose($fp);

       echo
       '<div class="message"><p>'.__('Script Code upgraded.').'</p></div>';
    }

    $js_content = is_file($js_file) ? file_get_contents($js_file) : '';

    echo
    '<p class="area"><label>'.__('Script Code:').' '.form::textarea('js',60,20,html::escapeHTML($js_content)).'</label></p>';
    ?>


  • Fichier blog_theme.php (Ajouter avant dcPage::close();)

  • $theme_config_script_file = path::real($core->blog->themes_path.'/'.$core->blog->settings->theme).'/_config_script.php';
    if (file_exists($theme_config_script_file))
    {
       echo '<div class="multi-part" id="theme_config_script" title="'.__('Script configuration').'">';

       try
       {
          echo '<form action="blog_theme.php" method="post">';

          include $theme_config_script_file;

          echo '<p class="clear"><input type="submit" value="'.__('save').'" />'.form::hidden('tab','theme_config_script').'</p>'.'</form>';
       }
       catch (Exception $e)
       {
          echo '<div class="error"><p>'.$e->getMessage().'</p></div>';
       }

       echo '</div>';
    }


  • Fichier locales\fr\main.lang.php (Ajouter à la fin avant ?>)

  • $GLOBALS['__l10n']['Script configuration'] = 'Configuration javascript';


  • Fichier themes\customCSS\locales\fr\main.lang.php (Ajouter à la fin avant ?>)

  • $GLOBALS['__l10n']['Script Code:'] = 'Script javascript :';
    $GLOBALS['__l10n']['Script Code upgraded.'] = 'Script mis à jour.';

Bon ben voilà si vous avez lu jusqu'à la je vous tire mon chapeau :)

Billets en rapport