Commits on Jun 26, 2016
  1. Version 3.5.21

    [Line Wrap on/off] button: added underline on current state (on or off).
    Removed some css & js from when [Word Wrap *on *off] used radio buttons.
    Rearranged Edit_Page_scripts a bit in a hopefully more logical way.
    Set height of both line_numbers & file_editor with css.
    Removed setSelRange() in lieu of selectionStart/End in Reset_File().
    Moved Toggle_Line_Wrap() out of Line_Numbering(), & into "global" scope of Edit_Page_Scripts().
    Added some basic validation to $TAB_SIZE & its js conterpart TAB_SIZE.
    Updated OneFileCMS_structure.txt
    committed Jun 26, 2016
Commits on Jun 22, 2016
  1. Version 3.5.20

    Fixed sporadic directory-won't-display issue: moved initial Sort_and_Show() to end of page.
    Fixed wrapping & line-numbering issue when toggling between wrap on & wrap off.
    Added line-numbers to read-only files also. (OFCMS || $too_large_to_edit)
    Added cookie for word_wrap. (now called line_wrap)
    Added (bytes) to Size header of file listing, and removed "B" suffix from sizes.
    In sort_DIRECTORY(), changed ternaries to if/thens.  Because simpler.
    Index Page: "Home" key now just goes to first row (../).
    On Edit Page, initial textarea cursor location set to start of file.
    Cursor postion/selection saved when toggling between Wide/Normal views, and Wrap on/off.
    Edit Page: Word Wrap now called Line Wrap, and switched from radio buttons to just a button to toggle wrap on/off.
    Tweeked X_box style.
    Adjusted/simplified some css for the index page buttons & all svg icons.
    Added $_['Line_Wrap'] to language files.
    committed Jun 22, 2016
