Skip to content
Snippets Groups Projects
  1. Jul 24, 2019
    • aydreeihn's avatar
      Add/Remove Collabs Without Refresh · 5a5044ab
      aydreeihn authored
      This code allows users to Manage Collaborators without the page refreshing so that they will not lose any drafts that might not have been saved yet. Instead, adding/removing collaborators will show up instantly in the active collaborators section.
      
      This code also removes the http response from the updateCollaborators function. This triggers collaborators.tmpl.php to correctly update the active collaborators section without needing to refresh the page.
      5a5044ab
  2. Jul 12, 2019
  3. Jul 11, 2019
  4. Jul 10, 2019
    • JediKev's avatar
      xss: Install Form · c3ba5b78
      JediKev authored
      This addresses an issue reported by Aishwarya Iyer where inserting `<img src
      =x onerror = prompt(1)` into any text field on the install form will execute
      in the browser after the system is installed and you log in. This is due to
      us not sanitizing the content before it’s saved in the database. This adds
      `Format::htmlchars()` to the installer to ensure the text field data is
      sanitized properly.
      c3ba5b78
    • JediKev's avatar
      issue: Rogue Closing div Breaks HTML Thread Tree · 3bb4c0a1
      JediKev authored
      This addresses an issue reported by Vincent Monier (Xenos) where posting a
      single `</div>` tag as a message or response via the UI will break the HTML
      Thread Tree view. This is due to the `html_balance()` method not cleaning
      empty div tags. This adds `'div'=>1` to the empty tag array so that any
      rogue div tag + any empty div tags are properly removed.
      3bb4c0a1
    • JediKev's avatar
      issue: PDF Squares Instead Of Text · 69c50958
      JediKev authored
      This addresses an issue with Thai fonts (and a few others like Hebrew,
      Arabic, etc.) where printing a PDF will show square characters instead of
      the actual content. This is due to `autoScriptToLang` and `autoLangToFont`
      not being set to `TRUE`. This updates the mPDF config to set the value of
      `autoScriptToLang` to `TRUE` as this formats the HTML using the lang
      attribute for the specific language of the content. In addition, this
      updates the mPDF config to set `autoLangToFont` to `TRUE` as this selects
      the correct font to use for the specific language of the content.
      
      https://mpdf.github.io/fonts-languages/automatic-font-selection.html
      69c50958
  5. Jul 09, 2019
  6. Jul 03, 2019
    • JediKev's avatar
      issue: Search Reindexing Thread Entries · bbf1010c
      JediKev authored
      This addresses an issue where `IndexOldStuff()` doesn't reindex everything
      it's supposed to. The reindex leaves out all of the Thread Entries with
      empty titles or bodies. This is due to the SQL statement that retrieves
      thread entries. In the SQL statement, we check if the sum of the Thread
      Entry Title length and the Thread Entry Body length is greater than 0. If so
      we reindex the entry, otherwise we exclude it. The problem is both
      ```LENGTH(A1.`title`)``` and ```LENGTH(A1.`body`)``` can return `NULL` and
      you cannot add `NULL` (a string) to an integer. This updates the SQL to add
      `IFNULL()` statements around the possible `NULL` values so that if `NULL` we
      typecast to integer of 0 which can be added to integers successfully.
      bbf1010c
  7. Jul 01, 2019
    • aydreeihn's avatar
      Reformat Incorrect Reply-To Headers · e9dda94a
      aydreeihn authored
      In the event that we receive an email where the reply-to header is formatted with the name being an unquoted email, we should correct the name by inserting the quotes.
      
      Incorrect Format:
      adriane@enhancesoft.com <adriane@enhancesoft.com>
      
      Correct Format:
      "adriane@enhancesoft.com" <adriane@enhancesoft.com>
      e9dda94a
  8. Jun 28, 2019
  9. Jun 13, 2019
  10. Jun 11, 2019
    • aydreeihn's avatar
      Issue: Ticket Alerts vs Dept Recipients · 581f1f9c
      aydreeihn authored
      If an alert is enabled for only the Department Manager and the Department Recipients field is set to No one, the Department Manager still receives a notification.
      
      If the recipients field is set to no one, nobody should receive an alert regardless of what is checked on the New Ticket Alert selections.
      
      To fix this, we can do a count of what the getMembersForAlerts function returns. This function compares what is set for a Department's group_membership in the database to the ALERTS_DISABLED constant to return a query set of members that should receive an alert. If the count is 0, we know that alerts should be disabled.
      581f1f9c
  11. Jun 03, 2019
    • Jared Hancock's avatar
      task: Implement edit of task thread · 394ddee8
      Jared Hancock authored
      This fixes an issue where, for task threads, if an agent has the thread edit
      permission, the agent was neither able to edit his or her own entries, nor the
      entries of other agents.
      394ddee8
  12. May 29, 2019
    • aydreeihn's avatar
      Empty extra in list_items · 1309a6c7
      aydreeihn authored
      If you have a custom field that's based on a list and the default value is set to a list item where the extra field is empty ('') instead of NULL, you cannot set the default value back to 'Select a Default'. You CAN set it to other default values
      
      Extra is set to empty if you erase the abbreviation and save it. Should save as NULL instead of empty
      
      Note: for some reason this didn't work
      
      if ($k == 'abbrev' && empty($vars[$k]))
                      $this->set($v, NULL);
      1309a6c7
  13. May 23, 2019
    • JediKev's avatar
      issue: Account Registration Throws Errors · a7205073
      JediKev authored
      This addresses issue 4898 where a User that clicks the ticket link in an
      email alert to view the ticket, in that ticket view clicks the link to
      register for an account, fills out the registration form, and clicks Create
      will throw a an "Unable to register account. See messages below." error.
      When the Users get this error there are no messages below so they can't see
      anything to fix which prevents them from creating an account. This is due to
      the email field being disabled which means the value is not sent in POST so
      the system thinks the User sent no email address which throws a hidden
      "Email field required." error. We disabled the email field to prevent an
      attacker from accessing the user’s guest login and registering the user with
      a different email (possibly his own). This sets a POST value called 'email'
      to the client's email so that the registration process acknowledges and
      validates the email allowing registration to continue.
      a7205073
  14. May 22, 2019
    • JediKev's avatar
      issue: Retained Deleted ListItem Errors · a3297a25
      JediKev authored
      This addresses an issue where New Tickets will fail for Users with a deleted
      ListItem retained in their Contact Information form. This is due to the
      system deleting the `list_id` for the ListItem so when we run
      `getFilterData()` for the User we can't find the list which causes a fatal
      error later down the line. This adds an OR statement to the
      `SelectionField::getFilterData()` method to skip said ListItems if no
      `list_id` is present.
      a3297a25
  15. May 15, 2019
  16. May 10, 2019
Loading