{"push_id":760615469,"size":8,"distinct_size":0,"ref":"refs/heads/master","head":"3283befc21afa4f970cbc8b0194ed4b516a4efb7","before":"f3a1ec146a3928429243c92fe159092a83dae3ee","commits":[{"sha":"4444a29a0d075d1f1c3a9f4c59e436ee130c0843","author":{"email":"242714a9e91c8c370a07cd2928d6b051eb271fdd@hotmail.com","name":"jmeile"},"message":"* Added feature to the admin page to allow remembering the last choice of the\n  user regarding the disclaimer checkbox. This solution was a feature request:\n  https://github.com/jmeile/agreedisclaimer/issues/3\n\n  and it was solved through two cookies: AGChecked (true if the user accepted\n  the disclaimer on a previous visit) and AGLastVisit (date of the last visit\n  from the user). The last cookie is needed because I also intruduced the\n  capability of automatically expire old set cookies. This is useful if the\n  disclaimer terms are changed.\n\n  In order to manipulate cookies, the methods: getCookie, setCookie, and\n  expireCookie were added. I know there are methods in ownCloud to do this, but\n  I did not get them working. I even read the Developer manual, but there it is\n  not clear how to set the 'Response' object. I tried several options, but I\n  finished doing it with the php functions.\n\n  The respective methods to manipulate these cookies were added:\n  getCheckedCookie, setCheckedCookie, expireCheckedCookie, getLastVisitCookie,\n  setLastVisitCookie, and expireLastVisitCookie.\n\n  As a consequence, two new four new App settings were added:\n\n  * useCookie: Indicates whether or not use cookies for remembering the checked\n    status of the disclaimer.\n\n  * cookieExpTimeIntv: Cookie expiration interval for new cookies. It can be:\n    'days', 'weeks', 'months', or 'years'. If left empty, then the cookies will\n    not expire.\n\n  * cookieExpTime: Number of cookieExpTimeIntv when the cookies will be expired,\n    ie: if cookieExpTimeIntv is 'days' and this is set to 8, cookies will expire\n    in eight days.\n\n  * forcedExpDate: Date on which the already set cookies will expire. ie: if the\n    user visits the website and agrees the disclaimer the 8th of August, 2015,\n    then the 'AGChecked' cookie will be set to true and its expiration time to:\n    cookieExpTime + cookieExpTimeIntv. Suppose that the administrator sets now\n    this date to 30th of August because the disclaimer terms changed. Now, if\n    the user visits the website the 1st of September, then its cookie will be\n    invalidated and he will have to agree again to the disclaimer.\n\n  The respective methods: getUseCookie, getCookieExpTime, getCookieExpTimeIntv,\n  and getForcedExpDate.\n\n  The getCookieData method of the Config class will be used by the get_settings\n  route to get the cookie settings.\n\n* The feature request: https://github.com/jmeile/agreedisclaimer/issues/4\n  was solved by using the 'AGChecked' cookie on the UserHooks class.\n\n* Three new container parameters were added:\n\n  * datepickerDateFormat: this is the jquery datepicker format for storing\n    dates. It is set to: 'mm/dd/yy'.\n\n  * phpDateFormat: this is the php date format used for storing dates and it is\n    set to: 'm/d/Y'.\n\n  * phpTimeFormat: date and time format used for storing date. It is set to:\n    'm/d/Y H:i'.\n\n  As a result, the methods: getDatepickerDateFormat, getPhpDateFormat, and\n  getPhpTimeFormat were added to the Config class.\n\n  The convertDateFormatToPhp method was also added to convert datepicker dates\n  format to php, ie: 'mm/dd/yy' will be converted to 'm/d/Y'.\n\n  For converting dates on php, the method convertDate was added to the config\n  class, ie: the date '08/16/2015', format: 'm/d/Y', will be converted to:\n  '16.08.2015', format: 'd.m.Y'. Similarly, a convertDate function was added to\n  the utils.js to convert dates in javascript; here the datepicker format will\n  be used.\n\n  Please do not change this formats since it will break the application. If you\n  want to use a different format for displaying dates, then add the respective\n  translation to the string: 'mm/dd/yy' on the l10n file. Here you need to use\n  datepicker format and not php.\n\n* Unfortunatelly, ownCloud core lib do not include the datepicker locales, so, I\n  had to inject them manually through the datepicker_l10n.js file, which uses\n  l10n to translate the strings. It would be easier to use:\n  $.datepicker.regional[userLang], but the jquery library from ownCloud do not\n  include them :-(\n\n* Renamed the router: settings#get_files to settings#get_settings. Now not only\n  the file information from the disclaimer will be returned, but also the cookie\n  data. As a consequence, the method getFiles from the SettingsController class\n  was renamed to: getSettings\n\n* A setProp method was added to the Config class to set the application\n  settings.","distinct":false,"url":"https://api.github.com/repos/jmeile/agreedisclaimer/commits/4444a29a0d075d1f1c3a9f4c59e436ee130c0843"},{"sha":"28df88789ca816d8f4e245eb0d9bc404fcac205e","author":{"email":"242714a9e91c8c370a07cd2928d6b051eb271fdd@hotmail.com","name":"jmeile"},"message":"Fixed some typos on the code and also setting a minDate and maxDate for the\nforced expiration date. It seems that sometimes the datepicker minDate defaults\nto today, so, I set it to the 1st of January, 2015. The maxDate it set to the\ncurrent's date + 1 day; here it doesn't make any sense to set up higher dates on\nthe future","distinct":false,"url":"https://api.github.com/repos/jmeile/agreedisclaimer/commits/28df88789ca816d8f4e245eb0d9bc404fcac205e"},{"sha":"13fd79a49fb2e5f7c4bcccea0b130c735ca2275d","author":{"email":"242714a9e91c8c370a07cd2928d6b051eb271fdd@hotmail.com","name":"jmeile"},"message":"Updated version in info.xml","distinct":false,"url":"https://api.github.com/repos/jmeile/agreedisclaimer/commits/13fd79a49fb2e5f7c4bcccea0b130c735ca2275d"},{"sha":"f2a319fa0c6be097cfcbc4b1a53ad1fec6ee6150","author":{"email":"242714a9e91c8c370a07cd2928d6b051eb271fdd@hotmail.com","name":"jmeile"},"message":"Fixed undefined index error when the app settings are being modified the first\ntime","distinct":false,"url":"https://api.github.com/repos/jmeile/agreedisclaimer/commits/f2a319fa0c6be097cfcbc4b1a53ad1fec6ee6150"},{"sha":"1d1c98ce4177f94e6f27b4a7f2d395fe0a6d5dbd","author":{"email":"242714a9e91c8c370a07cd2928d6b051eb271fdd@hotmail.com","name":"jmeile"},"message":"Fixed problem with cookies: I was adding cookies with the path: '/owncloud',\nwhich work good only for domains of the form: http://mydomain/owncloud, but they\ndidn't for domains like http://mydomain (no /owncloud at the end), so, now the\ncookies are set with '/' and they seem to work","distinct":false,"url":"https://api.github.com/repos/jmeile/agreedisclaimer/commits/1d1c98ce4177f94e6f27b4a7f2d395fe0a6d5dbd"},{"sha":"719a85c4bc74515f32523e410511e829ef5a47e2","author":{"email":"242714a9e91c8c370a07cd2928d6b051eb271fdd@hotmail.com","name":"jmeile"},"message":"Fixed disclaimer spelling mistakes","distinct":false,"url":"https://api.github.com/repos/jmeile/agreedisclaimer/commits/719a85c4bc74515f32523e410511e829ef5a47e2"},{"sha":"fefa0515e975321d00790e59e92d3e63250d2b93","author":{"email":"242714a9e91c8c370a07cd2928d6b051eb271fdd@hotmail.com","name":"jmeile"},"message":"* Fixed issue:\n  dav sync error\n  https://github.com/jmeile/agreedisclaimer/issues/7\n\n  When using sync clients: caldav and carddav (and maybe others) to sync the\n  contacts and calendars from ownCloud, the app thrown the LoginException\n  indicating that the disclaimer wasn't accepted. In order to fix this, the\n  request object was injected to the UserHooks class and then the name of the\n  calling script was retreived with the Request class method 'getScriptName',\n  then compared to '/remote.php', which is the ownCloud script used for dav\n  synching. On this case, disclaimer validation is dissabled.\n\n* TODO: Remove debug messages","distinct":false,"url":"https://api.github.com/repos/jmeile/agreedisclaimer/commits/fefa0515e975321d00790e59e92d3e63250d2b93"},{"sha":"3283befc21afa4f970cbc8b0194ed4b516a4efb7","author":{"email":"242714a9e91c8c370a07cd2928d6b051eb271fdd@hotmail.com","name":"jmeile"},"message":"Debug messages were deleted","distinct":false,"url":"https://api.github.com/repos/jmeile/agreedisclaimer/commits/3283befc21afa4f970cbc8b0194ed4b516a4efb7"}]}