{"action":"created","issue":{"url":"https://api.github.com/repos/openemr/openemr/issues/356","repository_url":"https://api.github.com/repos/openemr/openemr","labels_url":"https://api.github.com/repos/openemr/openemr/issues/356/labels{/name}","comments_url":"https://api.github.com/repos/openemr/openemr/issues/356/comments","events_url":"https://api.github.com/repos/openemr/openemr/issues/356/events","html_url":"https://github.com/openemr/openemr/pull/356","id":191460178,"number":356,"title":"Groups","user":{"login":"shachar058","id":18436155,"avatar_url":"https://avatars.githubusercontent.com/u/18436155?v=3","gravatar_id":"","url":"https://api.github.com/users/shachar058","html_url":"https://github.com/shachar058","followers_url":"https://api.github.com/users/shachar058/followers","following_url":"https://api.github.com/users/shachar058/following{/other_user}","gists_url":"https://api.github.com/users/shachar058/gists{/gist_id}","starred_url":"https://api.github.com/users/shachar058/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/shachar058/subscriptions","organizations_url":"https://api.github.com/users/shachar058/orgs","repos_url":"https://api.github.com/users/shachar058/repos","events_url":"https://api.github.com/users/shachar058/events{/privacy}","received_events_url":"https://api.github.com/users/shachar058/received_events","type":"User","site_admin":false},"labels":[{"id":433468182,"url":"https://api.github.com/repos/openemr/openemr/labels/Status:%20Needs%20Review","name":"Status: Needs Review","color":"f0f0f0","default":false}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":4,"created_at":"2016-11-24T08:34:46Z","updated_at":"2016-11-28T10:06:13Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/openemr/openemr/pulls/356","html_url":"https://github.com/openemr/openemr/pull/356","diff_url":"https://github.com/openemr/openemr/pull/356.diff","patch_url":"https://github.com/openemr/openemr/pull/356.patch"},"body":"Hi Brady.\r\nI would like to once again mention our gratitude, and that it is a pleasure for us to be working with a professional like you.\r\nThis pull request contains a very nice addition to the system. It adds a new entity to the system called 'therapy groups'. If the 'enable groups' global option is turned on, the left nav will have 'Groups' under \"Patient\" and works quite with the same structure as a patient. The appointment mechanism is the same. There is a Group tab next to Provider tab in add_edit_event screen. The group events show up in the calendar. there is a groups list screen etc. \r\nAs mentioned, everything group-related will show up only if the global is turned on.\r\nAlthough it is still under heavy development (e.g. the encounters mechanism isn't working properly) we already made a pull request because it is a large addition and we would like to already get feedback from you about it.\r\n\r\nThank you!\r\nshachar\r\n    "},"comment":{"url":"https://api.github.com/repos/openemr/openemr/issues/comments/263231187","html_url":"https://github.com/openemr/openemr/pull/356#issuecomment-263231187","issue_url":"https://api.github.com/repos/openemr/openemr/issues/356","id":263231187,"user":{"login":"bradymiller","id":278968,"avatar_url":"https://avatars.githubusercontent.com/u/278968?v=3","gravatar_id":"","url":"https://api.github.com/users/bradymiller","html_url":"https://github.com/bradymiller","followers_url":"https://api.github.com/users/bradymiller/followers","following_url":"https://api.github.com/users/bradymiller/following{/other_user}","gists_url":"https://api.github.com/users/bradymiller/gists{/gist_id}","starred_url":"https://api.github.com/users/bradymiller/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bradymiller/subscriptions","organizations_url":"https://api.github.com/users/bradymiller/orgs","repos_url":"https://api.github.com/users/bradymiller/repos","events_url":"https://api.github.com/users/bradymiller/events{/privacy}","received_events_url":"https://api.github.com/users/bradymiller/received_events","type":"User","site_admin":false},"created_at":"2016-11-28T10:06:13Z","updated_at":"2016-11-28T10:06:13Z","body":"Sure thing on the different escaping functions used (xl, xlt, attr, text, etc.). There are nice example of them found here:\r\nhttp://www.open-emr.org/wiki/index.php/Codebase_Security#SQL-Injection_and_Cross-Scripting_Prevention\r\nSEE STEP 4 for examples\r\n\r\nFor some more background, note these are really shortcut functions to make the code more readable. This is why some of the codebase uses htmlspecialchars (which were done before we had these shortcut functions):\r\nhtml escaping when not in html attributes:\r\ntext = htmlspecialchars($variable,ENT_NOQUOTES)\r\nxlt = htmlspecialchars(xl($variable),ENT_NOQUOTES)\r\n\r\nhtml escaping when in html attributes:\r\nattr = htmlspecialchars($variable,ENT_QUOTES)\r\nxla = htmlspecialchars(xl($variable),ENT_QUOTES)\r\n\r\nescaping of javascript literals:\r\nxls = addslashes(xl($variable))\r\n\r\nThe library for these functions can be found here:\r\nhttps://github.com/openemr/openemr/blob/master/library/htmlspecialchars.inc.php\r\n\r\nhope this helps. if still need clarification on this or other stuff, please always feel free to ask.\r\n(btw, plan to continue on your code review sometime over the next 1-2 days :) )\r\n-brady"}}
{"actor":{"display_login":"bradymiller"}}