Commits on Jun 16, 2016
  1. Version 3.5.19

    Added line numbering to edit page: Line_Numbering() js functions & associated css & html.
    	(This was way more work than anticipated... :)
    Added Word wrap toggle to edit page. (for editable files only.)
    	(This was way more work than anticipated... :)
    Added $_['Word_Wrap'],  $_['on'],  $_['off']
    	(This was easy.)
    Added $WORD_WRAP & $TAB_SIZE config variables.
    	(This was easy.)
    In Display_Messages():Changed ternaries to if/thens.  Because simpler.  (also fixed a typo)
    In Countdown(), made $message_box local (was no var, don't know why).
    In pre_validate_pwun(), a little cleanup.
    Renamed a few global var's from lowercase to all caps:
    css: box-sizing: border-box, plus subsequent changes...
    committed Jun 16, 2016
Commits on Jun 10, 2016
  1. Version 3.5.18

    Renamed a few global configurable variables in a more consistant manor with the rest.
    $EXLUDED_FILES now ignores folders, as it doesn't make sense or work well overall otherwise.
    On index page, Enter can be used to select/deselect checkboxes.
    on_Tab_down(): removed superfluous returns.
    Improved Up/Down arrow key use: "cursor" (ie: focus), can now nav up & down [Move][Copy][Del][x]
    Changed PU & PD key responses to include [Logo] & [Admin] instead of skipping them.
    Fixed minor bug where PU (or was it PD?) got "stuck" when in an empty folder and on the "../" row,
    Check if (FR == FROWS) before if (FR == 0), so AD still passes thru [Admin]
    And some css: #del_backup
    Fixed minor typo in $_['edit_caution_02']: "...OneFileCM.'; => "...OneFileCMS.';
    committed Jun 10, 2016
Commits on Apr 20, 2014
  1. Version 3.5.17

    Moved ob_start() to very top of file.
    Moved basic security & error log settings to top of file, just after version #.
    Improved responses to Left & Right arrows by allowing for skips in tabindex's.
     (ex: 1,2,3,5,6,10...)
    Index_Page_scripts() : Added $TABINDEX_XBOX for the message box '[X]' box.
    Display_Messages(): use $tabindex_xbox.
    Reordered onmousedown and on_Tab_down functions to that order.
    In on_Tab_down, renamed/gave a couple var's more intuitive names.
    Uncheck "Clear All" ckbox on resorts, as file ckboxes are.
    Adjusted some css.
    committed Apr 20, 2014
Commits on Apr 4, 2014
  1. Version 3.5.16

    Improved logic for handling Left & Right arrow keys in Index_Page_events()
    Some js at end of file now echo'd by php, instead of dropping out of php with ?>
    Left some //##### comments in as reminders for potential improvements.
    committed Apr 4, 2014
Commits on Apr 3, 2014
  1. Version 3.5.15

    Fixed minor keyboard navigation glitch on Index page if active copy of OnefileCMS is listed.
      Assemble_Insert_row() & Build_Directory()
    Fixed css/removed borders on checkboxes (ony affected IE).
    committed Apr 3, 2014
  2. Version 3.5.14

    Improvements/enhancements to Index page keyboard navigation...
    Index_Page_events(): much of the changes for the above.
    Added $TABINDEX global for adding tabindex to most tabbable elements.
    Index_Page(): moved call to Index_Page_scripts() to end of _Page().
    Moved header_filename.focus() to Index_Page_events()
    Confirm_Submit(): switched from alert() to Display_Messages() for error message.
    Index_Page_buttons_top(): in addtion to tabindex, added id's
    Check_for_changes(): added check for IE & window.event
    A bit of css...
    committed Apr 3, 2014
Commits on Mar 30, 2014
  1. Version 3.5.13

    Added basic keyboard navigation of Index page. (Arrow keys, Page Up/Down, etc.)
    System_Setup(): made $DOC_ROOT_OS global.
    Put tabindex=-1 on main OneFileCMS logo.
    Create_Table_for_Listing(): added "../" to top of directory listing.
    Edit_Page_buttons_top(): [View Raw] on shows if text_editable.
    Edit_Page_scripts(): check if [View Raw] exists...
      Also removed some old leftover test code...
    Renamed Index_Page_onclicks() to Index_Page_event().
    Added document.onkeydown function for basic keyboard nav of directory list.
    Assemble_Insert_row()): added id's to move/copy/delete options as part of
      arrow key navivation of directory listing.
    Build_Directory(): Same to <a> for filename.
    On file change, stopped changing <textarea> border color to red.
    Some css tweakin' & cleanup
    committed Mar 30, 2014
Commits on Mar 26, 2014
  1. Updated readme.

    committed Mar 26, 2014
Commits on Mar 25, 2014
  1. Updated readme.

    committed Mar 25, 2014
  2. Version 3.5.12

    Fixed a minor bug with Login screen & countdown timer...
    Adjusted how countdown timers are placed and called. Functions affected:
      Timeout_Timer(), Login_response(), Countdown(), Start_Countdown(), and some
      misc code at end of file.
    Added $LOGIN_DELAYED global due to above.
    Countdown(): Added countdown to the 2-minute "Warning!" message box.
    Improved Display_Messages()
    Added a few php global variables for values that were otherwise hardcoded in js.
      These variables are declared in System_Setup():
      $DELAY_Expired_Reload, $DELAY_Sort_and_Show_msgs, $DELAY_Timeout_Timer, $DELAY_final_messages
    Some minor readme updates.
    committed Mar 25, 2014
Commits on Mar 24, 2014
  1. Version 3.5.11

    Removed '!' from the  $_['save_2'] value in language files.
    X_box is now <button> instead of <a>
    Display_Messages(): sets new focus when X_box is clicked.
    When dir list is re-sorted by name, size, etc, focus returns to that option.
    Sort_and_Show(): Added "Working..." message while sorting & dispaying directory.
    Gave #message_box a min height on all pages for visual consistancy and so pages
      don't jump as much when #message_box is closed.
    Some minor readme updates.
    committed Mar 24, 2014
