1 28 29 30 package com.opencms.workplace; 31 32 import org.opencms.db.CmsUserSettings; 33 import org.opencms.file.CmsObject; 34 import org.opencms.file.CmsRequestContext; 35 import org.opencms.file.CmsUser; 36 import org.opencms.i18n.CmsEncoder; 37 import org.opencms.importexport.CmsCompatibleCheck; 38 import org.opencms.main.CmsException; 39 import org.opencms.main.OpenCms; 40 import org.opencms.workplace.CmsWorkplace; 41 import org.opencms.workplace.editors.CmsDefaultPageEditor; 42 import org.opencms.workplace.explorer.CmsTree; 43 44 import com.opencms.core.I_CmsConstants; 45 import com.opencms.core.I_CmsSession; 46 import com.opencms.legacy.CmsLegacyException; 47 import com.opencms.legacy.CmsXmlTemplateLoader; 48 import com.opencms.template.A_CmsXmlContent; 49 import com.opencms.template.CmsCacheDirectives; 50 import com.opencms.template.CmsXmlTemplate; 51 import com.opencms.template.CmsXmlTemplateFile; 52 53 import java.util.Enumeration ; 54 import java.util.Hashtable ; 55 import java.util.StringTokenizer ; 56 import java.util.Vector ; 57 58 71 72 public class CmsWorkplaceDefault extends CmsXmlTemplate implements I_CmsConstants { 73 74 75 private static String m_resourcesUri = null; 76 77 78 private static String m_scriptsUri = null; 79 80 81 private CmsXmlWpConfigFile m_configFile = null; 82 83 84 85 protected String [] C_SELECTBOX_EDITORVIEWS_CLASSES = { 86 "com.opencms.workplace.CmsEditor", "com.opencms.workplace.CmsEditor" 87 }; 88 89 90 public static final String C_ADMIN_BACK_BUTTON = "adminbackbuttontemplate"; 91 92 93 public static final String C_BOXTEMPLATE = "messageboxTemplate"; 94 95 96 public static final String C_BUTTON_ACTION = "action"; 97 98 99 public static final String C_BUTTON_ALT = "alt"; 100 101 102 public static final String C_BUTTON_HREF = "href"; 103 104 105 public static final String C_BUTTON_METHOD = "method"; 106 107 108 public static final String C_BUTTON_NAME = "name"; 109 110 111 public static final String C_BUTTON_STYLE = "class"; 112 113 114 public static final String C_BUTTON_VALUE = "value"; 115 116 117 public static final String C_BUTTON_WIDTH = "width"; 118 119 120 public static final String C_BUTTONTEMPLATE = "ButtonTemplate"; 121 122 123 public static final String C_CONTEXTMENUE_TEMPLATEFILE = "contexttemplate"; 124 125 126 public static final int C_DOWNBROWSER_MAXENTRIES = 30; 127 128 129 public static final String C_EDIT_ACTION_EXIT = "exit"; 130 131 132 public static final String C_EDIT_ACTION_SAVE = "save"; 133 134 135 public static final String C_EDIT_ACTION_SAVEEXIT = "saveexit"; 136 137 138 public static final String C_ERROR_LINK = "ref"; 139 140 141 public static final String C_ERROR_MESSAGE = "message"; 142 143 144 public static final String C_ERROR_MSG_BUTTON = "msgbutton"; 145 146 147 public static final String C_ERROR_MSG_DETAILS = "details"; 148 149 150 public static final String C_ERROR_MSG_REASON = "msgreason"; 151 152 153 public static final String C_ERROR_REASON = "reason"; 154 155 156 public static final String C_ERROR_SUGGESTION = "suggestion"; 157 158 159 public static final String C_ERROR_TITLE = "title"; 160 161 162 public static final String C_ERRORTEMPLATE = "errorTemplate"; 163 164 165 public static final String C_FILELIST_ACCESS_VALUE = "ACCESS_VALUE"; 166 167 168 public static final String C_FILELIST_CHANGED_VALUE = "CHANGED_VALUE"; 169 170 171 public static final String C_FILELIST_CLASS_VALUE = "OUTPUT_CLASS"; 172 173 174 public static final String C_FILELIST_COLUMN_ACCESS = "COLUMN_ACCESS"; 175 176 177 public static final String C_FILELIST_COLUMN_CHANGED = "COLUMN_CHANGED"; 178 179 180 public static final String C_FILELIST_COLUMN_CUSTOMIZED = "COLUMN_CUSTOMIZED"; 181 182 183 public static final String C_FILELIST_COLUMN_CUSTOMIZED_VALUE = "COLUMN_CUSTOMIZED_VALUE"; 184 185 186 public static final String C_FILELIST_COLUMN_GROUP = "COLUMN_GROUP"; 187 188 189 public static final String C_FILELIST_COLUMN_LOCKED = "COLUMN_LOCKED"; 190 191 192 public static final String C_FILELIST_COLUMN_NAME = "COLUMN_NAME"; 193 194 195 public static final String C_FILELIST_COLUMN_OWNER = "COLUMN_OWNER"; 196 197 198 public static final String C_FILELIST_COLUMN_SIZE = "COLUMN_SIZE"; 199 200 201 public static final String C_FILELIST_COLUMN_STATE = "COLUMN_STATE"; 202 203 204 public static final String C_FILELIST_COLUMN_TITLE = "COLUMN_TITLE"; 205 206 207 public static final String C_FILELIST_COLUMN_TYPE = "COLUMN_TYPE"; 208 209 210 public static final String C_FILELIST_CUSTOMTEMPLATE = "customtemplate"; 211 212 213 public static final int C_FILELIST_GROUP = 64; 214 215 216 public static final String C_FILELIST_GROUP_VALUE = "GROUP_VALUE"; 217 218 219 public static final String C_FILELIST_ICON_VALUE = "ICON_VALUE"; 220 221 222 public static final String C_FILELIST_LINK_VALUE = "LINK_VALUE"; 223 224 225 public static final String C_FILELIST_LOCK_VALUE = "LOCK_VALUE"; 226 227 228 public static final String C_FILELIST_LOCKED_VALUE = "LOCKED_VALUE"; 229 230 231 public static final String C_FILELIST_NAME_VALUE = "NAME_VALUE"; 232 233 234 public static final String C_FILELIST_OWNER_VALUE = "OWNER_VALUE"; 235 236 237 public static final String C_FILELIST_SIZE_VALUE = "SIZE_VALUE"; 238 239 240 public static final String C_FILELIST_STATE_VALUE = "STATE_VALUE"; 241 242 243 public static final String C_FILELIST_SUFFIX_VALUE = "_VALUE"; 244 245 246 public static final String C_FILELIST_TITLE_VALUE = "TITLE_VALUE"; 247 248 249 public static final String C_FILELIST_TYPE_VALUE = "TYPE_VALUE"; 250 251 252 public static final String C_FILELIST_TEMPLATE = "template"; 253 254 255 public static final String C_ICON_ACTION = "action"; 256 257 258 public static final String C_ICON_ACTIVE_METHOD = "activemethod"; 259 260 261 public static final String C_ICON_DEFAULT = "ic_file_othertype.gif"; 262 263 264 public static final String C_ICON_EXTENSION = ".gif"; 265 266 267 public static final String C_ICON_HREF = "href"; 268 269 270 public static final String C_ICON_LABEL = "label"; 271 272 273 public static final String C_ICON_NAME = "name"; 274 275 276 public static final String C_ICON_PREFIX = "ic_file_"; 277 278 279 public static final String C_ICON_TARGET = "target"; 280 281 282 public static final String C_ICON_TEMPLATEFILE = "icontemplate"; 283 284 285 public static final String C_ICON_VISIBLE_METHOD = "visiblemethod"; 286 287 288 public static final String C_INPUT_ACTION = "action"; 289 290 291 public static final String C_INPUT_CLASS = "class"; 292 293 294 public static final String C_INPUT_LENGTH = "length"; 295 296 297 public static final String C_INPUT_METHOD = "method"; 298 299 300 public static final String C_INPUT_NAME = "name"; 301 302 303 public static final String C_INPUT_SIZE = "size"; 304 305 306 public static final String C_INPUT_VALUE = "value"; 307 308 309 public static final String C_INPUTTEMPLATE = "inputTemplate"; 310 311 312 public static final String C_LABEL_VALUE = "value"; 313 314 315 public static final String C_LABELTEMPLATE = "labelTemplate"; 316 317 318 public static final String C_LANG_BUTTON = "button"; 319 320 321 public static final String C_LANG_ICON = "icon"; 322 323 324 public static final String C_LANG_LABEL = "label"; 325 326 327 public static final String C_LANG_TITLE = "title"; 328 329 330 public static final String C_MESSAGE_BUTTON1 = "button1"; 331 332 333 public static final String C_MESSAGE_BUTTON2 = "button2"; 334 335 336 public static final String C_MESSAGE_FILENAME = "filename"; 337 338 339 public static final String C_MESSAGE_LINK1 = "link1"; 340 341 342 public static final String C_MESSAGE_LINK2 = "link2"; 343 344 345 public static final String C_MESSAGE_MESSAGE1 = "message1"; 346 347 348 public static final String C_MESSAGE_MESSAGE2 = "message2"; 349 350 351 public static final String C_MESSAGE_TITLE = "title"; 352 353 354 public static final String C_MODULE_PACKETNAME = "packetname"; 355 356 357 public static final String C_MODULELIST_AUTHOR = "author"; 358 359 360 public static final String C_MODULELIST_DATECREATED = "datecreated"; 361 362 363 public static final String C_MODULELIST_DATEUPLOADED = "dateuploaded"; 364 365 366 public static final String C_MODULELIST_IDX = "idx"; 367 368 369 public static final String C_MODULELIST_METHOD = "method"; 370 371 372 public static final String C_MODULELIST_NAME = "name"; 373 374 375 public static final String C_MODULELIST_NICE_NAME = "nicename"; 376 377 378 public static final String C_MODULELIST_TEMPLATEFILE = "moduletemplate"; 379 380 381 public static final String C_MODULELIST_VERSION = "version"; 382 383 384 public static final String C_PANEL_EXPLORER = "explorer"; 385 386 387 public static final String C_PANEL_LINK = "link"; 388 389 390 public static final String C_PANEL_NAME = "panelname"; 391 392 393 public static final String C_PANEL_START = "start"; 394 395 396 public static final String C_PANEL_TASK = "task"; 397 398 399 public static final String C_PANEL_USER = "user"; 400 401 402 public static final String C_PANELTEMPLATE = "panelTemplate"; 403 404 405 public static final String C_PARA_ACTION = "action"; 406 407 408 public static final String C_PARA_CANCEL = "CANCEL"; 409 410 411 public static final String C_PARA_CONTENT = "content"; 412 413 414 public static final String C_PARA_DEFAULT = "DEFAULT"; 415 416 417 public static final String C_PARA_DELETE = "delete"; 418 419 420 public static final String C_PARA_DESCRIPTION = "description"; 421 422 423 public static final String C_PARA_EXPLORERSETTINGS = "EXPLORERSETTINGS"; 424 425 426 public static final String C_PARA_FILECONTENT = "filecontent"; 427 428 429 public static final String C_PARA_FILELIST = "filelist"; 430 431 432 public static final String C_PARA_FILTER = "filter"; 433 434 435 public static final String C_PARA_FLAGS = "flags"; 436 437 438 public static final String C_PARA_FOLDER = "folder"; 439 440 441 public static final String C_PARA_FOLDERTREE = "foldertree"; 442 443 444 public static final String C_PARA_FORMNAME = "formname"; 445 446 447 public static final String C_PARA_INITIAL = "initial"; 448 449 450 public static final String C_PARA_JSFILE = "jsfile"; 451 452 453 public static final String C_PARA_KEYWORDS = "keywords"; 454 455 456 public static final String C_PARA_LAYOUT = "default_body"; 457 458 459 public static final String C_PARA_LINK = "link"; 460 461 462 public static final String C_PARA_LOCK = "lock"; 463 464 465 public static final String C_PARA_MAXPAGE = "maxpage"; 466 467 468 public static final String C_PARA_NAME = "name"; 469 470 471 public static final String C_PARA_NAVPOS = "navpos"; 472 473 474 public static final String C_PARA_NAVTEXT = "navtitle"; 475 476 477 public static final String C_PARA_NEWACCESS = "newaccess"; 478 479 480 public static final String C_PARA_NEWFILE = "newfile"; 481 482 483 public static final String C_PARA_NEWFOLDER = "newfolder"; 484 485 486 public static final String C_PARA_NEWGROUP = "newgroup"; 487 488 489 public static final String C_PARA_NEWOWNER = "newowner"; 490 491 492 public static final String C_PARA_NEWPWD = "newpwd"; 493 494 495 public static final String C_PARA_NEWPWDREPEAT = "newpwdrepeat"; 496 497 498 public static final String C_PARA_NEWTYPE = "newtype"; 499 500 501 public static final String C_PARA_OK = "OK"; 502 503 504 public static final String C_PARA_OLDPANEL = "oldpanel"; 505 506 507 public static final String C_PARA_OLDPWD = "oldpwd"; 508 509 510 public static final String C_PARA_PAGE = "page"; 511 512 513 public static final String C_PARA_PANEL = "panel"; 514 515 516 public static final String C_PARA_PREVIOUSLIST = "previous"; 517 518 519 public static final String C_PARA_PROJECT = "project"; 520 521 522 public static final String C_PARA_PROPERTYDEF = "property"; 523 524 525 public static final String C_PARA_STARTPROJECTID = "startProjectId"; 526 527 528 public static final String C_PARA_STARTSETTINGS = "STARTSETTINGS"; 529 530 531 public static final String C_PARA_STARTTASKID = "startTaskId"; 532 533 534 public static final String C_PARA_SUBMIT = "SUBMIT"; 535 536 537 public static final String C_PARA_TASKSETTINGS = "TASKSETTINGS"; 538 539 540 public static final String C_PARA_TEMPLATE = "template"; 541 542 543 public static final String C_PARA_TITLE = "title"; 544 545 546 public static final String C_PARA_UNLOCK = "unlock"; 547 548 549 public static final String C_PARA_URL = "URL"; 550 551 552 public static final String C_PARA_USERSETTINGS = "USERSETTINGS"; 553 554 555 public static final String C_PARA_VARIABLE = "variable"; 556 557 558 public static final String C_PARA_VIEW = "view"; 559 560 561 public static final String C_PARA_VIEWFILE = "viewfile"; 562 563 564 public static final String C_PARA_RESOURCE = "resource"; 565 566 567 public static final int C_PICBROWSER_MAXIMAGES = 15; 568 569 570 public static final String C_PREFERENCES_UPDATE = "../action/preferences_update.html"; 571 572 573 public static final String C_PREFSSCROLLER_TEMPLATEFILE = "prefsscrollerTemplate"; 574 575 576 public static final String C_PROJECTLIST_DATECREATED = "datecreated"; 577 578 579 public static final String C_PROJECTLIST_DESCRIPTION = "description"; 580 581 582 public static final String C_PROJECTLIST_IDX = "idx"; 583 584 585 public static final String C_PROJECTLIST_LOCKSTATE = "lockstate"; 586 587 588 public static final String C_PROJECTLIST_MENU = "menu"; 589 590 591 public static final String C_PROJECTLIST_METHOD = "method"; 592 593 594 public static final String C_PROJECTLIST_NAME = "name"; 595 596 597 public static final String C_PROJECTLIST_NAME_ESCAPED = "name_escaped"; 598 599 600 public static final String C_PROJECTLIST_OWNER = "owner"; 601 602 603 public static final String C_PROJECTLIST_PROJECTID = "id"; 604 605 606 public static final String C_PROJECTLIST_PROJECTMANAGER = "projectmanager"; 607 608 609 public static final String C_PROJECTLIST_PROJECTWORKER = "projectworker"; 610 611 612 public static final String C_PROJECTLIST_STATE = "STATE"; 613 614 615 public static final String C_PROJECTLIST_STATE_LOCKED = "project.state.FILESLOCKED"; 616 617 618 public static final String C_PROJECTLIST_STATE_UNLOCKED = "project.state.FILESUNLOCKED"; 619 620 621 public static final String C_PROJECTLIST_TEMPLATEFILE = "projecttemplate"; 622 623 624 public static final String C_PROJECTNEW_DESCRIPTION = "DESCRIPTION"; 625 626 627 public static final String C_PROJECTNEW_DONE = "done"; 628 629 630 public static final String C_PROJECTNEW_ERROR = "error"; 631 632 633 public static final String C_PROJECTNEW_FOLDER = "selectallfolders"; 634 635 636 public static final String C_PROJECTNEW_GROUP = "GROUP"; 637 638 639 public static final String C_PROJECTNEW_MANAGERGROUP = "MANAGERGROUP"; 640 641 642 public static final String C_PROJECTNEW_NAME = "NAME"; 643 644 645 public static final String C_PROJECTNEW_TYPE = "TYPE"; 646 647 648 public static final String C_RADIO_CLASS = "class"; 649 650 651 public static final String C_RADIO_CLASSNAME = "classname"; 652 653 654 public static final String C_RADIO_IMAGEENTRY = "imageentry"; 655 656 657 public static final String C_RADIO_IMAGENAME = "image"; 658 659 660 public static final String C_RADIO_IMAGEOPTION = "optionalimage"; 661 662 663 public static final String C_RADIO_LINK = "link"; 664 665 666 public static final String C_RADIO_METHOD = "method"; 667 668 669 public static final String C_RADIO_NAME = "name"; 670 671 672 public static final String C_RADIO_ORDER = "order"; 673 674 675 public static final String C_RADIO_RADIONAME = "radioname"; 676 677 678 public static final String C_RADIO_SELECTEDENTRY = "selectedentry"; 679 680 681 public static final String C_RADIO_SELECTEDOPTION = "optionalselected"; 682 683 684 public static final String C_RADIOTEMPLATE = "radioTemplate"; 685 686 687 public static final String C_SELECTBOX_CLASS = "class"; 688 689 690 public static final String C_SELECTBOX_CLASSNAME = "classname"; 691 692 693 public static final String C_SELECTBOX_DIV = "div"; 694 695 696 public static final int[] C_SELECTBOX_EDITORVIEWS_DEFAULT = {0, 1}; 697 698 699 public static final String [] C_SELECTBOX_EDITORVIEWS_TEMPLATES = {"edit_html_main", "edit_text_main"}; 700 701 702 public static final String C_SELECTBOX_METHOD = "method"; 703 704 705 public static final String C_SELECTBOX_NAME = "name"; 706 707 708 public static final String C_SELECTBOX_ONCHANGE = "onchange"; 709 710 711 public static final String C_SELECTBOX_OPTIONNAME = "name"; 712 713 714 public static final String C_SELECTBOX_OPTIONVALUE = "value"; 715 716 717 public static final String C_SELECTBOX_SIZE = "size"; 718 719 720 public static final String C_SELECTBOX_WIDTH = "width"; 721 722 723 public static final String C_SELECTBOX_WIDTHNAME = "widthname"; 724 725 726 public static final String C_SESSION_MODULE_ADMIN_DATA = "module_admin_data"; 727 728 729 public static final String C_SESSION_MODULE_ADMIN_PROP_DESCR = "module_admin_props_desr"; 730 731 732 public static final String C_SESSION_MODULE_ADMIN_PROP_NAMES = "module_admin_props_names"; 733 734 735 public static final String C_SESSION_MODULE_ADMIN_PROP_TYP = "module_admin_props_typ"; 736 737 738 public static final String C_SESSION_MODULE_ADMIN_PROP_VAL = "module_admin_props_value"; 739 740 741 public static final String C_SESSION_MODULE_CHECKSUM = "modulechecksum"; 742 743 744 public static final String C_SESSION_MODULE_DELETE_STEP = "moduledeletestep"; 745 746 747 public static final String C_SESSION_MODULE_EXCLUSION = "moduleexclusion"; 748 749 750 public static final String C_SESSION_MODULE_INUSE = "moduleinuse"; 751 752 753 public static final String C_SESSION_MODULE_MISSFILES = "modulemissfiles"; 754 755 756 public static final String C_SESSION_MODULE_PROJECTFILES = "moduleprojectfiles"; 757 758 759 public static final String C_SESSION_MODULE_PROPFILES = "modulepropfiles"; 760 761 762 public static final String C_SESSION_TASK_ALLPROJECTS = "task_allprojects"; 763 764 765 public static final String C_SESSION_TASK_FILTER = "task_filter"; 766 767 768 public static final String C_TAG_ERRORBOX = "errorbox"; 769 770 771 public static final String C_TAG_ERRORPAGE = "errorpagedefinition"; 772 773 774 public static final String C_TAG_INPUTFIELD = "inputfield"; 775 776 777 public static final String C_TAG_LABEL = "label"; 778 779 780 public static final String C_TAG_MESSAGEBOX = "messagepage"; 781 782 783 public static final String C_TAG_MODULELIST_DEFAULT = "defaultmodulelist"; 784 785 786 public static final String C_TAG_PANEL_BGACTIVE = "paneldef.bgactive"; 787 788 789 public static final String C_TAG_PANEL_BGINACTIVE = "paneldef.bginactive"; 790 791 792 public static final String C_TAG_PANEL_ENDSEQ = "paneldef.endseq"; 793 794 795 public static final String C_TAG_PANEL_SEPBGTEXT = "paneldef.sepbgtext"; 796 797 798 public static final String C_TAG_PANEL_STARTSEQ = "paneldef.startseq"; 799 800 801 public static final String C_TAG_PANEL_TEXTACTIVE = "paneldef.textactive"; 802 803 804 public static final String C_TAG_PANEL_TEXTINACTIVE = "paneldef.textinactive"; 805 806 807 public static final String C_TAG_PASSWORD = "password"; 808 809 810 public static final String C_TAG_PROJECTLIST_DEFAULT = "defaultprojectlist"; 811 812 813 public static final String C_TAG_PROJECTLIST_SNAPLOCK = "snaplock"; 814 815 816 public static final String C_TAG_RADIO_CLASS = "radiobuttons.class"; 817 818 819 public static final String C_TAG_RADIO_COLENTRY = "radiobuttons.colentry"; 820 821 822 public static final String C_TAG_RADIO_ROWENTRY = "radiobuttons.rowentry"; 823 824 825 public static final String C_TAG_SELECTBOX_CLASS = "selectbox.class"; 826 827 828 public static final String C_TAG_SELECTBOX_END = "selectbox.end"; 829 830 831 public static final String C_TAG_SELECTBOX_OPTION = "selectbox.option"; 832 833 834 public static final String C_TAG_SELECTBOX_SELOPTION = "selectbox.seloption"; 835 836 837 public static final String C_TAG_SELECTBOX_START = "selectbox.start"; 838 839 840 public static final String C_TAG_SELECTBOX_START_DIV = "selectbox.startdiv"; 841 842 843 public static final String C_TAG_SELECTBOX_WIDTH = "selectbox.width"; 844 845 846 public static final String C_TAG_STARTUP = "STARTUP"; 847 848 849 public static final String C_TAG_SUBMITBUTTON = "submitbutton"; 850 851 852 public static final String C_TASKDOCU_TEMPLATEFILE = "tasklistdoctemplate"; 853 854 855 public static final String C_TASKLIST_TEMPLATEFILE = "tasklisttemplate"; 856 857 858 public static final int C_TASKLOGTYPE_ACCEPTED = 101; 859 860 861 public static final int C_TASKLOGTYPE_CALL = 107; 862 863 864 public static final int C_TASKLOGTYPE_COMMENT = 102; 865 866 867 public static final int C_TASKLOGTYPE_CREATED = 100; 868 869 870 public static final int C_TASKLOGTYPE_DUECHANGED = 108; 871 872 873 public static final int C_TASKLOGTYPE_FORWARDED = 106; 874 875 876 public static final int C_TASKLOGTYPE_OK = 104; 877 878 879 public static final int C_TASKLOGTYPE_PRIORITYCHANGED = 109; 880 881 882 public static final int C_TASKLOGTYPE_REACTIVATED = 105; 883 884 885 public static final int C_TASKLOGTYPE_TAKE = 103; 886 887 888 public static final String C_TASKPARA_ACCEPTATION = "acceptation"; 889 890 891 public static final String C_TASKPARA_ALL = "all"; 892 893 894 public static final String C_TASKPARA_COMPLETION = "completion"; 895 896 897 public static final String C_TASKPARA_DELIVERY = "delivery"; 898 899 900 public static final String C_USERPREF_FILELIST = "filelist"; 901 902 903 public static final String C_USERS_NAME = "USERNAME"; 904 905 906 public static final String C_VFS_DIR_INTERNAL = "internal/"; 907 908 909 public static final String C_VFS_DIR_LOCALES = "locales/"; 910 911 917 public static final String VFS_PATH_LOGIN = CmsWorkplace.VFS_PATH_SYSTEM + "login"; 918 919 920 public static final String C_VFS_PATH_DEFAULT_BODIES = CmsCompatibleCheck.VFS_PATH_DEFAULTMODULE + CmsWorkplace.VFS_DIR_DEFAULTBODIES; 921 922 923 public static final String C_VFS_PATH_MODULEDEMOS = CmsWorkplace.VFS_PATH_MODULES + "moduledemos/"; 924 925 926 public static final String C_VFS_PATH_HELP = CmsWorkplace.VFS_PATH_WORKPLACE + "help/"; 927 928 929 public static final String C_VFS_PATH_SCRIPTS = CmsWorkplace.VFS_PATH_WORKPLACE + "scripts/"; 930 931 932 public static final String C_VFS_GALLERY_DOWNLOAD = CmsWorkplace.VFS_PATH_GALLERIES + "download/"; 933 934 935 public static final String C_VFS_GALLERY_EXTERNALLINKS = CmsWorkplace.VFS_PATH_GALLERIES + "externallinks/"; 936 937 938 public static final String C_VFS_GALLERY_HTML = CmsWorkplace.VFS_PATH_GALLERIES + "htmlgalleries/"; 939 940 941 public static final String C_VFS_GALLERY_PICS = CmsWorkplace.VFS_PATH_GALLERIES + "pics/"; 942 943 944 public static final String C_VFS_PATH_DEFAULT_INTERNAL = CmsWorkplace.VFS_PATH_WORKPLACE + "templates/"; 945 946 947 public static final String C_WP_CHANNEL_TREE = "../action/channel_tree.html"; 948 949 950 public static final String C_WP_EXPLORER_FILELIST = "../action/explorer_files.html"; 951 952 953 public static final String C_WP_EXPLORER_PREFERENCES = "../action/preferences.html?panel=user"; 954 955 956 public static final String C_WP_EXPLORER_TREE = "../action/explorer_tree.html"; 957 958 959 public static final String C_WP_FOLDER_TREE = "../action/folder_tree.html"; 960 961 962 public static final String C_WP_RELOAD = "../action/workplace_reload.html"; 963 964 970 protected boolean checkJavaProperty(String propertyName, String value) { 971 boolean result = false; 972 String prop = null; 973 try { 974 prop = System.getProperty(propertyName); 975 if(prop != null && prop.equals(value)) { 976 result = true; 977 } 978 return result; 979 } 980 catch(Exception e) { 981 return false; 982 } 983 } 984 985 998 public Boolean doNotShow(CmsObject cms, CmsXmlLanguageFile lang, Hashtable parameters) { 999 return new Boolean (false); 1000 } 1001 1002 1010 public CmsXmlWpConfigFile getConfigFile(CmsObject cms) throws CmsException { 1011 1012 m_configFile = new CmsXmlWpConfigFile(cms); 1014 1015 return m_configFile; 1017 } 1018 1019 1027 protected void getConstantSelectEntries(Vector names, Vector values, String [] contents, 1028 CmsXmlLanguageFile lang) throws CmsException { 1029 for(int i = 0;i < contents.length;i++) { 1030 String value = contents[i]; 1031 values.addElement(value); 1032 String s = lang.getLanguageValue("select." + value); 1033 if ((s == null) || s.startsWith("???")) s = value; 1034 names.addElement(s); 1035 } 1036 } 1037 1038 1053 public Integer getFonts(CmsObject cms, CmsXmlLanguageFile lang, Vector names, Vector values, 1054 Hashtable parameters) throws CmsException { 1055 for(int i = 0;i < CmsDefaultPageEditor.SELECTBOX_FONTS.length; i++) { 1056 String value = CmsDefaultPageEditor.SELECTBOX_FONTS[i]; 1057 values.addElement(value); 1058 names.addElement(value); 1059 } 1060 return new Integer (0); 1061 } 1062 1063 1073 public Object getKey(CmsObject cms, String templateFile, Hashtable parameters, String templateSelector) { 1074 1075 CmsRequestContext reqContext = cms.getRequestContext(); 1076 1077 String result = "" 1078 + reqContext.currentProject().getId() 1079 + ":" 1080 + reqContext.currentUser().getName() 1081 + reqContext.addSiteRoot(templateFile); 1082 Enumeration keys = parameters.keys(); 1083 1084 String currentLanguage = null; 1086 1087 CmsUserSettings settings = new CmsUserSettings(cms); 1088 currentLanguage = settings.getLocale().toString(); 1089 1090 while(keys.hasMoreElements()) { 1091 String key = (String )keys.nextElement(); 1092 result = result + key + parameters.get(key); 1093 } 1094 result = result + templateSelector + currentLanguage; 1095 return result; 1096 } 1097 1098 1105 protected String getLastUrl(CmsObject cms, Hashtable parameters) { 1106 I_CmsSession session = CmsXmlTemplateLoader.getSession(cms.getRequestContext(), true); 1107 String lasturl = (String )parameters.get("lasturl"); 1108 1109 StringBuffer encLasturl = new StringBuffer (); 1113 boolean notfirst = false; 1114 if(lasturl != null) { 1115 1116 int asteriskIdx = lasturl.indexOf("?"); 1119 if(asteriskIdx > -1 && (asteriskIdx < (lasturl.length() - 1))) { 1120 1121 encLasturl.append(lasturl.substring(0, asteriskIdx + 1)); 1123 String queryString = lasturl.substring(asteriskIdx + 1); 1124 StringTokenizer st = new StringTokenizer (queryString, "&"); 1125 while(st.hasMoreTokens()) { 1126 1127 String currToken = st.nextToken(); 1129 if(currToken != null && !"".equals(currToken)) { 1130 1131 int idx = currToken.indexOf("="); 1133 if(notfirst) { 1134 encLasturl.append("&"); 1135 } 1136 else { 1137 notfirst = true; 1138 } 1139 if(idx > -1) { 1140 1141 String key = currToken.substring(0, idx); 1144 String value = (idx < (currToken.length() - 1)) ? currToken.substring(idx + 1) : ""; 1145 encLasturl.append(key); 1146 encLasturl.append("="); 1147 encLasturl.append(CmsEncoder.escape(value, 1148 cms.getRequestContext().getEncoding())); 1149 } 1150 else { 1151 1152 encLasturl.append(currToken); 1156 } 1157 } 1158 } 1159 lasturl = encLasturl.toString(); 1160 } 1161 session.putValue("lasturl", lasturl); 1162 } 1163 else { 1164 lasturl = (String )session.getValue("lasturl"); 1165 } 1166 return lasturl; 1167 } 1168 1169 1179 public CmsXmlTemplateFile getOwnTemplateFile(CmsObject cms, String templateFile, String elementName, 1180 Hashtable parameters, String templateSelector) throws CmsException { 1181 CmsXmlWpTemplateFile xmlTemplateDocument = new CmsXmlWpTemplateFile(cms, templateFile); 1182 return xmlTemplateDocument; 1183 } 1184 1185 1198 public Boolean isAdmin(CmsObject cms, CmsXmlLanguageFile lang, Hashtable parameters) throws CmsException { 1199 return new Boolean (cms.isAdmin()); 1200 } 1201 1202 1207 public Boolean isAdminFalse(CmsObject cms, CmsXmlLanguageFile lang, Hashtable parameters) throws CmsException { 1208 return new Boolean (false); 1209 } 1210 1211 1223 public Boolean isTheAdminUser(CmsObject cms, CmsXmlLanguageFile lang, Hashtable parameters) throws CmsException { 1224 CmsRequestContext reqCont = cms.getRequestContext(); 1225 if(cms.isAdmin()){ 1226 return new Boolean (reqCont.currentUser().getName().equals(OpenCms.getDefaultUsers().getUserAdmin())); 1227 }else{ 1228 return new Boolean (false); 1229 } 1230 } 1231 1232 1242 public boolean isCacheable(CmsObject cms, String templateFile, String elementName, Hashtable parameters, String templateSelector) { 1243 return false; 1244 } 1245 1246 1256 public CmsCacheDirectives getCacheDirectives(CmsObject cms, String templateFile, String elementName, Hashtable parameters, String templateSelector) { 1257 return new CmsCacheDirectives(false); 1258 } 1259 1260 1284 public boolean isStreamable(CmsObject cms, String templateFile, String elementName, Hashtable parameters, String templateSelector) { 1285 return false; 1286 } 1287 1288 1301 public Boolean isNotOnlineProject(CmsObject cms, CmsXmlLanguageFile lang, Hashtable parameters) throws CmsException { 1302 CmsRequestContext reqCont = cms.getRequestContext(); 1303 return new Boolean (!reqCont.currentProject().isOnlineProject()); 1304 } 1305 1306 1319 public Boolean isOnlineProject(CmsObject cms, CmsXmlLanguageFile lang, Hashtable parameters) throws CmsException { 1320 CmsRequestContext reqCont = cms.getRequestContext(); 1321 return new Boolean (reqCont.currentProject().isOnlineProject()); 1322 } 1323 1324 1337 public Boolean isProjectManager(CmsObject cms, CmsXmlLanguageFile lang, Hashtable parameters) throws CmsException { 1338 return new Boolean (cms.isManagerOfProject()); 1339 } 1340 1341 1363 public Object resourcesUri(CmsObject cms, String tagcontent, A_CmsXmlContent doc, Object userObj) throws CmsException { 1364 if(m_resourcesUri == null) { 1365 CmsXmlWpConfigFile configFile = new CmsXmlWpConfigFile(cms); 1366 m_resourcesUri = configFile.getWpPicturePath(); 1367 } 1368 if (tagcontent == null) return m_resourcesUri; 1369 return m_resourcesUri + tagcontent; 1370 } 1371 1372 1382 public Object scriptsUri(CmsObject cms, String tagcontent, A_CmsXmlContent doc, Object userObj) throws CmsException { 1383 if(m_scriptsUri == null) { 1384 m_scriptsUri = CmsXmlTemplateLoader.getRequest(cms.getRequestContext()).getServletUrl() + CmsWorkplaceDefault.C_VFS_PATH_SCRIPTS; 1385 } 1386 if (tagcontent == null) return m_scriptsUri; 1387 return m_scriptsUri + tagcontent; 1388 } 1389 1390 1393 public Object picsUrl(CmsObject cms, String tagcontent, A_CmsXmlContent doc, Object userObj) throws CmsException { 1394 return resourcesUri(cms, tagcontent, doc, userObj); 1395 } 1396 1397 1407 public Object initTree(CmsObject cms, String tagcontent, A_CmsXmlContent doc, Object userObj) throws CmsException { 1408 String skinUri = CmsXmlTemplateLoader.getRequest(cms.getRequestContext()).getWebAppUrl() + "/resources/"; 1409 return CmsTree.initTree(cms, cms.getRequestContext().getEncoding(), skinUri); 1410 } 1411 1412 1429 protected byte[] startProcessing(CmsObject cms, CmsXmlTemplateFile xmlTemplateDocument, String elementName, 1430 Hashtable parameters, String templateSelector) throws CmsException { 1431 1432 if( checkPort(cms) ) { 1434 String lasturl = getLastUrl(cms, parameters); 1435 CmsXmlTemplateLoader.getResponse(cms.getRequestContext()).setHeader("Cache-Control", "no-cache"); 1441 CmsXmlTemplateLoader.getResponse(cms.getRequestContext()).setHeader("Pragma", "no-cache"); 1443 ((CmsXmlWpTemplateFile)xmlTemplateDocument).setData("lasturl", lasturl); 1444 return super.startProcessing(cms, xmlTemplateDocument, elementName, parameters, templateSelector); 1445 } else { 1446 throw new CmsLegacyException("No access to the workplace with this port", CmsLegacyException.C_NOT_FOUND); 1447 } 1448 } 1449 1450 1457 protected boolean checkPort(CmsObject cms) { 1458 return true; 1459 } 1460 1461 1471 public Object userName(CmsObject cms, String tagcontent, A_CmsXmlContent doc, Object userObj) throws CmsException { 1472 return CmsUser.getFullName(cms.getRequestContext().currentUser()); 1473 } 1474 1475 1476 1486 public Object explorerFileUri(CmsObject cms, String tagcontent, A_CmsXmlContent doc, Object userObj) throws CmsException { 1487 return CmsWorkplaceAction.getExplorerFileUri(CmsXmlTemplateLoader.getRequest(cms.getRequestContext()).getOriginalRequest()); 1488 } 1489 1490 1501 public Object explorerFileFullUri(CmsObject cms, String tagcontent, A_CmsXmlContent doc, Object userObj) throws CmsException { 1502 return CmsWorkplaceAction.getExplorerFileFullUri(cms, CmsXmlTemplateLoader.getRequest(cms.getRequestContext()).getOriginalRequest()); 1503 } 1504} 1505
| Popular Tags
|