Changeset 4116


Ignore:
Timestamp:
2003-04-09T15:52:04+12:00 (21 years ago)
Author:
mdewsnip
Message:

Minor user interface improvements.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/gsdl/src/recpt/langaction.cpp

    r4107 r4116  
    2424 *********************************************************************/
    2525
     26#include <ctype.h>
    2627#include <stdio.h>
    2728#include <fstream.h>
     
    227228  }
    228229
     230  // Case fold the target language
     231  for (int i = 0; i < strlen(lang.getcstr()); i++) {
     232    lang[i] = tolower(lang[i]);
     233  }
     234
     235  // Make sure the source and target languages are different!
     236  if (strcmp(baselanguage.getcstr(), lang.getcstr()) == 0) {
     237    logout << "Same language!" << endl;
     238    args["p"] = "translang";
     239    pageno = "picklanguage";
     240    define_webpage(disp, protos, logout, pageno, lang, dir, pagenos, text, baselanguage, true);
     241    return;
     242  }
     243
    229244  // logout << "Lang: " << lang << " Baselanguage: " << baselanguage << endl;
    230245  text_t translation = baselanguage + "-" + lang;
     
    254269    }
    255270   
    256     define_webpage(disp, protos, logout, pageno, lang, trans_dir, pagenos, text, baselanguage);
     271    define_webpage(disp, protos, logout, pageno, lang, trans_dir, pagenos, text, baselanguage, false);
    257272    return;
    258273  }
     
    277292    logout << "@ the 1st pg\n";
    278293    cmd = "perl " + filename_cat(gsdlhome, "bin", "script", "picklanguage.pl");
    279     logout << cmd << " PICKLANGUAGE\n" <<endl;
     294    logout << cmd << endl;
    280295    if(gsdl_system(cmd,true,logout) != 0)
    281296      return;
    282     define_webpage(disp, protos, logout, pageno, lang, dir, pagenos, text, baselanguage);
     297    define_webpage(disp, protos, logout, pageno, lang, dir, pagenos, text, baselanguage, false);
    283298   
    284299    return;
     
    326341
    327342  pagenos = get_pagenos(trans_dir, lang, logout);
    328   define_webpage(disp, protos, logout, pageno, lang, trans_dir, pagenos, text, baselanguage);
     343  define_webpage(disp, protos, logout, pageno, lang, trans_dir, pagenos, text, baselanguage, false);
    329344}
    330345
     
    354369void langaction::define_webpage (displayclass &disp,
    355370                 recptprotolistclass *protos, ostream &logout,
    356                  text_t pageno, text_t &lang, text_t &dir,
    357                  text_tarray &pagenos, text_t &text, text_t &baselanguage) {
     371                 text_t pageno, text_t &lang, text_t dir,
     372                 text_tarray &pagenos, text_t &text, text_t &baselanguage,
     373                 bool error) {
    358374 
    359375  // produces HTML page with the current pages contents
     
    375391  text += "\n<input type=hidden name=\"p\" value=\"translang_";
    376392  text += pageno;
    377   text += "\">\n";
     393  text += "\">";
    378394  text += "\n<input type=hidden name=\"e\" value=\"_decodedcompressedoptions_\">";
    379395 
     
    387403    text += " _textof_ ";
    388404    text += pagenos.size();
    389     text += "</strong></center><p><p>\n";
     405    text += "</strong></center>\n";
     406
     407    for (text_tarray::iterator page_itr = pagenos.begin();
     408     page_itr != pagenos.end();
     409     page_itr++) {
     410   
     411      if (*page_itr == pageno) {
     412    page_itr++;
     413    text_t temp2;
     414    if (page_itr != pagenos.end())
     415      temp2 = *page_itr;
     416    else
     417      temp2 = "thankyou";
     418       
     419    text += "<a href=\"_gwcgi_?e=_compressedoptions_&a=lang&p=translang_";
     420    text += temp2;
     421    text += "&baselanguage=";
     422    text += baselanguage;
     423    text += "&language=";
     424    text += lang;
     425    text += "\"><strong>";
     426    text += "NEXT>>";
     427    text += "</strong></a>\n";
     428
     429    break;
     430      }
     431      else {
     432    text += "<a href=\"_gwcgi_?e=_compressedoptions_&a=lang&p=translang_";
     433    text += *page_itr;
     434    text += "&baselanguage=";
     435    text += baselanguage;
     436    text += "&language=";
     437    text += lang;
     438    text += "\"><strong>";
     439    text += *page_itr;
     440    text += "</strong></a>\n";
     441      }
     442    }
    390443  }
    391444 
     
    397450  }
    398451  readfile.close();
    399  
     452  if (pageno == "picklanguage" && error) {
     453    text += "<center><strong>Please choose different source and target languages!</strong></center>";
     454  }
     455
    400456  //if not a special case page display translation info
    401457  if ((pageno != "thankyou") && (pageno != "picklanguage") && (pageno != "fromsearch")) {
     
    406462    text += "</strong><br>\n";
    407463
    408    text_t temp2 = "";
    409 
    410    for (text_tarray::iterator page_itr = pagenos.begin();
    411     page_itr != pagenos.end();
    412     page_itr++) {
    413    
    414      if (*page_itr == pageno) {
    415        page_itr++;
    416        if (page_itr != pagenos.end())
    417      temp2 = *page_itr;
    418        else
    419      temp2 = "thankyou";
     464    for (text_tarray::iterator page_itr = pagenos.begin();
     465     page_itr != pagenos.end();
     466     page_itr++) {
     467   
     468      if (*page_itr == pageno) {
     469    page_itr++;
     470    text_t temp2;
     471    if (page_itr != pagenos.end())
     472      temp2 = *page_itr;
     473    else
     474      temp2 = "thankyou";
    420475       
    421        text += "<a href=\"_gwcgi_?e=_compressedoptions_&a=lang&p=translang_";
    422        text += temp2;
    423        text += "&baselanguage=";
    424        text += baselanguage;
    425        text += "&language=";
    426        text += lang;
    427        text += "\"><strong>";
    428        text += "NEXT>>";
    429        text += "</strong></a>\n";
    430 
    431        break;
    432      }
    433      else {
    434        text += "<a href=\"_gwcgi_?e=_compressedoptions_&a=lang&p=translang_";
    435        text += *page_itr;
    436        text += "&baselanguage=";
    437        text += baselanguage;
    438        text += "&language=";
    439        text += lang;
    440        text += "\"><strong>";
    441        text += *page_itr;
    442        text += "</strong></a>\n";
    443      }
    444    }
     476    text += "<a href=\"_gwcgi_?e=_compressedoptions_&a=lang&p=translang_";
     477    text += temp2;
     478    text += "&baselanguage=";
     479    text += baselanguage;
     480    text += "&language=";
     481    text += lang;
     482    text += "\"><strong>";
     483    text += "NEXT>>";
     484    text += "</strong></a>\n";
     485
     486    break;
     487      }
     488      else {
     489    text += "<a href=\"_gwcgi_?e=_compressedoptions_&a=lang&p=translang_";
     490    text += *page_itr;
     491    text += "&baselanguage=";
     492    text += baselanguage;
     493    text += "&language=";
     494    text += lang;
     495    text += "\"><strong>";
     496    text += *page_itr;
     497    text += "</strong></a>\n";
     498      }
     499    }
    445500  }
    446501
     
    457512  // set the formcontent  as the content of the form-page
    458513 
     514  // logout << "Text: " << text;
     515
    459516  disp.setmacro("formcontent", "translang", text);
    460517 
     
    481538                ostream &logout) {
    482539  text_t &arg_p = args["p"];
    483  
     540  // logout << "Arg P: " << arg_p << endl;
     541
    484542  outconvertclass text2utf8;
    485543
Note: See TracChangeset for help on using the changeset viewer.