Commits on Mar 23, 2014
  1. Version 3.5.10

    Just a quick minor fix: Forgot to rawurlencode the $filename in the
    onclick_params in the edit page scripts.
    Some minor readme updates.
    committed Mar 23, 2014
Commits on Mar 22, 2014
  1. Version 3.5.09

    Updated Optional external style sheet.
    committed Mar 22, 2014
  2. Version 3.5.09

    Deleted superfluous file.
    committed Mar 22, 2014
  3. Version 3.5.09

    Restored IE 8+ support!
    Create_Table_for_Listing: id=DIRECTORY_FOOTER moved from <TR> to <TD>
    Send_data_to_js_and_display: added DIRECTORY_ITEMS js global var
    Added Init_Dir_table_rows() js function.
    Assemble_row() is now Assemble_Insert_row()
    Build_Directory() redone for Assemble_Insert_row(), cleaned up.
    Directory_Summary(): no longer genrerates <td></td> here.
    Sort_and_Show(): minor adjustment for new Build_Directory().
    Some css adjustments for the above, and some general tweaks.
    committed Mar 22, 2014
Commits on Mar 21, 2014
  1. Version 3.5.08

    Removed "cancelled" $message from Cancel_Submit_Buttons()
    Create_Table_for_Listing(): removed onclicks from html attribs.
    New: Index_Page_onclicks() assigns onclicks for Create_Table_for_Listing().
      ( Called at end of Index_Page() )
    Edit_Page_buttons(): removed some unused global references.
    FileTimeStamp(): localized a couple variables.
    Assemble_row(): some minor css cleanup & var renames
    Build_Directory(): Some general variable usage/readability improvments.
    committed Mar 21, 2014
Commits on Mar 18, 2014
  1. Version 3.5.07

    Just removed some developemental comments so version shows in header.
    committed Mar 18, 2014
  2. Version 3.5.07

    Added raw_view to $VALID_PAGES
    Added [View Raw] button to edit page
    Added $_['cancelled'], $_['View'], $_['View_Raw'], $_['edit_txt_00']
     (shuffled a couple other $_[] lines around)
    Changed $_['too_large_to_view_02'], $_['edit_caution_02'], $_['admin_txt_16']
    Removed $_['edit_note_04'] - resolved the issue it describes.
    Replaced global $Editing_OFCMS with $IS_OFCMS
      Affected:  Validate_params(), Verify_Page_Conditions(), Edit_Page_buttons()
    Added $GET['m'] so messages can be passed between pages.
    Initialize $message on line 1 so it can be used anywhere.
    Verify_Page_Conditions(): added action for raw_view "page".
    Cencel_Submit_Buttons(): added "cancelled" response message to [Cancel] button
    Removed ability to edit active copy of OnefileCMS. If needed, make & edit a copy.
     (Can still view it.)
    From CRM_Page, removed (don't remember why it's there...):
      <script>var $new_name = document.getElementById('new_name');</script>
    Converted from php message_box() to (new) javascript Display_Messages()
    As only used in HTML output, changed use of PHP_EOL to "\n"
    Removed class="icon" from SVG icons
    Renamed event_scripts() to pwun_event_scripts()
    Edit_Page_buttons_top(): Added [View Raw]
    Edit_Page_form(): always load Edit_Page_scripts()
    New: RCD_button(), in Edit_Page_buttons() only
    Some restructuring & improvements to Edit_Page_form() & Edit_Page().
    Assemble_row(): made some var's local
    Build_Directory(): slight streamlining
    Edit_Page_scripts(): added some onclick events in lieu of html attrib onclicks.
      Also added & shuffled some logic to fix edit page issues with Chrome.
    Tweaked/adjusted some css
    In Main Logic section, slight shuffle of some code to improve readability.
    Renamed 'edit_mode' cookie to 'edit_wysiwyg'
    Significant restructure & cleanup of Edit_Page_scripts()
    committed Mar 18, 2014
