18 Commits

Author SHA1 Message Date
Peter Kokot
f06fee3640 Sync final newlines
This patch adds some missing newlines and trims multiple final newlines
into a single newline.

According to POSIX, a line is a sequence of zero or more non-' <newline>'
characters plus a terminating '<newline>' character. [1] Files should
normally have at least one final newline character.

C89 [2] and later standards [3] mention a final newline:
"A source file that is not empty shall end in a new-line character,
which shall not be immediately preceded by a backslash character."

Although it is not mandatory for all files to have a final newline
fixed, a more consistent and homogeneous approach brings less of commit
differences issues and a better development experience in certain text
editors and IDEs.

[1] http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap03.html#tag_03_206
[2] https://port70.net/~nsz/c/c89/c89-draft.html#2.1.1.2
[3] https://port70.net/~nsz/c/c99/n1256.html#5.1.1.2
2018-10-02 03:44:40 +02:00
Peter Kokot
9895f91d46 Trim trailing whitespace 2018-10-02 03:21:09 +02:00
Yannick Torres
e991d82e3e Fix checkFileTask method 2011-12-04 13:41:43 +00:00
Yannick Torres
21c1ebe7db Suspend ping processus when checking for errors on saving a file ; Display a warning when somethings goes wrong in this processus too 2011-11-01 12:42:58 +00:00
Yannick Torres
e232ed22e7 New :
* upgrade extJs to 3.2.1
* Remove "Pending commit" module in favore to "work in progress" module
* Remove "Pending patch" module in favore to "patches for review" module
* Add a field to ask for an email when we logging in. It allow users to contact others.
* Add a progress bar to allow user indicate the progression of his work
* Anonymous user are no longer "anonymous", as a cookie is set on connexion to "authenticate" him.
* Anonymous user can save a file as an authenticated user. No longer only use the "patch" button.
* New rules when a file is edited. When the file is edited by :

  - an anonymous user : authenticated user can always edit it. When he does, the owner change and anonymous user can't edit it again.

  - an authenticated user : anonymous and others authenticated users can't edit it. The first user must release it (eithers commit his change, or remove the change he does). Administrator can edit it. This can allow to override change made by an authenticated user. Administrators are defined per project in configuration file.

* We no longer allow a user to commit files changed by others users. An authenticated user can only commit his files.

Bugs :

  - fix bug #51767
  - fix bug that display internal file (.new) in some modules
  - change file() class beaviours
2010-05-24 20:04:32 +00:00
Yannick Torres
f0cac3ec63 Simplify the store ; remove unecessary arguments in some functions ; reindent ; move js/ui/component/ to js/ui/cmp/ to save some space 2010-04-25 15:39:34 +00:00
Yannick Torres
71bddb0960 change method name according to previous change (saveLangFile => SaveFile) 2010-03-22 21:48:17 +00:00
Yannick Torres
08f3a48f62 CleanUp code 2010-03-11 10:27:39 +00:00
Yannick Torres
9ca16323e7 Change the name of the class to reflect the new name of this app 2010-03-02 12:29:21 +00:00
Yannick Torres
c80c7b7985 More cleanUp with css & img 2009-12-29 15:53:04 +00:00
Yannick Torres
db5f67835b Fix error in the error iframe 2009-12-24 07:13:12 +00:00
Yannick Torres
7a34db02e7 Allow anonymous connection with no login & no password, or by providing 'anonymous' as login with no password. By default, add 'anonymous' value into login's form 2009-11-16 18:50:45 +00:00
Yannick Torres
cdbd408dbc exec jsLint on ui/task 2009-10-24 09:04:41 +00:00
Chan Ka Shing
f7bd0a3d1b modification/fix:
* adopted mod_rewrite, reflect changes to URLs
  * util.js - XHR will now always fire requset to server with mod_rewrite defined rule
  * login.js - reformat codes, cvs2svn adoption changes
2009-08-12 07:17:22 +00:00
Chan Ka Shing
8c30b3f9b1 Note:
This patch restructure the doc-editor php's architecture.
    But, cvs2svn is not yet covered and thus some functions related to repository log, update, commit are not functioning.
    class.php is no longer in use but kept for reference

