[ Index ]
 

Code source de WordPress 2.1.2

Accédez au Source d'autres logiciels libresSoutenez Angelica Josefina !

title

Body

[fermer]

/wp-content/themes/default/ -> functions.php (source)

   1  <?php
   2  
   3  function kubrick_head() {
   4      $head = "<style type='text/css'>\n<!--";
   5      $output = '';
   6      if ( kubrick_header_image() ) {
   7          $url =  kubrick_header_image_url() ;
   8          $output .= "#header { background: url('$url') no-repeat bottom center; }\n";
   9      }
  10      if ( false !== ( $color = kubrick_header_color() ) ) {
  11          $output .= "#headerimg h1 a, #headerimg h1 a:visited, #headerimg .description { color: $color; }\n";
  12      }
  13      if ( false !== ( $display = kubrick_header_display() ) ) {
  14          $output .= "#headerimg { display: $display }\n";
  15      }
  16      $foot = "--></style>\n";
  17      if ( '' != $output )
  18          echo $head . $output . $foot;
  19  }
  20  
  21  add_action('wp_head', 'kubrick_head');
  22  
  23  function kubrick_header_image() {
  24      return apply_filters('kubrick_header_image', get_option('kubrick_header_image'));
  25  }
  26  
  27  function kubrick_upper_color() {
  28      if ( strstr( $url = kubrick_header_image_url(), 'header-img.php?' ) ) {
  29          parse_str(substr($url, strpos($url, '?') + 1), $q);
  30          return $q['upper'];
  31      } else
  32          return '69aee7';
  33  }
  34  
  35  function kubrick_lower_color() {
  36      if ( strstr( $url = kubrick_header_image_url(), 'header-img.php?' ) ) {
  37          parse_str(substr($url, strpos($url, '?') + 1), $q);
  38          return $q['lower'];
  39      } else
  40          return '4180b6';
  41  }
  42  
  43  function kubrick_header_image_url() {
  44      if ( $image = kubrick_header_image() )
  45          $url = get_template_directory_uri() . '/images/' . $image;
  46      else
  47          $url = get_template_directory_uri() . '/images/kubrickheader.jpg';
  48  
  49      return $url;
  50  }
  51  
  52  function kubrick_header_color() {
  53      return apply_filters('kubrick_header_color', get_option('kubrick_header_color'));
  54  }
  55  
  56  function kubrick_header_color_string() {
  57      $color = kubrick_header_color();
  58      if ( false === $color )
  59          return 'white';
  60  
  61      return $color;
  62  }
  63  
  64  function kubrick_header_display() {
  65      return apply_filters('kubrick_header_display', get_option('kubrick_header_display'));
  66  }
  67  
  68  function kubrick_header_display_string() {
  69      $display = kubrick_header_display();
  70      return $display ? $display : 'inline';
  71  }
  72  
  73  add_action('admin_menu', 'kubrick_add_theme_page');
  74  
  75  function kubrick_add_theme_page() {
  76      if ( $_GET['page'] == basename(__FILE__) ) {
  77          if ( 'save' == $_REQUEST['action'] ) {
  78              if ( isset($_REQUEST['njform']) ) {
  79                  if ( isset($_REQUEST['defaults']) ) {
  80                      delete_option('kubrick_header_image');
  81                      delete_option('kubrick_header_color');
  82                      delete_option('kubrick_header_display');
  83                  } else {
  84                      if ( '' == $_REQUEST['njfontcolor'] )
  85                          delete_option('kubrick_header_color');
  86                      else
  87                          update_option('kubrick_header_color', $_REQUEST['njfontcolor']);
  88  
  89                      if ( preg_match('/[0-9A-F]{6}|[0-9A-F]{3}/i', $_REQUEST['njuppercolor'], $uc) && preg_match('/[0-9A-F]{6}|[0-9A-F]{3}/i', $_REQUEST['njlowercolor'], $lc) ) {
  90                          $uc = ( strlen($uc[0]) == 3 ) ? $uc[0]{0}.$uc[0]{0}.$uc[0]{1}.$uc[0]{1}.$uc[0]{2}.$uc[0]{2} : $uc[0];
  91                          $lc = ( strlen($lc[0]) == 3 ) ? $lc[0]{0}.$lc[0]{0}.$lc[0]{1}.$lc[0]{1}.$lc[0]{2}.$lc[0]{2} : $lc[0];
  92                          update_option('kubrick_header_image', "header-img.php?upper=$uc&amp;lower=$lc");
  93                      }
  94  
  95                      if ( isset($_REQUEST['toggledisplay']) ) {
  96                          if ( false === get_option('kubrick_header_display') )
  97                              update_option('kubrick_header_display', 'none');
  98                          else
  99                              delete_option('kubrick_header_display');
 100                      }
 101                  }
 102              } else {
 103  
 104                  if ( isset($_REQUEST['headerimage']) ) {
 105                      if ( '' == $_REQUEST['headerimage'] )
 106                          delete_option('kubrick_header_image');
 107                      else
 108                          update_option('kubrick_header_image', $_REQUEST['headerimage']);
 109                  }
 110  
 111                  if ( isset($_REQUEST['fontcolor']) ) {
 112                      if ( '' == $_REQUEST['fontcolor'] )
 113                          delete_option('kubrick_header_color');
 114                      else
 115                          update_option('kubrick_header_color', $_REQUEST['fontcolor']);
 116                  }
 117  
 118                  if ( isset($_REQUEST['fontdisplay']) ) {
 119                      if ( '' == $_REQUEST['fontdisplay'] || 'inline' == $_REQUEST['fontdisplay'] )
 120                          delete_option('kubrick_header_display');
 121                      else
 122                          update_option('kubrick_header_display', 'none');
 123                  }
 124              }
 125              //print_r($_REQUEST);
 126              wp_redirect("themes.php?page=functions.php&saved=true");
 127              die;
 128          }
 129          add_action('admin_head', 'kubrick_theme_page_head');
 130      }
 131      add_theme_page('Customize Header', 'Header Image and Color', 'edit_themes', basename(__FILE__), 'kubrick_theme_page');
 132  }
 133  
 134  function kubrick_theme_page_head() {
 135  ?>
 136  <script type="text/javascript" src="../wp-includes/js/colorpicker.js"></script>
 137  <script type='text/javascript'>
 138  // <![CDATA[
 139  	function pickColor(color) {
 140          ColorPicker_targetInput.value = color;
 141          kUpdate(ColorPicker_targetInput.id);
 142      }
 143  	function PopupWindow_populate(contents) {
 144          contents += '<br /><p style="text-align:center;margin-top:0px;"><input type="button" value="Close Color Picker" onclick="cp.hidePopup(\'prettyplease\')"></input></p>';
 145          this.contents = contents;
 146          this.populated = false;
 147      }
 148  	function PopupWindow_hidePopup(magicword) {
 149          if ( magicword != 'prettyplease' )
 150              return false;
 151          if (this.divName != null) {
 152              if (this.use_gebi) {
 153                  document.getElementById(this.divName).style.visibility = "hidden";
 154              }
 155              else if (this.use_css) {
 156                  document.all[this.divName].style.visibility = "hidden";
 157              }
 158              else if (this.use_layers) {
 159                  document.layers[this.divName].visibility = "hidden";
 160              }
 161          }
 162          else {
 163              if (this.popupWindow && !this.popupWindow.closed) {
 164                  this.popupWindow.close();
 165                  this.popupWindow = null;
 166              }
 167          }
 168          return false;
 169      }
 170  	function colorSelect(t,p) {
 171          if ( cp.p == p && document.getElementById(cp.divName).style.visibility != "hidden" )
 172              cp.hidePopup('prettyplease');
 173          else {
 174              cp.p = p;
 175              cp.select(t,p);
 176          }
 177      }
 178  	function PopupWindow_setSize(width,height) {
 179          this.width = 162;
 180          this.height = 210;
 181      }
 182  
 183      var cp = new ColorPicker();
 184  	function advUpdate(val, obj) {
 185          document.getElementById(obj).value = val;
 186          kUpdate(obj);
 187      }
 188  	function kUpdate(oid) {
 189          if ( 'uppercolor' == oid || 'lowercolor' == oid ) {
 190              uc = document.getElementById('uppercolor').value.replace('#', '');
 191              lc = document.getElementById('lowercolor').value.replace('#', '');
 192              hi = document.getElementById('headerimage');
 193              hi.value = 'header-img.php?upper='+uc+'&lower='+lc;
 194              document.getElementById('header').style.background = 'url("<?php echo get_template_directory_uri(); ?>/images/'+hi.value+'") center no-repeat';
 195              document.getElementById('advuppercolor').value = '#'+uc;
 196              document.getElementById('advlowercolor').value = '#'+lc;
 197          }
 198          if ( 'fontcolor' == oid ) {
 199              document.getElementById('header').style.color = document.getElementById('fontcolor').value;
 200              document.getElementById('advfontcolor').value = document.getElementById('fontcolor').value;
 201          }
 202          if ( 'fontdisplay' == oid ) {
 203              document.getElementById('headerimg').style.display = document.getElementById('fontdisplay').value;
 204          }
 205      }
 206  	function toggleDisplay() {
 207          td = document.getElementById('fontdisplay');
 208          td.value = ( td.value == 'none' ) ? 'inline' : 'none';
 209          kUpdate('fontdisplay');
 210      }
 211  	function toggleAdvanced() {
 212          a = document.getElementById('jsAdvanced');
 213          if ( a.style.display == 'none' )
 214              a.style.display = 'block';
 215          else
 216              a.style.display = 'none';
 217      }
 218  	function kDefaults() {
 219          document.getElementById('headerimage').value = '';
 220          document.getElementById('advuppercolor').value = document.getElementById('uppercolor').value = '#69aee7';
 221          document.getElementById('advlowercolor').value = document.getElementById('lowercolor').value = '#4180b6';
 222          document.getElementById('header').style.background = 'url("<?php echo get_template_directory_uri(); ?>/images/kubrickheader.jpg") center no-repeat';
 223          document.getElementById('header').style.color = '#FFFFFF';
 224          document.getElementById('advfontcolor').value = document.getElementById('fontcolor').value = '';
 225          document.getElementById('fontdisplay').value = 'inline';
 226          document.getElementById('headerimg').style.display = document.getElementById('fontdisplay').value;
 227      }
 228  	function kRevert() {
 229          document.getElementById('headerimage').value = '<?php echo kubrick_header_image(); ?>';
 230          document.getElementById('advuppercolor').value = document.getElementById('uppercolor').value = '#<?php echo kubrick_upper_color(); ?>';
 231          document.getElementById('advlowercolor').value = document.getElementById('lowercolor').value = '#<?php echo kubrick_lower_color(); ?>';
 232          document.getElementById('header').style.background = 'url("<?php echo kubrick_header_image_url(); ?>") center no-repeat';
 233          document.getElementById('header').style.color = '';
 234          document.getElementById('advfontcolor').value = document.getElementById('fontcolor').value = '<?php echo kubrick_header_color_string(); ?>';
 235          document.getElementById('fontdisplay').value = '<?php echo kubrick_header_display_string(); ?>';
 236          document.getElementById('headerimg').style.display = document.getElementById('fontdisplay').value;
 237      }
 238  	function kInit() {
 239          document.getElementById('jsForm').style.display = 'block';
 240          document.getElementById('nonJsForm').style.display = 'none';
 241      }
 242      addLoadEvent(kInit);
 243  // ]]>
 244  </script>
 245  <style type='text/css'>
 246      #headwrap {
 247          text-align: center;
 248      }
 249      #kubrick-header {
 250          font-size: 80%;
 251      }
 252      #kubrick-header .hibrowser {
 253          width: 780px;
 254          height: 260px;
 255          overflow: scroll;
 256      }
 257      #kubrick-header #hitarget {
 258          display: none;
 259      }
 260      #kubrick-header #header h1 {
 261          font-family: 'Trebuchet MS', 'Lucida Grande', Verdana, Arial, Sans-Serif;
 262          font-weight: bold;
 263          font-size: 4em;
 264          text-align: center;
 265          padding-top: 70px;
 266          margin: 0;
 267      }
 268  
 269      #kubrick-header #header .description {
 270          font-family: 'Lucida Grande', Verdana, Arial, Sans-Serif;
 271          font-size: 1.2em;
 272          text-align: center;
 273      }
 274      #kubrick-header #header {
 275          text-decoration: none;
 276          color: <?php echo kubrick_header_color_string(); ?>;
 277          padding: 0;
 278          margin: 0;
 279          height: 200px;
 280          text-align: center;
 281          background: url('<?php echo kubrick_header_image_url(); ?>') center no-repeat;
 282      }
 283      #kubrick-header #headerimg {
 284          margin: 0;
 285          height: 200px;
 286          width: 100%;
 287          display: <?php echo kubrick_header_display_string(); ?>;
 288      }
 289      #jsForm {
 290          display: none;
 291          text-align: center;
 292      }
 293      #jsForm input.submit, #jsForm input.button, #jsAdvanced input.button {
 294          padding: 0px;
 295          margin: 0px;
 296      }
 297      #advanced {
 298          text-align: center;
 299          width: 620px;
 300      }
 301      html>body #advanced {
 302          text-align: center;
 303          position: relative;
 304          left: 50%;
 305          margin-left: -380px;
 306      }
 307      #jsAdvanced {
 308          text-align: right;
 309      }
 310      #nonJsForm {
 311          position: relative;
 312          text-align: left;
 313          margin-left: -370px;
 314          left: 50%;
 315      }
 316      #nonJsForm label {
 317          padding-top: 6px;
 318          padding-right: 5px;
 319          float: left;
 320          width: 100px;
 321          text-align: right;
 322      }
 323      .defbutton {
 324          font-weight: bold;
 325      }
 326      .zerosize {
 327          width: 0px;
 328          height: 0px;
 329          overflow: hidden;
 330      }
 331      #colorPickerDiv a, #colorPickerDiv a:hover {
 332          padding: 1px;
 333          text-decoration: none;
 334          border-bottom: 0px;
 335      }
 336  </style>
 337  <?php
 338  }
 339  
 340  function kubrick_theme_page() {
 341      if ( $_REQUEST['saved'] ) echo '<div id="message" class="updated fade"><p><strong>Options saved.</strong></p></div>';
 342  ?>
 343  <div class='wrap'>
 344      <div id="kubrick-header">
 345          <h2>Header Image and Color</h2>
 346          <div id="headwrap">
 347              <div id="header">
 348                  <div id="headerimg">
 349                      <h1><?php bloginfo('name'); ?></h1>
 350                      <div class="description"><?php bloginfo('description'); ?></div>
 351                  </div>
 352              </div>
 353          </div>
 354          <br />
 355          <div id="nonJsForm">
 356              <form method="post" action="">
 357                  <div class="zerosize"><input type="submit" name="defaultsubmit" value="Save" /></div>
 358                  <label for="njfontcolor">Font Color:</label><input type="text" name="njfontcolor" id="njfontcolor" value="<?php echo kubrick_header_color(); ?>" /> Any CSS color (<code>red</code> or <code>#FF0000</code> or <code>rgb(255, 0, 0)</code>)<br />
 359                  <label for="njuppercolor">Upper Color:</label><input type="text" name="njuppercolor" id="njuppercolor" value="#<?php echo kubrick_upper_color(); ?>" /> HEX only (<code>#FF0000</code> or <code>#F00</code>)<br />
 360                  <label for="njlowercolor">Lower Color:</label><input type="text" name="njlowercolor" id="njlowercolor" value="#<?php echo kubrick_lower_color(); ?>" /> HEX only (<code>#FF0000</code> or <code>#F00</code>)<br />
 361                  <input type="hidden" name="hi" id="hi" value="<?php echo kubrick_header_image(); ?>" />
 362                  <input type="submit" name="toggledisplay" id="toggledisplay" value="Toggle Text" />
 363                  <input type="submit" name="defaults" value="Use Defaults" />
 364                  <input type="submit" class="defbutton" name="submitform" value="&nbsp;&nbsp;Save&nbsp;&nbsp;" />
 365                  <input type="hidden" name="action" value="save" />
 366                  <input type="hidden" name="njform" value="true" />
 367              </form>
 368          </div>
 369          <div id="jsForm">
 370              <form style="display:inline;" method="post" name="hicolor" id="hicolor" action="<?php echo $_SERVER['REQUEST_URI']; ?>">
 371                  <input type="button" onclick="tgt=document.getElementById('fontcolor');colorSelect(tgt,'pick1');return false;" name="pick1" id="pick1" value="Font Color"></input>
 372                  <input type="button" onclick="tgt=document.getElementById('uppercolor');colorSelect(tgt,'pick2');return false;" name="pick2" id="pick2" value="Upper Color"></input>
 373                  <input type="button" onclick="tgt=document.getElementById('lowercolor');colorSelect(tgt,'pick3');return false;" name="pick3" id="pick3" value="Lower Color"></input>
 374                  <input type="button" name="revert" value="Revert" onclick="kRevert()" />
 375                  <input type="button" value="Advanced" onclick="toggleAdvanced()" />
 376                  <input type="hidden" name="action" value="save" />
 377                  <input type="hidden" name="fontdisplay" id="fontdisplay" value="<?php echo kubrick_header_display(); ?>" />
 378                  <input type="hidden" name="fontcolor" id="fontcolor" value="<?php echo kubrick_header_color(); ?>" />
 379                  <input type="hidden" name="uppercolor" id="uppercolor" value="<?php echo kubrick_upper_color(); ?>" />
 380                  <input type="hidden" name="lowercolor" id="lowercolor" value="<?php echo kubrick_lower_color(); ?>" />
 381                  <input type="hidden" name="headerimage" id="headerimage" value="<?php echo kubrick_header_image(); ?>" />
 382                  <p class="submit"><input type="submit" name="submitform" class="defbutton" value="<?php _e('Update Header &raquo;'); ?>" onclick="cp.hidePopup('prettyplease')" /></p>
 383              </form>
 384              <div id="colorPickerDiv" style="z-index: 100;background:#eee;border:1px solid #ccc;position:absolute;visibility:hidden;"> </div>
 385              <div id="advanced">
 386                  <form id="jsAdvanced" style="display:none;" action="">
 387                      <label for="advfontcolor">Font Color (CSS): </label><input type="text" id="advfontcolor" onchange="advUpdate(this.value, 'fontcolor')" value="<?php echo kubrick_header_color(); ?>" /><br />
 388                      <label for="advuppercolor">Upper Color (HEX): </label><input type="text" id="advuppercolor" onchange="advUpdate(this.value, 'uppercolor')" value="#<?php echo kubrick_upper_color(); ?>" /><br />
 389                      <label for="advlowercolor">Lower Color (HEX): </label><input type="text" id="advlowercolor" onchange="advUpdate(this.value, 'lowercolor')" value="#<?php echo kubrick_lower_color(); ?>" /><br />
 390                      <input type="button" name="default" value="Select Default Colors" onclick="kDefaults()" /><br />
 391                      <input type="button" onclick="toggleDisplay();return false;" name="pick" id="pick" value="Toggle Text Display"></input><br />
 392                  </form>
 393              </div>
 394          </div>
 395      </div>
 396  </div>
 397  <?php } ?>


Généré le : Fri Mar 30 19:41:27 2007 par Balluche grâce à PHPXref 0.7