사용자 별 ?TimeZone 설정하는 patch

  • moniwiki-1.1.0 용
  • 고친 내용
    • 사용자 생성때 Time Zone 받아서 userinfo에 넣음
    • 사용자 수정때 Time Zone 고침
    • wiki.php에서 userinfo 불러들일때 userinfo->info['timezone']이 빈 문자열이 아니면 putenv
  • 사용 방법
    • 아래 내용을 잘 긁어서 moniwiki-1.1.0-usertimezone.patch 정도로 저장한다.
    • moniwiki가 담긴 디렉토리가 보이는 위치에서 patch -p0 < moniwiki-1.1.0-usertimezone.patch

슬프게스리, moniwiki개발 버젼에서는 이미 이 기능이 추가 되었다 -_-;;


diff -uNr moniwiki-1.1.0.orig/plugin/userform.php moniwiki/plugin/userform.php
--- moniwiki-1.1.0.orig/plugin/userform.php	2004-10-21 17:27:01.000000000 +0900
+++ moniwiki/plugin/userform.php	2006-02-23 13:07:10.000000000 +0900
@@ -97,6 +97,7 @@
              $options['id']=$user->id;
              $ticket=md5(time().$user->id.$options['email']);
              $user->info['eticket']=$ticket.".".$options['email'];
+	     $user->info['timezone']=$options['timezone'];
              $formatter->header($user->setCookie());
              $ret=$udb->addUser($user);
 
@@ -163,6 +164,8 @@
         $options['msg']=_("Your email address is not valid");
       }
     }
+    if (isset($options['timezone']))
+      $userinfo->info['timezone']=$options['timezone'];
     $udb->saveUser($userinfo);
     #$options['css_url']=$options['user_css'];
     if (!isset($options['msg']))
diff -uNr moniwiki-1.1.0.orig/wikilib.php moniwiki/wikilib.php
--- moniwiki-1.1.0.orig/wikilib.php	2005-08-08 22:13:36.000000000 +0900
+++ moniwiki/wikilib.php	2006-02-23 14:02:11.000000000 +0900
@@ -253,7 +253,7 @@
   }
 
   function saveUser($user) {
-    $config=array("css_url","datatime_fmt","email","bookmark","language",
+    $config=array("css_url","datatime_fmt","email","timezone","bookmark","language",
                   "name","password","wikiname_add_spaces","subscribed_pages",
                   "scrapped_pages","quicklinks","theme","ticket","eticket");
 
@@ -1330,6 +1330,7 @@
       $again="<b>"._("password again")."</b>&nbsp;<input type='password' size='15' maxlength='12' name='passwordagain' value='' /></td></tr>";
       $extra=<<<EXTRA
   <tr><td><b>Mail</b>&nbsp;</td><td><input type="text" size="40" name="email" value="$email" /></td></tr>
+  <tr><td><b>Time Zone</b>&nbsp;</td><td><input type='timezone' size='10' maxlength='10' name='timezone' value='' /></td></tr>
 EXTRA;
     } else {
       $button=_("Login or Join");
@@ -1338,10 +1339,12 @@
     $button=_("Save");
     $css=$user->info['css_url'];
     $email=$user->info['email'];
+    $timezone=$user->info['timezone'];
     $again="<b>"._("New password")."</b>&nbsp;<input type='password' size='15' maxlength='12' name='passwordagain' value='' /></td></tr>";
 
     $extra=<<<EXTRA
   <tr><td><b>Mail</b>&nbsp;</td><td><input type="text" size="40" name="email" value="$email" /></td></tr>
+  <tr><td><b>Time Zone</b>&nbsp;</td><td><input type='timezone' size='10' maxlength='10' name='timezone' value='$timezone' /></td></tr>
   <tr><td><b>CSS URL </b>&nbsp;</td><td><input type="text" size="40" name="user_css" value="$css" /><br />("None" for disabling CSS)</td></tr>
 EXTRA;
     $logout="<input type='submit' name='logout' value='"._("logout")."' /> &nbsp;";
@@ -1356,6 +1359,7 @@
   <tr>
      <td><b>Password</b>&nbsp;</td><td><input type="password" size="15" maxlength="12" name="password" value="$passwd" />
     $again
+    $usertimezone
     $extra
   <tr><td></td><td>
     <input type="submit" name="login" value="$button" /> &nbsp;
diff -uNr moniwiki-1.1.0.orig/wiki.php moniwiki/wiki.php
--- moniwiki-1.1.0.orig/wiki.php	2005-08-05 17:51:39.000000000 +0900
+++ moniwiki/wiki.php	2006-02-23 13:37:23.000000000 +0900
@@ -3279,6 +3279,11 @@
     $options['css_url']=$user->css;
     if (!$theme) $options['theme']=$user->theme;
   }
+
+  # If user defined timezone
+  if ($userinfo->info['timezone'] != "") {
+    putenv('TZ='.$userinfo->info['timezone']);
+  }
 } else {
   $options['css_url']=$user->css;
   if (!$theme) $options['theme']=$user->theme;


RecentChanges


RandomPages

BoardMacro
CategoryMacro
NetworkDrive
서양골동양과자점
파괴지왕
현진영
june8th/2005-06
june8th/2007-01
oleeve/2005-08
eric-seidel-poker-75