modification/fix:
  * Update ToolsError to use DBConnection singleton
  * Update ToolsCheckDoc to use DBConnection singleton
  * Bug fix in Repository Tree for detecting Language of File
  * ErrorFileGrid is now updated right after a file was check for error
  * added lang in front of file path under MarkDeleteTask.js
  * fixed CommitLogPrompt failed to delete commit log

php re-factoring:
  * JsonResponseBuilder (utility class) created for constructing json responses
    - success (ExtJsController.getSuccess)
    - failure (ExtJsController.getFailure)
    - response (ExtJsController.getResponse)
  * DBConnection created for manipulating database connection
    - singleton
    - query (mysqli::query)
    - insert_id (mysqli::insert_id)
    - real_escape_string (mysqli::real_escape_string)
  * AccountManager created for manipulating user account
    - singleton
    - updateLastConnect
    - isLogged
    - login
    - register
    - updateConf
    - eraseData
    - email
  * CvsClient created for cvs i/o
    - singleton
    - passwdEncode
    - authenticate
    - checkout
    - update
    - log
    - diff
    - commit
  * RepositoryFetcher created for fetching phpdoc-all repository
    - singleton
    - getLastUpdate
    - getModifies      (get all modified files in pending commit)
    - getModifiesById  (get modified files in pending commit queue by id)
    - getPendingUpdate
    - getPendingReview
    - getNotInEn
    - getPendingPatch
    - getPendingCommit
    - getFilesByExtension
    - getFileByXmlID
    - getFileByKeyword (perform searching on file-path)
    - getFilesByDirectory
  * RepositoryManager created for managing phpdoc-all repository
    - singleton
    - checkoutRepository (exec cvs checkout, called in install/firstRun.php)
    - cleanUp
    - updateRepository (exec cvs update)
    - checkbuild (exec php configure.php)
    - addPendingCommit
    - delPendingCommit
    - addPendingPatch
    - addPendingDelete
    - commitChanges
    - clearLocalChange
    - setLastUpdate
    - postPatchAccept
    - postPatchReject
    - updateFileInfo
    - updateTranslatorInfo
    - updateNotInEN
    - applyRevCheck
  * File created for modeling php-doc files
    - isModified
    - read (read original/modified file content, depends on passed param & file state)
    - save
    - parseAttribute (class.php - revParseAttrString)
    - getEncoding
    - getInfo
    - rawDiff  (exec 'diff -uN file file.ext' with stdout output)
    - htmlDiff (exec php-file-diff with html output)
    - cvsDiff  (exec cvs diff with html output)
  * TranslatorStatistic created for computing statistic about translator
    - singleton
    - getTranslators       (get info about all translators for lang)
    - getUptodateFileCount (count up-to-date file contributed by every translator)
    - getOldFileCount      (count out-dated file contributed by every translator)
    - getCriticalFileCount (count critical file contributed by every translator)
    - getSummary           (summary of the statistic about translators)
  * TranslationStatistic created for computing statistic about translation
    - singleton
    - getFileCount         (count all file)
    - getTransFileCount    (count translated files for lang)
    - getOldFileCount      (count out-dated files for lang)
    - getCriticalFileCount (count critical files for lang)
    - getNoTransFileCount  (count not translated files for lang)
    - getMissedFileCount   (count not translated files for lang TODO... merge with getNoTransFileCount)
    - getNoTagFileCount    (count files with no revcheck tag for lang)
    - getSummary           (summary of the statistic about translation)
  * LogManager created for handling all logging activities
    - singleton
    - getCommitLog
    - addCommitLog
    - saveOutputLog
    - readOutputLog
    - saveBuildLogStatus
    - getBuildLogStatus
  * Utility (a namespace) created for different utility task
    - debug (*NOTE: under global namespace)
2009-07-23 13:45:59 +00:00
Chan Ka Shing
ec7a55c1aa modification/fix:
* apply singleton pattern to all unique component, singleton component can be obtained by ui.component.XXX.getInstance()
  * file panel exclude 'home' & 'end' key as modifying keys
  * file panel string concat using string.join() instead of operator +