Commits on Mar 11, 2014
  1. Version 3.5.06

    Login_response(): Log each login attempt (failed & successful).
    $LOG_LOGINS Config option (true/false)
    System_Setup(): added $LOGIN_LOG_url, $LOGIN_LOG_file
    System_Setup(): to prevent execution of old backup files, changed the extension
       added from .BACKUP.php to -BACKUP.txt
    Admin_Page(): split out List_Backups_and_Logs(). Also, stay in php and echo
     everything, instead of jumping in & out of <?php ?>.
    Renamed List_Backup() to List_File()
    List_File(): Improved display of listed backups & [Delete] button.
    Moved scandir() from Get_Directory_Data() to Index_Page() for possible future
    And, you know, a couple css tweaks.
    committed Mar 11, 2014
Commits on Mar 9, 2014
  1. Version 3.5.05

    Moved $TO_WARNING from System_Setup to CONFIG section
    Countdown(): on $timeout_warning, switched back to addslashes() from hsc().
      When session expires out, also change message_box_contents.
      Increased delay from session time until login screen load from 3 to 10 sec's.
    CRM_response(): ignore when "New Name" field is blank - return to CRM_Page().
    Renamed pre_validate() to pre_validate_pwun()
    cleaned up Countdown() a bit: simplified some innerHTML values.
    Cancel_Submit_buttons(): [Cancel] now has default focus.
    Tweaked message_box_contents css.
    committed Mar 9, 2014
  2. Version 3.5.04

    Updated readme.
    committed Mar 9, 2014
Commits on Mar 8, 2014
  1. Version 3.5.04

    Moved php version check into System_Setup()
    Moved three functions from before, to after, Default_Langauge():
     validate_units(), hsc(), Convert_encoding()
    Current_Path_Header() tweaks: removed focus & tweaked css. added hsc()...
    Index_age_button_top(): To preserve spacing, echo <div id=mcd_submit> & </div>
      even if $file_count == 0
    Edit_Page_Form(): uncommented an <input> commented out in 3.5.02.
    CRM_Page() & MCD_Page(): removed <input name=base_location value=$ACCESS_ROOT>
    Respond_to_POST(): replaced $POST["base_location"] directly with $ACCESS_ROOT
    Moved the js functions Select_All() & Confirm_Submit()
       from common_scripts() to Index_Page_scripts()
    In hs function Build_Directory():
        Added filename to "tool tip" of file names in directory listing
    Some CSS shuffling & tweaks.
    committed Mar 8, 2014
