Changeset 72 for trunk


Ignore:
Timestamp:
Feb 6, 2009, 9:00:42 PM (16 years ago)
Author:
george
Message:
  • Upraveno: Automatická změna výšky prvků textarea při editaci překladů pomocí javascriptu.
Location:
trunk
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/form.php

    r71 r72  
    4848   
    4949//    Speciální znaky: $B - Odřádkování, $N - Jméno, $C - povolání
    50   echo('<form action="save.php?group='.$GroupId.'" method="post">');
     50  echo('<form action="save.php?group='.$GroupId.'" method="post"><div>');
    5151  if(Licence(LICENCE_USER))
    5252  {
    53     echo('<input type="submit" value="Uložit do rozepsaných" name="save" Title="Klikněte na uložit pro pozdější dokončení překladu" />
    54     <input type="submit" value="Dokončeno" name="End" Title="Klikněte na Dokončeno jesli jsou všechny texty hotové a chcete již publikovat" />');
     53    echo('<input type="submit" value="Uložit do rozepsaných" name="save" title="Klikněte na uložit pro pozdější dokončení překladu" />
     54    <input type="submit" value="Dokončeno" name="End" title="Klikněte na Dokončeno jesli jsou všechny texty hotové a chcete již publikovat" />');
    5555  }
    5656
     
    6060    <table border="1" cellpadding="1" cellspacing="0">
    6161      <tr>
    62         <th>Číslo textu: <a Title="Zobrazit text na wowhead.com" href="http://www.wowhead.com/?quest='.$LineAJ['entry'].'">'.$LineAJ['entry'].'</a></th>
     62        <th>Číslo textu: <a href="http://www.wowhead.com/?quest='.$LineAJ['entry'].'">'.$LineAJ['entry'].'</a></th>
    6363        <th>Nepřeložené</th>
    6464        <th>Přeložené</th>
     
    6666      <tr>
    6767        <th>Jazyk</th>
    68         <td width="300">Anglický</td>
     68        <td>Anglický</td>
    6969        <td>
    7070          Přeloženo do:');
    7171  if($Line['Language'] <> 0) $Language = $Line['Language'];
    72   else
     72  else if($_SESSION['UserID'] != '')
    7373  {
    74     $IDUser = $Database->SQLCommand('SELECT * FROM user Where id = '.@$_SESSION['UserID']);
     74    $IDUser = $Database->SQLCommand('SELECT * FROM user WHERE id = '.$_SESSION['UserID']);
    7575    $LineUser = mysql_fetch_array($IDUser);
    7676    $Language = $LineUser['Language'];  //jiný user vyčítám
    77   }
     77  } else $Language = 0;
    7878  WriteLanguages($Language);
    79   echo('</td></tr><tr>');
     79  echo('</td></tr>');
    8080  foreach($TranslationTree[$GroupId]['Items'] as $Index => $TextItem)
    8181  {         
     
    8383    echo('<tr>
    8484      <th>'.$TextItem['Name'].'</th>
    85       <td width="300">'.htmlspecialchars($LineAJ[$TextItem['Column']]).'</td>
    86       <td><textarea rows="8" style="width: 300px; height=100%;" id="'.$TextItem['Column'].'" name="'.$TextItem['Column'].'">'.htmlspecialchars($Line[$TextItem['Column']]).'</textarea></td></tr>');
     85      <td>'.htmlspecialchars($LineAJ[$TextItem['Column']]).'</td>
     86      <td><textarea rows="8" cols="40" onkeydown="ResizeTextArea(this)" class="textedit" id="'.$TextItem['Column'].'" name="'.$TextItem['Column'].'">'.htmlspecialchars($Line[$TextItem['Column']]).'</textarea></td></tr>');
    8787  }
    88   echo('</table>           
    89   </form>');
     88  echo('</table></div></form>');
    9089} else
    9190{
  • trunk/includes/global.php

    r71 r72  
    144144echo('<title>Projekt překládání textů WoW</title>
    145145</head>
    146 <body onload="adjustRows(document.getElementById(\'Details\'));">');
     146<body>');
    147147
    148148if(!array_key_exists('UserID', $_SESSION)) $_SESSION['UserID'] = '';
  • trunk/style/global.js

    r71 r72  
    1111}
    1212
    13 function adjustRows(textarea)
     13function getAppVersion()
    1414{
    15   if(document.all)
     15  appname = navigator.appName;
     16  appversion = navigator.appVersion;
     17  majorver = appversion.substring(0, 1);
     18  if ( (appname == "Netscape") && ( majorver >= 3 ) ) return 1;
     19  if ( (appname == "Microsoft Internet Explorer") && (majorver >= 4) ) return 1;
     20  return 0;
     21}
     22
     23function ResizeTextArea(t)
     24{
     25  a = t.value.split('\n');
     26  //if(getAppVersion()) b = 3; else
     27  b = 1;
     28  for(x = 0; x < a.length; x++)
    1629  {
    17     while(textarea.scrollHeight > textarea.clientHeight)
    18       textarea.rows++;
    19     textarea.scrollTop = 0;
     30    if(a[x].length >= t.cols) b += Math.floor(a[x].length / t.cols);
    2031  }
    21   else if(textarea.rows)
     32  b += a.length;
     33  //if(b > t.rows)
     34  t.rows = b;
     35}
     36
     37onload = function()
     38{
     39  if (document.getElementsByClassName == undefined)
    2240  {
    23         textarea.rows = 30;
    24     /*
    25         var lineBreaks = 50;//countLineBreaks(textarea.value);
    26     var rows = parseInt(textarea.rows);
    27     var wrap = textarea.getAttribute('wrap');
    28     if(lineBreaks > rows)
    29           textarea.rows = ++rows;
    30     else if(wrap.toLowerCase() == 'soft' || wrap.toLowerCase() == 'hard')
     41        document.getElementsByClassName = function(className)
    3142        {
    32       while(textarea.rows * textarea.cols <= textarea.value.length)
    33           {
    34         textarea.rows = 4; //++rows;
    35       }
    36     }
    37         */
     43                var hasClassName = new RegExp("(?:^|\\s)" + className + "(?:$|\\s)");
     44                var allElements = document.getElementsByTagName("*");
     45                var results = [];
     46
     47                var element;
     48                for (var i = 0; (element = allElements[i]) != null; i++)
     49                {
     50                        var elementClass = element.className;
     51                        if (elementClass && elementClass.indexOf(className) != -1 && hasClassName.test(elementClass))
     52                                results.push(element);
     53                }
     54
     55                return results;
     56        }
     57       
     58  }
     59
     60  arr = document.getElementsByClassName('textedit');
     61  for (i = 0; i < arr.length; i++)
     62  {
     63    ResizeTextArea(arr[i]);
    3864  }
    3965}
     66
Note: See TracChangeset for help on using the changeset viewer.