main.js cleanup:
  * migrated phpDoc.saveLangFile into ui/component/FilePanel.js
  * migrated repositoryContextMenu into ui/component/RepositoryTree.js
  * sendEmail is now wrapped in ui/component/EmailPrompt.js
  * WinCheckBuild is now wrapped in ui/component/CheckBuildPrompt and ui/task/CheckBuildTask.js
  * WinUpdate is now wrapped in ui/component/SystemUpdatePrompt and ui/task/SystemUpdateTask
  * WinCommit is now wrapped in ui/component/CommitPrompt and ui/task/CVSCommitTask.js;
    CommitLog management is now in ui/component/CommitLogPrompt
2009-07-03 04:11:10 +00:00
Chan Ka Shing
fdab95a628 modification/fix:
* fix CodeMirror cannot display the end of vertical scroll [bug in last commit]
  * FilePendingOpen queue is now storing { fpath, fname } object instead of plain array
  * created static reference for singleton components, dependency on phpDoc.xxx are removed and use ui.component.xxx.instance instead
  * created static reference for PingTask, dependency on phpDoc.TaskPing is removed
  * remove .run() in task/*.js
  * fix openning multiple files will stop when some files already opened

main.js cleanup:
  * load configuration task is wrapped in ui/task/LoadConfigTask.js
  * menuMarkupEN & menuMarkupLANG is now wrapped in ui/component/FilePanel.js
  * newTabCheckDoc, newTabBuildStatus, winConf, winAbout is now wrapped in ui/component/MainMenu.js
  * getFile is now wrapped in ui/task/GetFileTask.js
  * confUpdate is now wrapped in ui/task/UpdateConfTask.js
  * winDiff moved into CVSLogGrid.js
  * newTabMailing moved into LocalMailGrid.js
  * newTabBugs moved into BugsGrid.js
  * addToPendingPatch is now wrapped in ui/task/SavePatchTask.js
  * addToPeningCommit moved into PendingCommitGrid.js
2009-06-26 10:29:45 +00:00
Chan Ka Shing
589c2c87f5 modification/fix:
* TODO update
    - [Bug report] ClearLocalChange in class.php would attempt to remove a unexisting file thus gives invalid json response
    - added 3 items for follow-up actions of this commit
  * reloacate PingTask from js/ui to js/ui/task
  * yui-compression script included js/ui/task/*.js
  * util.log is allowed to accept arbitrary length of argments
  * fix invalid argment passing in Ext.ux.CodeMirror initialize event
  * js/ui/component/CheckDoc renames config-args
  * fix "Refresh All Data" and "Check Build" failure due to http-timeout (bug of XHR abstraction.. pending decision of keeping XHR)

main.js cleanup:
  * FilesNeedUpdateGrid is now wrapped in ui/component/StaleFileGrid.js
    - staleFileGrid handle introduced to phpDoc-namespace
  * TreeAllFile is now wrapped in ui/component/RepositoryTree.js
  * vc-diff panel is now wrapped in ui/component/ViewVCDiff.js
  * exec-diff panel is now wrapped in ui/component/ExecDiff.js
  * main-menu is now wrapped in ui/component/MainMenu.js
  * save-patch prompt is now wrapped in ui/component/PatchPrompt.js

  * Introduced _saveEnFile, _saveLangFile, _savePatch for refactored FilesNeedUpdateGrid/TreeAllFiles
    - for backward compatibility, saveEnFile, saveLangFile, savePatch remain in main.js
    - check file when save is now wrapped in ui/task/CheckFileTask.js
    - save en file is now wrapped in ui/task/SaveENFileTask.js
    - save lang file is now wrapped in ui/task/SaveLangFile.js
    - will merge save en/lang file sooner or later
  * Introduced repositoryContextMenu to phpDoc-namespace
    - will be relocated into ui/component/RepositoryTree.js sooner or later

  * Introduced reuseable CVSLogGrid component in ui/component/CVSLogGrid.js
  * Introduced reuseable FilePanel component in ui/component/FilePanel.js

  * Corresponding changes due to adoption of FilePanel
    - AF-tab remains AF-FileID, AF-panel and sub-components are now named AF-ALL-###-FileID
    - FNU-tab remains FNU-FileID, FNU-panel and sub-components are now either FNU-EN-###-FileID or FNU-LANG-###-FileID
    - relocate attributes (isModifiedEn & isModifiedLang) of FNU-tab to FNU-ENG-File-###.isModified and FNU-LANG-File-###.isModified
    - FilePanel alone is able to sync-scroll with anothor FilePanel via certain configuration
2009-06-15 07:04:54 +00:00