Commits on Mar 6, 2014
  1. Version 3.5.03

    Minor update: Get_DIRECTORY_DATA() needed to set $filename if already in UTF-8.
    committed Mar 6, 2014
  2. Version 3.5.02

    Updated readme
    committed Mar 6, 2014
  3. Version 3.5.02

    OneFileCMS can now work with non-ASCII filenames:
      Replaced str_******() function calls with their mb_ versions.
      All file system calls (is_file(), file_get_contents, etc...) use $filenames
      converted to filesystem encoding (usually ASCII/UTF-8, but not on always)
      (And actually, only Windows is checked for currenly, else defaults to UTF-8)
    (But, OneFileCMS can not be named with non-ASCII characters. I don't know why.)
    Added Sort_and_Show() js function.
    General improvements to Get_DIRECTORY_DATA(), Index_Page(), Upload_response(),
     CRM_, MCD_, & related functions.
    Renamed Send_data_to_js() to Send_data_to_js_and_display()
    Improved check for optional external files ($CONFIG_FILE, etc...)
    Removed is_empty(). Hasn't been used since v3.4.06
    Moved validate_units() out of System_Startup(), even tho it's only used there.
    Renamed oridinalize() to add_serial_num().
    New: Convert_encoding() - wrapper for mb_convert_encoding()
    Adjusted wording of $_['mcd_msg_0?'], ? = 1,2, &3
    Some css tweaks & improvements.
    Increased $PRE_ITERATIONS from 200 to 1000. This will affect older IE,
    and maybe other browsers. It can, of course, be changed back it needed.
    committed Mar 6, 2014
Commits on Feb 22, 2014
  1. Version 3.5.01

    Switched all use of hte() to hsc(). hte() is superfluous with UTF-8.
    Updated comments about hsc() & hte()
    On innHTML = <?php echo addslashes($value) ?>, switched addslashes() to hsc().
    System_Setup(): added function validate_units($cssvalue).  Just because.
    $_['ext']: changed from just 'ext' to  '.ext';
    New: $_['folders_first_info']
    Added hsc() where needed in a few places.
    New: function Send_data_to_js().  Split out from Index_Page().
    Get_DIRECTORY_DATA(): check if file_exists() in case of encoding error.
    Index_Page_scripts(): changed some js CONSTANTS & flags for sort_DIRECTORY().
    sort_DIRECTORY(): Changed logic. A little more verbose, but seems clearer.
    In prep for an upcoming bug fix:
      added $ENC_OS, $ENC_UA, and $CLIENT_OS
      Also, tagged several places (with //##### ) where file system calls are made.
      The $filename strings used in the calls may need to be encoded with something
      other than UTF-8, depending on the underlying OS's filesystem.
        (such as NTFS, which uses UTF-16)
    committed Feb 22, 2014
Commits on Feb 19, 2014
  1. Version 3.5

    Missed a few files in the previous commit.
    committed Feb 19, 2014
  2. Version 3.5

    Directory list can now be sorted by column: name, size, timestamp, or ext.
    3.24.23 & 3.4.24 DO NOT WORK IN IE!
         I don't know why yet, mostly likely js related.
    New: $_['ext']            = 'ext';  // filename.ext(ension)
    New: $_['folders_first']  = 'folders first';
    New text "icons": $ICONS['dir'] = '[+]'; $ICONS['folder'] = '[+]';
    Index_Page(): get dir list, don't sort server side, but filter . & ..
    Create_Table_for_Listing(): Added <a>'s & onclicks for sort calls
    Create_Table_for_Listing(): Also switched from all echo "...", to direct html
      (except for a few echo's...)
    Get_DIRECTORY_DATA(): improved determination of $ext.
    Get_DIRECTORY_DATA(): added DIRECTORY_DATA[x][5] = $ext (for client side sort)
    Index_Page_scripts(): added a few global js variables for client side sorting.
                New ()'s: Sort_Folders_First(), sort_DIRECTORY()
    Display_Directory_Summary(): insert via innerHTML instead of document.write.
    Added some css for the directory header & footer rows.
    committed Feb 19, 2014
Commits on Feb 13, 2014
  1. Version 3.4.23

    Updated readme
    committed Feb 13, 2014
  2. Version 3.4.23

    Updated optional external stylesheet.
    committed Feb 13, 2014
  3. Version 3.4.23

    Added a couple new languaged strings.
    committed Feb 13, 2014
  4. Version 3.4.23

    Continued upadates in prep for sort by column:
    Directory listing is now built & displayed client side, via javascript.
      Removed: List_File(), Table_of_Files()
      Added  : Get_DIRECTORY_DATA(), Create_Table_for_Listing()
               Index_Page_buttons_top, Index_Page_scripts(), init_ICONS_js()
      New js : assemble_row(), Display_Directory_Summary(), Build_Directory(),
               hsc(text) (a basic htmlspecialchars)
    Added $ICONS['dir'], same as $ICONS['folder']
    New: $_['files'] = 'Files';  $_['folders'] = 'folders';
    format_number() now returns instead of document.write'ing
    FileTimeStamp() can return or document.write its result
    Some css tweaking...
    Increased $MAX_EDIT_SIZE from 150,000 to 200,000
    Increased $UPOLAD_FIELDS from 6 to 10.
    committed Feb 13, 2014
Commits on Feb 11, 2014
  1. Version 3.4.22

    committed Feb 11, 2014