Closes #2009 Moves Macro Strat Layer to an overlay and makes it transparent#2011
Merged
MuchQuak merged 1 commit intoDevelopmentfrom Jan 6, 2025
Merged
Conversation
…parent # Issue #2009 # Summary Move the macro strat layer to an overlay in the tile rendering and adds transparency so it can be put on top of other layers.
ljwalker
approved these changes
Dec 20, 2024
themerekat
added a commit
to Symbiota/African-Herbaria
that referenced
this pull request
Apr 8, 2025
* DwC-A Publishing and other minor bugs - the $this->encodeArr() function receives input array by reference, which means it returns nothing (null) * Minor error in Glossary * Utility class refactor (#1776) * Utility Class Refactor - Move OccurrenceUtility and UuidFactory into new utilities directory - Remap class import to new location - Remove non-static functions from UuidFactory into new GuidManager class - Remap GUID manager functions to new class - Convert UtilityFunctions class to GeneralUtilities placed within utilities directory - Remove getDomain from Manager class - Remap Manager->getDomain() to GeneralUtilities::getDomain() - Move TaxonomyUtilities into utilities directory and remap all function calls to new location - Rename SymbUtil to QueryUtil and move into /classes/utilties/ directory - Move and remap Encoding class into /classes/utilities/ directory - Move and remap Encryption class into /classes/utilities/ directory - Move and remap RdfUtilities class into /classes/utilities/ directory - Move and remap SpecProcNlpUtilities class into /classes/utilities/ directory -Standardize utility file naming * Media tools bug * Minor adjustment to previous commit * Update index.php Styling correction to map index top menu * add white background to quick search (#1799) * Add lang tags for exsiccatae pages (#1797) * Add lang files for exsiccati batch import * Add lang files for exsiccati/index * Add es and fr exsiccatae pages * Adjustments * add pt to batch import exsiccati * add pt translation to exisccati/index * Update batchimport.pt.php * Update index.pt.php --------- Co-authored-by: MuchQuak <loganpwilt@gmail.com> * Finish lang tags for editor/rpc (#1793) * Finish lang tags for editor/rpc - Combined all the lang tags in this folder into a single lang tag file (short) * Add lang tags to editor/tools * Update README.md with reference to CONTRIBUTING file (#1801) * add spiderfy to leaflet map search (#1804) Issue is so solve when their is over lapping markers of different groups, ie would not get clustered. * Inventory project rework (#1788) * Inventory Project updates - Update sanitation of input and output variables - Complete internalization -- Update import of language terms -- Add missing LANG tags and remove tags not referenced -- Translate French that were entered in English - Remove deprecated code * Use general utils for getting host info instead of exiting if statement (#1808) * Add French lang tags for taxonomy files (#1791) * Add batchloader and taxoneditor lang tags in fr * Add more French translations * Identification key 2024 10 25 (#1813) * Misc old modifications * Standardize Identification Schema * Misc old styling issues * Add info link to upload tool (#784) * Add info link to upload tool * add aria-labels and alts and general other 508 fixes as recommended by TVP * add translations --------- Co-authored-by: Mark <mark.aaron.fisher@gmail.com> * add scroll to clip panel (#1816) * Add SSH logo to footer template (#1814) * Drop Table and Triggers specprocessorrawlabelsfulltext (#1811) * Drop Table and Triggers specprocessorrawlabelsfulltext Drops Specprocessorrawlabelsfulltext table and triggers that aren't being used for anything * remove full text from rawstr because not being used in code base as of now --------- Co-authored-by: Edward Gilbert <egbot@asu.edu> * moved accessibility css links to head (#1823) * Fixed Headers for Dev branch (#1166) * Fixed few Headers * Few more translations * All Forbidden headings translate * More Page-headings translate * Few More Heading Translations * Latest Translations * Last few page-headings translate * Fixed page-heading self typos * add map interface title to map/index * Remove redundant lang tag * Edit checklist in different languages * Change word used for vouchers * Redirect lang files to "prohibit" shared lang file * Redirect lang files to "prohibit" shared lang file * Add full French translation of restorebackup * Add full French translation of uploadreviewer * Fix full translation of duplicatesearch.fr * Fix fieldstandardization non-English tags * Adjust capitalization * Reference prohibit lang file instead * More fixes - Add actual French editreviewer file - Fix references to prohibit lang file - Fix typos * Fix and clean up issues - Fix GEOLocate spelling - Finish references to prohibit lang file - Change some headers to screen-reader-only - Clean up some concats - Fix typos - Revert some lang tags for incompletely-converted files (for unused pages) - Add missing lang tags * Fix and clean up issues again - Finish references to prohibit lang file - Clean up some concats - Fix typos - Revert some lang tags for incompletely-converted files (for unused pages) - Add missing lang tags * Additional fixes - Remove partial lang files (they should be complete if they're present) - Fix references to prohibit lang file --------- Co-authored-by: Mark <mark.aaron.fisher@gmail.com> Co-authored-by: Nikita Salikov <nsalikov@asu.edu> Co-authored-by: MuchQuak <loganpwilt@gmail.com> Co-authored-by: Katie Pearson <katelin.d.pearson24@gmail.com> * fix: symbiota.org hyperlink Previously missing some characters that would prevent it from being used. * Add spacing in lists & change default font (#1815) * Add spacing in lists & change default font * Update main.css * Collections search fix (#1717) * removed line that adds category value to collections list * fixed cat checkbox when unselecting sub-cat * fixed the uncheck chips function * added class for slideshows to reset their z-index (#1843) * Remove associatedOccurrences and MaterialSupplies from Data Upload (#1848) * removed the associatedOccurrence and materialSample fields, commented out associations functions from finaltransfer() * commented out associatedOccurances fields * commented out deleted lines * Add lang tags for some georef files (#1868) * Add lang tags for some georef files * Fix typo * Finish language tagging of specprocessor/processor (#1883) Not sure if this file is in use, but it got one lang tag, so I figured it needed the rest * Checklist Voucher Management bug - Fix failure of voucher submission forms when max_input_vars is set to default value of 1000, or less. In such cases, form size is dynamically set within ChecklistVoucherReport to just shy of max_input_vars setting. - Fix corruption of desired html tags converted by htmlspecialchars - Add message when voucher output fails to match search terms - Remove unnecessary sanitation on: -- Input variables sanitized as an integer upon input -- Database output pre-sanitized within class functions -- Database integer output (e.g. primary keys) -- Input control variables that are not included within output -- Portal controlled LANG variables * Add Alternative Identifier Extension to DwC-A export (#1867) - Add Alternative Identifiers extension (https://rs.gbif.org/extension/gbif/1.0/identifier.xml) to the DwC-Archive export, which includes data backups - Add support to public download handler - Add support to DwC-A pub automation handler - Add support to DwC-A pub webservice handler - Exclude from CoGe data files - Mics adjustment to sanitation and language terms - Tested the DwC-A output file within the GBIF DwC-Archive validation tool: https://www.gbif.org/tools/data-validator Partially fulfills: https://github.com/orgs/BioKIC/projects/6/views/32?pane=issue&itemId=84586762 * cherry pick 44972a8b6 which adds missing translations to content/lang/templates/index.es.php and content/lang/templates/index.fr.php * Update index.fr.php * Update index.es.php * Add space and make types plural in collections/index.php (#1889) * added space between name and type and made types plural * added plural to fieldsets in both index and collstats * fix typo in observations, add default text to specimens and observations * Remove redundant font-family in variables * Revert "Remove redundant font-family in variables" This reverts commit ceb38d81b362679780ec8c9a115e1ade98cb3ad0. * Misc bugs to DwC-A publishing tool * Minor bugs - Move datasetKey assignment into condition that tests that it exists, thus avoiding warning - Set class variables to null, rather than destroy, which avoid warning when batch publishing multiple collections that have identifiers * minor adjustments to setup scripts setup_pre_4.4.bash will now no longer copy over existing template files setup.bash will now selectively apply permission changes recursively * Remove redundant css variable (#1894) * Optimizing Omoccuraccess Table For Improved Stats Collection (#1866) * swap engine to innodb on omoccuraccess to prevent table locks from causing slow downs * convert omoccuracesslink to innodb as well * Occurrence fulltext refactor (#1865) - Schema changes: omoccurrences table -- Add fulltext index to locality field -- Add fulltext index to recordedBy field -- Remove triggers that modified omoccurrencesfulltext table upon omoccurrences changes - Delete omoccurrencesfulltext table - Code modifications -- Refactor all query statements that made use of the omoccurrencesfulltext table Co-authored-by: Edward Gilbert <egbot@asu.edu> * Fulltext and skeletal Import other catalog parsing (#1870) * add other catalog parsing * Adjust occurrence editor auto parse of other catalog numbers to use split instead of regex for simplicity The regex was breaking and the is as simpler way of doing the same thing * add mysql table needed for change * trim other catalog numbers after parsing for occurrence Editor display so that they sort out dupicates * update setOtherCatalogNumbers to link to occurrences through upload spec so that inserted records will also get their records populated * Minor update improving identifiers ext improvement * Update default geothesaurus to include counties for Florida, Maryland, Guam, Montana, U.S. Virgin Islands (#1892) * Add Montana counties to default geothesaurus * Add Florida counties to thesaurus * Add Maryland, Guam, U.S. Virgin Islands counties * Update geothesaurus.sql Minor refactor: Broke large single insert up into multiple insert of approx. 2,000 records Added line breaks to improve readability and aid in future diff comparison --------- Co-authored-by: Greg Post <gregory.post@asu.edu> * fix references to TaxonomyUtil to included utilties directory (#1897) * added a null check * changed the styling of quick search * Search by association (#1495) * begin to implement front end of association-based search * continue fleshing out the front and back end of association-based search * rename some variables to be more accurate and fix a few array-vs-string handlers * remove assistive-text lines * fix issue with taxa suggest * DRY up taxa suggest in a way that is usable for more than one element on the same page * fix bug where reverse relationship was not returning results correctly * begin to flesh out populating readRequestVariables with association-related data * continue making progress with writing setAssociationRequestVariable method * continue working on setAssociationRequestVariable and subfunctions * continue subfunctionalizing * continue fleshing out the associated-taxon query * continue to make progress on the new search-by-association query infrastructure * get search results to display * Get the search criteria to display * subfunctionalize the chip button click to the handleRemoval method * only run getAssociatedTaxaSqlFragment when the relevant form field values are present in the query * fix the behavior of the chip removal * persist search terms * fix the non-persisting taxon type selection * remove var_dump * fix bug where association search is not playing well with taxon accordion * get the synonym searching to work * get the sql command for wider taxa to work but not to display successfully on the UI yet * remove spurious TODO and correct issue where usethes-associations and usethes were reversed * Fix bug where synonym choice is not being respected * Fix bug where synonym choice is not being respected * Add all reciprocal relationships to drop down menu and Exclude non-relevant controlled vocabulary from the association dropdown list * Accommodate no particular relationship in the search * Accommodate no particular taxon in the search * remove print statement * add none as an option to the association dropdown and handle its logic * remove cruft from classes/AssociationManager.php * clean up OccurrenceListManager * fix bug where family-based search was not working * make the taxstatus join only happen when family is selected from the dropdown * fix bug where there were duplicates in the relationship dropdown * respond to self code review * remove cruft * add a button to populate missing reverse relationships * make improvements to populating the missing reverse relationships and also add more ways to match the search results * remove reverse association section because the new entries in the database fixed that issue. This speeds up the search by a huge amount * add reverse search back in * get union statement to work, dramatically increasing speed of search * creates an inverse record if it can for each new association made and handles an error on that front more gracefully now * make pushing the button take the user back to the search page * relax uniqueness constraint on index UQ_omoccurassoc_sciname * relax uniqueness constraint on index UQ_omoccurassoc_sciname * fix bug where searching for taxon and then relationship separately was breaking * exclude reverse entries in omoccurassociations with basisOfRecord values of scriptGenerated from search results of getAssociationArr by default * add notes from meeting with Greg and Ed * fix bug where user causes error if they search for an association of family and then select scientific name instead of family * add redundancies if omoccurrences is missing sciname or family. Will try to use omoccurdeterminations instead * make AND od.isCurrent = 1 edits as recommended by Ed * comment out establish-inverse-relationship button * add parentheses * disable creation of inverse record * add missing home translations in other languages * change None to Not Specified in relationship type menu * fix bug in TaxonomyDisplayManager.php * add workaround for when just genus is added * add if statement back in * fix bug where an array needed to be passed by reference and fix other bug where tids were not being split into individual strings * Slight tweak to association sql --------- Co-authored-by: Edward Gilbert <egbot@asu.edu> * Js i18n (#1885) * add test translation for proof of concept * add spanish * convert en.json and es.json to en.js and es.js, respectively. Move them to better directory for them. Call them directly as a js file * Bugfix/dwc core json exporting (#1809) * need to htmlspecial chars for double quotes to show * adds proper csv encoding of dynamic properties * included jquery files for autocomplete * Improved regex for parsing verbatim elevation values (#1910) * Improved regex for parsing verbatim elevation values Generalized regex to capture any unit an range or not range with optional capture group. Should make maintaining and testing this feature easier and allow for easier expansion of accepted formats * change elevation parsing to only allow qualified units * changed number to collector number * Add occurrence identifiers to upload preview (#1905) * Add occurrence identifiers to upload preview * Adjust other catalog numbers to deal with potential null values * adjust other catalog numbers to only do the special case if there are no search variables * add delimeters to preview * Add endpoints for Taxon-based Morphological Characters Add following Lumen data models -- Morphological characters -- Morphological character states -- Character encodings/Attributes Add following endpoints within Morphological Controller -- Outputs all characters -- Outputs character and states data for a given character primary key (aka cid) -- Output attributes for a given character -- Update swagger documentation * Change yellow boxes to match portal theme colors (#1936) * Make new CSS class, change checklist, user, batchgeoref * Remove yellow and fix styling issue https://github.com/BioKIC/Symbiota/issues/1935 * Change light yellow to light color * Small lang tag changes, incl. reformatting (#1950) * Reformat lang tags of checklist.php * Add missing lang tags * Fix games tag * Handle enter for quicksearch form (#1951) * handle cases where enter is pushed in the quicksearch form both when user can edit and when not * DRY * added a function to check for parent's acceptedID * fix the Util typos * fix the Util function name according to Logan's changes * Fix typo (#1972) * Fixes Typos from master merge into Development (#1970) # Summary execute_query was changed to executeQuery and hotfix reverted that in some places when pull up changes * Remove redundant dwc reference in download dialog box (#1949) * Remove what is Darwin Core? It's redundant * Reformat lang tags of download/index.php * Update index.php * Remove depercated lang file (#1976) * remove depercated lang file * fixed so that target is correct * 1953 Implement default category in new search (#1958) * add print statements for troubleshooting * get the condensing to work * response to self code review * get the div reordering to work correctly * clean up cruft * Add Audio File Support (#1767) * initial pass at changing image table to media table there may be quite a few issues with regards to photographer and photographeruid being passed in from a postArray before things will work properly * missed because of unsaved file * taxon profile using new img id * removing duplicate file from saving * changing imgid to media_id * cleanup errors on using new media table on occurrence editor and individual * fixing image search to work with new media table * cleaning up last references to images table * clean of use of creator instead of photographer data * fix for insert images * Fixing error with occurrence editor and photographer * fix image delete functionality * editor fix * add new Media and Sanitize Class. Also a database trait to help break away from manager * update image tab to use media class * Update lang tags to be media related on imagetabs and occurrence editor * add hokey stop gap to only get width and height of inserted media if png or jpeg should be any image * commenting out test echos for connection usage * remove testing db pool class * fixing media classes isRemapplable * remove limiter on getImageMap for media type * fix Santize to use iterate over $val instead of $arr * update santize to return null if string can be identified This is to address the problem that integers coming from forms without a default value would be evalutate as strings. So the default is now null and strings that are empty that need to be stored that as empty strings instead of null should be handled accordingly. * Added UploadStrategy, SymbiotaUploadStrategy classes and addMedia function to media * fix path construction in the symbiota upload strategy * add rudamentry duplicate checking and recover * Add doc comments for Upload Strategy and Media. Refine api interactions for media and Upload Strategy * add remote media resource adding to form * Progress on Media::add edge cases surrounding images * implement image resize functions for gd and imagick * port system call to new media class imagick support * Edit db trait to keep write and read connections * update imagetab photographer to use creator * clean up and modification of UploadStrategy api and image functions * fixing some logic bugs in add media * removing debug echo * implement delete for Media class * add remove files flag to media::delete * use media delete flag from post request * implement media tag for Media class * remap media progress * fixed remapping media to correctly update the file path of the new occurrence * remove debug info on remap * rework remap media to not try and remap files than have already been added to the move stack * implement media diassociating * form errors for imgdetails * update imgdetails.php to work with any media * imagetab lang english lang update * get media by taxa id * fixing imgDetails submit and transfer image form * add audio files to taxon profile page * basic render function for media_items * fixing media_item to just no op media_item instead of erro * add media:render * add media to occurrence individual * add tpeditor support for images * get tpeditor working with Media class. Make adjusts to UploadStrategy to take path instead of vars to create path * old typo on creatorDisplay * adjust occurrence media fetch to put null sortoccurrence on bottom and low sortoccurrenc on top * imagesearch not shows audio results * add options to image search to query per media type * removing debug errorlog * fix image lib media_type param null check * updated translations for imaglib/search * add english media_types for imglib/search * image -> media translations taxa index * update missing translations for taxa/index * tp editor image -> media translations * tp image editor lang file updates * remove notes * Change en translation of tpeditor to use multimedia instead of media * Tpeditor updated langs * update imagelib/search translations * updating multimedia changes, removing unused langs tags, and fixng other translations for taxa/index.php * imgdetail lang updates * indx langfile updates * removing dead code in lang files occurrence editor * add has audio flag to search * updated dwc export to have audio files with correct values for ac core * updated import tool to only import image media Currently we are not supporting audio imports this will likely change in the future * add audio symbol to listdisplay when audio is present in occurrence data * swapping image root to media root variables and aliasing them in symbase so upgrade is easier * update occurrence individual lang files to remove multimedia from file open lang tags * update map search lang files to have audio option * add audio filter to map search * update lang files for download for media update * exporter lang update multimedia * add image and audio tags to records collections list * Image tab lang updates * imagelib index lang updates * contributors lang updates * site map multimedia update * collprofile translations * fixing header not being translated contributors * fix has_audio and has_image warnings * tpimageeditor generalizing lang for opening large image to large file * Removing dead code from media * Refactor of UploadStrategy to StorageStrategy and move to using Media class for update * Add Renaming to media files to update function in media class * Add better error handling and misc todos media * clean up remaining todos * allow remote audio to work * Add Audio Media support for data import * fix issue with specproccessor using imgid instead of media_id * cleaning up imgid usage with media table * Importextended media lang update * Updating Darwin Core Archive Publishing lang files to use media lang * Occurrence Editor Media Lang file update * fixed other data multimedia import * Add status signal and occid linking to multimedia url mapper * move Allowed media mime types to symbase so it is standardized about what we support * fix backwards compat of mysqli_execute_query * Fix backwards compat by changing database trait to class * Remove enums from media.php for backwards compat. Replace them with class enum facades * add schema patch for media table * add error redundency * OccurrenceEditorImages Remove from occurrence editor. All functionality was moved to media * internationalize media errors * add drop table for deprecated_media to fix key issue * Change instances of "multimedia" to "media In Spanish, largely "medios" * Misc lang file changes * Schema modifications - Change naming of new fields from snake_case to camelCase - Change input variables from snake_case to lowercase to match format of other variables associated with page * First pass of updating media_id to mediaID * Schema mods continued - Remap media_id to mediaID * Media Field Mapping continued - Remap imgid foreign key to mediaID for tables imagekeywords, imagetag, specprocessorrawlabels, tmattributes - Remap media API model and controller - Misc remapping previously missed * Adjust fk swaps to drop only if keys exist * fix query util * fix merge issue with query util * clean up mysqli_execute_query reference * Pulling latest merge from development * fix overwritten functionality of allowing for empty params in executeQuery --------- Co-authored-by: Katie Pearson <katelin.d.pearson24@gmail.com> Co-authored-by: Edward Gilbert <egbot@asu.edu> * [3.2] Cultivated name fix (#1232) * add cultivatedname field to taxoneditor form * change order of taxon intake form, add new column to taxa table, begin altering behavior or parseName method * implemented CRUD for cultivatedname in taxa table * split cultivatedName into two separate fields: cultivarEpithet (which is a valid DWC field) and tradeName for all CRUD endpoints * make cultivarEpithet a part of sciname and implement scinameDisplay for tradeName when it exists * Refactor scinameDisplay attempting to resolve tradename in scientific name display when selecting a taxon in occurrence editor. * adding a reference note * continue undoing scinameDisplay and its cascading effects * fix bug where getTaxaSuggest call was concatenating itself erroneously * DRY up and apply the splitSciname method in TaxonomyTrait * add cultivarEpithet and tradeName to TPEditorManager.php * remove references to taxonomy trait and fix null handler in said trait * fix syntax of commented out area * make tradeName store as all-caps and add placeholders to cultivar epithet and trade name * fix bug where quotations were being mishandled for cultivarEpithet and tradeName in TaxonomyEditorManager.php * add html escapes in field values and page heading * fix loadNewName method to accommodate cultivarEpithet and tradeName concatenations to sciname * remove cruft * fix bug where sciName exports did not have single quotes around cultivarEpithet * clean up cruft * add splitSciname to collections/individual/index.php * hide cultivated fields for taxonomyloader.php hide 'Cultivar Epithet' and 'Trade Name' fields unless Taxon rank is set to 'Cultivated' * minor fixes to RpcTaxonomy Fixes scientific name formatting displayed in taxonomyloader.php Parent Taxon field autocomplete. * add missing space in taxaSuggest before cultivarEpithet * change cultivarEpithet and tradeName from nullable to non-nullable in the schema * create function splitScinameByProvided Used by RpcTaxonomy class (called in /taxonomydynamicdisplay.php aka Taxonomy Explorer) to format display of taxonomic names. * Update RpcTaxonomy.php Add missing single quotes around cultivarEpithet * add new properties and rename a few to better reflect the global pattern. Also add missing translations and handle nulls better where indicated by the php warnings * remove cruft and clarify comments * disable some fields in the occurrenceeditor and respond to more self-code-review feedback * remove likely spurious use PHPUnit\Util\Json; in classes/TaxonomyEditorManager.php * respond to self code-review * remove wrongfully committed file * use Development version of js/symb/taxa.taxonomyeditor.js to undo autoformatting * respond to self code-review * re-enable the previously-disabled family and author inputs in occurrenceeditor * default to occurrence-level sciname if tidinterpreted is missing for full detail occurrence display page * fix bug where cultivarName and tradeName were not in fact empty strings in the loadNewName method * cherry pick 404f11a9a from cultivated-name-fix-searchresultlist-formatting and separate a long line of code into a few shorter lines for readability * Improve Display of Taxonomy Include cultivarEpithet and tradeName in Taxonomy Tree display & add cultivarEpithet and tradeName to Taxonomy Export. * Correct author display logic * Add CultivarEpithet and Tradename to Taxonomy Importer Co-Authored-By: Mark <mark.aaron.fisher@gmail.com> * cherry pick 3bca1dabe from cultivarEpithet-Determination-format-fix * Update Sci Name parser to include cultivar epithet and tradename (#1654) * added regex to parse sciname, cultivar epithet, tradename, author * removed spaces * added special characters to tradName and cultivarEpithet * hide taxon name input when cultivated is selected * fix bug where choosing something not cultivated did not add the taxon name field back in * fix bug where I did not commit a file that I did not think was important, but I was wrong * move author div before cultivar epithet when cultivated is selected and back when it is not * relax not null assertion for cultivarEpithet and tradeName and also change cultivated to cultivar for exports * prevent upload when cultivar designated but both cultivarEpithet and tradeName are missing * improve styling for error message * begin to implement new splitScinameFromOccArr method * create and improve upon splitScinameFromOccArr * add unit test * freeze progress on improvements to the splitSciname and splitScinameFromOccArr methods * Cultivar import adjustments - Include cultivar and tradename when rebuild scientific name - Set rank for cultivar taxa - Set parents of cultivated taxa - Integrate cleanInfra directly into code. It served no purpose being separate, and was causing parent authors to be incorrectly merged with insfraspecific authors - Add "cultivar" as an alias for field mapping * add recommended changes to cultivarEpithet and tradeName schema * fix issue where sciname was populating with rankName of Cultivar * remove cruft * DRY up the trade name and cultivar epithet standardization * fix bug where cultivarEpithet and tradeName were being italicized in taxa/index.php when they should not be * handle edge cases where cultivar epithet is missing * remove default italicizing of the entire sciname div * fix and DRY some things during self code-review * respond to more self code review and try to standardize usage of standardizeCultivarEpithet and standardizeTradeName * make taxoneditor.php interface function similarly to taxonomyloader * change parser to single quotes for cultivar * improve the form logic when various taxonRanks are selected into edit mode or changed dynamically during edit mode * continue work on accommodating the weird behavior of subgenus and making the code more readible * make the labels and hidden divs behave correctly in the taxonomy editor * fix lingering rendering bugs in taxonomy editor * get taxonomy creation to behave very similarly to taxonomy editor and fix some bugs where cultivarEpithet and tradeName were not saving * Remove special treatment of subgenus selection * cherry pick of 47b48d53b: Move quick parser into separate field set, Add button to run quick parser, Change this to a single-use quick parser: it parses the text and then it goes blank, and begin to implement display sciname * add a display of cultivar epithet and tradename * change header of taxa/taxonomy/taxonomyloader.php and width of input field * begin working on small refactor where rankId for cultivated is removed * add comments to track where things happen * fix bug where curly single quotes were causing formatting issues * remove minor cruft * simplify regex expression in light of search replace * begin to decouple cultivarEpithet and tradeName from rankId in js/symb/taxa.taxonomyeditor.js * implement taxonomy editor decoupling of cultivarEpithet and tradename from taxonomy rank * remove cruft * implement same logic for taxonomy creation as for taxonomy edit * remove Cultivar from taxonunits * revert sections of the decoupling of CE and TN * fix spurious dash causing js error * fix bug where infraspecific field was not being used during auto parse * fix issue where auto-parser turns off upon cultivar selection and add colon to unit 1 ind label * begin to implement more sophisticated duplicate checker to the taxonomy creation * remove some cruft * fix bug where sciname and scinamedisplay were not changing when cultivar was deselected, which meant that the duplicate checker was also breaking * add check for uniqueness in taxonomy editor and tie it to the submit button * fix bug where author-div was not rendering correctly after cultivar was selected and then selected away from * move author div below unit1 and unit2 * remove cruft * fix issue where purelyAestheticRankNames were being used as the labels for unit1 * add rankId 300 back in * fix bug where cultivarEpithet and tradeName were not rendering in OccurrenceEditorDeterminations.php * internationalize the error message about missing cultivarEpithet and or tradeName when occurrence is designated as cultivated * remove previously untracked files and remove crufty comments and other minor clean up items * attempt to DRY up shared constants and methods in js/symb/taxa.taxonomyeditor.js and js/symb/taxa.taxonomyloader.js and come across module export/ nested js file issues * DRY the js files more * DRY more shared functionality, fix bugs with taxonomy creation * fix more bugs in taxonomy creation after DRYing up code * fix bug where cultivarEpithet edits were being doublequoted in a way that was only noticeable in export * fix bug with TaxonomyUtil path * respond to self code review feedback * whittle down number of alerts * fix bug where missing parent taxon alert was triggered multiple times. Ended up being the duplicate taxonomyloader.js file invocation that was the problem, but other stuff got cleaned up in the meantime * silence alerts and add new error span * add require field start and key * reduce debounce time * fix bugs where cultivarEpithet was being saved with quotes and was displaying in duplicate * clean up * SQL error fix - If cultivarEpithet is empty, the value needs to be set to NULL, otherwise SQL error is thrown due to that field being set to nothing (e.g. cultivarEpithet = , tradeName...) - tradeName with an empty value should be set to NULL rather than empty string. Only the author gets set to an empty string due to it being part of the unique index * Fix bug where we try to edit the notes or source of a collection, the submit button becomes disabled within a message stating that the name already exists, but it is because it is matching on the active record. * DRY up code by removing redundant call to checkNameExistence * Fix bug where notes editing initiates a uniqueness check * Fix bug where display author is not working for taxa with rankid >= 180 * fix bug in taxonomy creation where unnecessary checkExistence was being called, add better async handling, and remove crufty param from method signatures and calls * remove unecessary comments * pass original form currently to bypass checkcheckNameExistence if entryHasNotChanged is true --------- Co-authored-by: Greg Post <gregory.post@asu.edu> Co-authored-by: NikitaSalikov <86389284+NikitaSalikov@users.noreply.github.com> Co-authored-by: Edward Gilbert <egbot@asu.edu> Co-authored-by: Nikita Salikov <nsalikov@asu.edu> * Coordinate verification (#1761) * Reactivate coordinate verification * move coordinate geocode checking to use local geographic thesaurus * Change path ver to force refresh of sj * add simple check and response if no matches when verifying coordinates * Update verification algo to check database synonyms and field specific synonyms * Add warning if entered locality data doesn't match locality info and their are not matches * fixing exists only check geoterms with polygons * fixing error not firing * Add missed check, artifact from prototyping --------- Co-authored-by: Edward Gilbert <egbot@asu.edu> * Add Syntax fixes to 3.2 Schema Patch (#1993) * add fixes to patch * another semicolon fix * fix media import * Improves search ordering for geothesaurus search closses #1995 (#2001) * Cleaning up loose echo (#2004) * Closes #2003 Cleaning up creatoruid instead of creatorUid (#2005) * Closes #2002 Fixes Ocr Processor Reg Expr Dialog (#2008) # Issue #2002 # Summary Fixed JQuery selector so that it wasn't hitting a duplicate id on another tab. * Closes #127 Copy more values Georefclone (#2006) * Closes #127 Copy more values Georefclone # Issues #127 # Summary Adds functionality to `georefclone.php` to copy over `georeferencedBy`, `georeferenceSources`, `georeferenceRemarks`, `georeferenceProtocol`, `georeferenceVerificationStatus`, `footprintWKT` fields into the occurrence editor when using cloned coordinates * fixing query util issue * add back form closure * Change input color to blue if input is changed and toggle open div if it is closed so all change values are easy to see * move toggle to more browser supported method * move the lang lines to proper file * 1152 remove record id and show something in occurence (#1987) * remove record-id-div from collections/individual/index.php * handle logic for different guidtarget values * respond to self code review feedback * remove cruft * restore Development version of classes/OccurrenceIndividual.php * removed extra parentheses * Replace some lang tag issets (#2000) * fix bug where Perhaps you were looking for searches went to harvestparams always (#2017) * add to symbini_template (#2016) * Closes #2009 Moves Macro Strat Layer to an overlay and makes it transparent (#2011) # Issue #2009 # Summary Move the macro strat layer to an overlay in the tile rendering and adds transparency so it can be put on top of other layers. * change default behavior for quicksearch to include cultivated (#2029) * removed grids, added block displays * increased the media resolution * Wkt to geojson (#1432) * move checklist to read geojson footprint if present * finish geojson conversion for mapcoordaid and retiring of checklist/mappolyaid and checklist/mappointaid * swapping map search logic to use geojson for polycoord values this will not work without a change in the data to omoccurpoints being long lat instead of lat long. This is because the spacial idex functions within will be off since the different spaces exist * temp file to track work * Removing unused functions and changing point to lngLatPoin * adding footprintGeoJson to Voucher Admin * organizing notes * fixing voucher conditional so all taxa in checklist area can be searched * adding getClFootprint which gets the footprint that is there for checklists whether wkt or geojson * fix fitshape to properly bind this * added case for leaflet map that will bound on shape if present * added proper support for geojson polygons from map search * removing redundent case for geoSqlWhere since clid is already in sqlWhere * removing unused code comments * adding seperate util js file for map helper tools and jsdoc defintions to reduce duplicate js functions * adding support in collection search for geoJson search * adding geojson support for collection/search and haravest params page * updating mapShapeHelper docs and polygon loader to support wkt and geoJSON * Making voucher manager protected to remove wrapper functions to pass getClFootprint * swapping to use mapAid util * removing unused get footprint function, was move to use only voucherManager's version * moving last of p.point in omocurpoints to p.lngLatPoint * removing footprintwkt in favor for footprintGeoJson and removing wkt language from variables to avoid confusion * swapping geojson * removing openMappingPolyAid from occur editor in favor of mapAidUtils openCoordAid * removing openMappingPolyAid from checklist admin * add checklist admin class to voucher admin along with hidden footprint input so footprint can be updated from save query variables form * map manager fixes to properly merge * fixing new and old search form to work with geoJson when loading collections/list.php * Allowing geoJson polygon search coords to be passed via url and change polycoords to footprintGeoJson and removed redundent code associated * creating patch for 3.2 schema updates which swaps to lng lat points and geojson for existing checklist geoms * Fixes 3.2 schema script issue for changing spacial coordinates * fixing occurrence update issue * change omoccurpoints to innodb * pass cl coordinates to mapaid * fixing 3.2 schema patch delimiters * remove if not exists from alter table statements to support mysql * 1943 cookie for accordion preferences (#2038) * implement localStorage solution for accordion toggle preferences * begin to implement user preference of accordions * change sessionStorage to localStorage for persistance across browser sessions * remove crufy setPreferredAccordionIds * give the taxonomy accordion special treatment with a default to open but still responsive to preference * make localStoarge respond to expand and collapse all accordions * moved the taxa group and language divs * moved the please cite div on top * Db patches (#2033) * Closes #2021 (#2051) # Issue #2021 # Summary Coalece undefined and null values to empty string in the tooltip tags so that undefined isn't displayed if the record is missing `instcode` or `collcode` * Closes #2014 Hides last updated date from Live Manages Col Profiles (#2043) # Issue #2014 # Summary Only displays last updated date when the collection managementype isn't live data * Closes #2048 Fixes logic error with ?? operator (#2056) # Issues #2048 # Summary Fixes logic error with ?? * Update occurrenceeditor.css (#1869) Fix image 'stretching' issue in occurrence editor * Batch update higher geography terms (#2022) - Add code to batch populated null countryCodes and continent whenever occurrence imports happen or collection statistics are updated within a collection. Updates are global across all collections no match which collection they are triggered within. - Add SQL to 3.2 DB Patch to batch update all countryCodes and continent values and index relavent fields with geographic thesaurus. DB patch statements are placed within separate file, which will be merged into 3.2 patch at a later date. - Add country code to all DwC-Archive output - Add code to public occurrence search interface that translates country terms to iso2 abbreviations - Adjust state abbreviation translation code within public occurrence search interface to prepared statements * Continued adjustments * cherry pick 5bf47670d - fix typos and minor bugs in collections/search/js/searchform.js (#2073) * whoops. This one actually does not seem like a bug after all. Earlier Mark was smarter than yesterday Mark (#2077) * Update db_schema_patch-3.2.sql - Clean-up omoccurrences trigger resets * Update db_schema_patch-3.2.sql - Update to occurrence latlng point updates * DB Patch adjustments continued - Continued reworking of DB Patch - Minor code changes to match adjustment to table and column names * Removes Multiple Types from function signatures (#2079) # Summary Mutliple return and parameter types are not compatible with php 7 so this changes reverts code to make it compatible * removed cleanoutstr for collectionname and users * Enhancement/js rendering occurrencelist (#2071) * intial template for js rendered occurrence list * Adjust js table to render actual point data * simple pagination finished with data * fixing random open divs * Add first|last and left | right arrows on the pagination * fixing some page start issues * Remove usage of occurrencelist, Rework Cross Portal Searching to use js rending and append onto main portal results * fix start index of js rendered table * Fix Jquery record table loading for intial rendered tables * Closes #2053 Closes #1845 * Add event date to map coordinate data * Adjust see map to be a globe * Adjust map globe to sit in middle of table vertically * Add catalog and collector hyper links to occurrence record and add taxa link via tid * fix client root not being add in domain * Mods continued - Update schema manager to be able to handle 3.2 patch - Skip pre-3.0 adjustments when schema is a 3.0 install - Misc adjustments to 3.2 schema patch - Add try/catch to ProfileManager to avoid fatal error when schema has not yet been installed - * Update SchemaManager.php Minor fix for updates to schemas > 3.0 * Update symbbase.php Reset to code version to 3.2 * Adjustments to Profile Check - Change how profile settings are checked within symbbase, which is called each time a page changes. Changes make sure that the connection is closed right after checks, so that connection does not precise during long lived pages. Thus, reduces chance of out-of-connection errors * 3.2 patch additions - Add schema and data adjustments needed for countryCode and continent activation * Adjustment - Move remove indexes associated with old media table prior to creating new media table, thus avoiding fatal error thrown when creating new table * added searchvar js var to list.php, added protocol to list.js * revert to using php var * added double quotes * Closes #2106 Fixes Media Batch Tag Updating (#2107) # Issue #2106 # Summary Adjusts usage of imgid to mediaId on input so that the postArr would pull the correct id information instead of erroring * Add tags to DwC-A media extension (#2102) - Add images tags to DwC-A media extension file * Update the verbiage of the batch tagging message (#2121) * Update db_schema_patch-3.2.sql (#2105) Update table references to lower case * Update OccurrenceMaintenance.php Correct case of tablename (DB tables should always be lower case) * remove cruft (#2087) * check for whether is set using PHP not javaScript syntax lol (#2122) * Closes #2010, Adds simple popup to assist with color recognition (#2027) * Closes #2010, Adds simple popup to assist with color recognition # Issue #2010 # Summary Hooks into the macrostrat api to pull lat long input when the macrostrat layer is clicked. * Filling about the popup with desired info * External linking on strat_names * style adjustments * better error handling on popup construction * Word adjustment for strat_names label * Closes #2108 (#2118) # Issue #2108 # Summary Adds inits for locality suggest for locality fields `country`, `state`, and `county` * Saves additional objects to the leaflet map object (#2070) * Saves additional objects to the leaflet map object This allows for later manipulation without modifying Symbiota code In particular: - Adds the layerControl object, allowing for layers to be added, removed, renamed, or re-ordered - Adds the scaleControl object, allowing it to be moved around the map (the default placement is obscured by the search panel) - Adds the taxaClusters generated by markerClusterer, allowing for them to be manipulated (e.g., turned off and on). * Removing Merge Artifacts --------- Co-authored-by: Logan Wilt <91149982+MuchQuak@users.noreply.github.com> * Closes #2125 Replaces Flaky regex with String Parsing (#2132) # Issue #2125 # Summary This is putting back code that was lost during from the back merge of master into development which was breaking functionality. Originally this regex was causing issue and being inconistant and replacing it with the use of a singluar explode function will make it more robust * Closes #2143 Fixes Record Linking (#2146) # Issue #2143 # Summary Makes default value 'N/A' instead of empty string so records links can happen regardless if the value is present * Remove sorting from public query (#1839) - Remove sorting from public display as the default action - Add sort option to occurrence list display - Fix bug that was not displaying first record when sort was being used - Fix issues with "comingFrom" variable controlling navigation links based on which search form (new or old) user originated from. Necessary because some portals have both forms listed within their main menu. - Internationalization additions and adjustments - Sanitation improvements * Closes #2119 Fixes Media Form History (#2148) * Closes #2119 Fixes Media Form History # Issue #2119 # Summary After search variables that were previously selected were not being overidden by changes in the form. This was do to altering the form action in order to preserve the url after a post. Fix was to load this with js so that the history is correct but does not pollute the next request. * cleaning up logic * 2111 bugfix missing image in cloned resource (#2150) * add useful print statements * add putative solve * remove print statements * changed the class to tsedit for family div * Small language fixes (#2152) * Fixes https://github.com/BioKIC/Symbiota/issues/2114 * Fixes https://github.com/BioKIC/Symbiota/issues/2138 * Fixes https://github.com/BioKIC/Symbiota/issues/2147 * Addresses https://github.com/BioKIC/Symbiota/issues/2137 * Fixes https://github.com/BioKIC/Symbiota/issues/2124 * The rest of https://github.com/BioKIC/Symbiota/issues/2114 * [3.2 bugfix] fix bug where points array is null for non-volunteers (#2161) * fix bug where points array is null for non-volunteers * remove line space * Print errors from buildHierarchyEnumTree during taxonomy upload * Schema management dev - Rework image to media transformation to rename table rather than creating a new table and then transferring records. This is needed to avoid issues with losing previous customizations to image table. - Drop deprecated tables to save space - Fix issues with omoccurpoints table - Misc error fixes to km table statements - Fix bug with counting and reporting line numbers of schema patch - Add ability to skip statements for 3.x and 1.x installs if statement does not apply to that major version * Closes #2155 Fixes `sourceUrl` Key typo (#2159) # Issue #2155 # Summary Fixes `sourceUrl` key typo and some language tags for `PHOTOG_OVER` and `DISPLAY_PHOTOG_OVER` missed from recent pr * unified the namings for sortOccurrences, creator and creatorUid * removed the extra escape in update function * Replace image with media in lang tag (#2173) * Closes #2156 Fixes Sql Issue (#2166) # Issue #2156 # Summary Fixes mysql query error during query construction * Closes #2157 Fixing Language Tag Typo (#2165) # Issue #2157 # Summary Fixes typo of lang tag * Closes #2117 Url Mapping Upload Adjustments (#2158) * Closes #2117 Url Mapping Upload Adjustments # Issue #2117 # Summary Adds Required Fields for media upload `format` and `originalUrl` must now be mapped. There is a js alert for when they aren't. Subsequently if the values are null the row will not be imported and a notification will be show stating if either values are null * removing debugging var_dump * removing added debug sql condition * Remove odd status echo that says nothing of use and is confusing * Add Required Fields * Add naive ext2Mime Function Media * Replace Required format with selected upload type to infer mime base on extension * Make adding user autocomplete in collprofiles.php (#2178) * added autocomplete, moved getuserlist to collections/rpc, changed paths * Change wording of user entry form --------- Co-authored-by: Katie Pearson <katelin.d.pearson24@gmail.com> * Add island, island group, and continent fields to batch update tool (#2182) * added continent, island and island group fields to batch update tool * added water body field * added island, islandgroup, continent, waterbody to record search form (#2185) * Fixes Shape Dragging (#2186) # Summary - Some odd depedency errors were causing dragging to no work because of different leaflet version. Solution was to update a core lib via cdn and then just import the parts we are using do get polygon dragging to function without touching other dragging functionality. * Closes #2141 Generalize Associated Media Upload (#2177) * Closes #2141 Generalize Associated Media Upload # Issue #2141 # Summary Fixes typo that was breaking `associatedmedia` fields ability to do image imports Extended `associatedmedia` field's scope to work with audio files Added `mediaType` field to `uploadimagetemp` table to accomadate the needed multimedia capcity. Removed "image" hard code as a result of this. * Fixing jpeg and remote file parsing for bulk uploads * fix str dep error * Remove checklists/mappolyaid.php (#2194) * Remove checklists/mappolyaid.php # Summary This was depercated a bit ago and mapcoordaid.php which as expanded to be able to acheive the same functionality. Did a double check to make sure it wasn't used anywhere and it is not. * Remove unnecessary lang tags --------- Co-authored-by: Katie Pearson <katelin.d.pearson24@gmail.com> * Bugfix/map boundary rework (#2193) * Add Mapping Util with map related helper functions * Closes #2191 Fixes Map point aids not adhearing to bounds * Remove checklists/mappointaid because all have been pointed towards collectons/mappointaid which is now general purpose * Adjust mappoint aid to set zoom to appropriate level if a marker is present * Changed default boundaries to most of globe --------- Co-authored-by: Katie Pearson <katelin.d.pearson24@gmail.com> * added the overflow-wrap (#2196) * Closes #2067 Fixes UTF-8 encoding issue (#2201) # Issue #2067 # Summary Removes 'UTF-8, ISO-8859-1, ISO-8859-15' params from `mb_detect_encoding` because it was causing issues when interpreting UTF-8 strings * Dynamic Map Adjustments - Use getDomain within utility function to ensure map redenders when SERVER_HOST is not set within symbini file. - Remove some unused variables - Remove isset LANG fragments * [3.2] Bugfix issue #2136 remove asterisk in view mode (#2199) * only add star in edit mode * respond to QA feedback * remove cruft * Schema Adjustments - Add functions that evaluates index and constraint statement fragments and compares them against database to ensure statements will not fail. Otherwise, they are pruned out and logged. * More adjustments * Schema Installer bug fixes * Misc adjustments - Fix errors testing column existence within ALTER TABLE statements - Improve error handling * Schema adjustment - Re-add statements that got pruned out * Update ImageLocalProcessor.php (#2220) add missing table name. Resolves #2219 * SymbUtil bug - Maps to new location for query utility static function - Resolves issue #2229 * 3.2 bugs - use of old images table within SQL statement * Closes #2231 Fixes sort sequence being overwritten default being overwritten by empty form value (#2233) * Closes #2231 Fixes sort sequence being overwritten default being overritten by empty form value * Fix undefined variable issue * Fix undefined array key being used after access issue * remove redundant showAllDescriptions (#2198) * Minor crowdsource adjustments * [3.2] Hotfeature (lol) /api/v2/exsiccata (#2242) * fix bug where points array was null * begin to implement exsiccati endpoint * fix bug from PR 2198 and update api docs * auto-format TaxonomyController.php * remove this change that should not be here * Update symbbase.php Update version * change exsiccati -> exsiccata * Update api-docs.json Trim out taxonomy description out of the documentation since they currently are not working --------- Co-authored-by: Edward Gilbert <egbot@asu.edu> * 3.2 dev hotfix db schema patch (#2243) - Schema installer can't handle the modification of an index when it is both dropped and added within the same ALTER TABLE statement. Thus, I separated the lines into two different statements. - Explicitly define new tables using the INNODB db engine * Update OccurrenceDownload.php (#2223) Add logic to handle presence of ds.datasetid in setSqlJoins function Co-authored-by: Mark <mark.aaron.fisher@gmail.com> * [3.2] bugfix - add thumbnail for (image) media in list.php (#2250) * add thumbnail code back in for media * remove commented-out code * Enhancement/deprecate taxon profile map (#2259) * Swap openMapPopup function on taxon profile page to open to taxon search * Open with menu closed by default when coming from taxon profile page * Remove deprecated map files * remove associated lang files with deprecated map files * Closes #2251 Fixes Partial Collector Searches on the occurrence editor (#2260) # Issue Closes #2251 # Summary Full text syntax got messed up at some point when changing over the full text indexes to the omoccurrence table. This is a simple fix by putting the parens in the right place. * Closes #2258 Shink Marker size by half (#2262) * Closes #2258 Shink Marker size by half # Issue Closes #2258 # Summary Reduces Marker size on map search to be about half of what it was before * bump size a bit * Update termdetails.php (#2264) Fixes errant UTF character and restores variable reference * Improve Occurrence Maintenance - Remove sort from update statements * Error when adding/editing creator in media fix (#2265) * fixed the field names for media query * set the empty values to NULL for media query * moved collections section to the bottom (#2270) * Add indexes to media table (#2272) Add indexes to media table for following columns that are commonly used within SQL conditions: sortSequence, sortOccurrence, thumbnailUrl, mediaType * Minor Schema modification - Adjust position of new fields * [3.3] Openid logout (#2224) * Implement openID connect logout Add feature to alert authentication provider of a local logout to end tracked session. * Update authCallback.php testing - dump $oidc obj to log * Update authCallback.php test2 * Update authCallback.php test3 * Update authCallback.php test4 * Update authCallback.php test5 * store third party sid * squashme * squashme2 * SQAUSH2 * test * sQUISH * Squishme * Implement session destruction * try forceLogout * add the logout call ya dufus * remove translation cruft * add vardump of sesssion * add cookie-based logout * Update logout.php test * Update logout.php testcode Co-Authored-By: Mark <mark.aaron.fisher@gmail.com> * debug debug with IP Co-Authored-By: Mark <mark.aaron.fisher@gmail.com> * prevent third-party authentication workflow from creating an entry in the useraccesstokens table * debug debug Co-Authored-By: Mark <mark.aaron.fisher@gmail.com> * debug Co-Authored-By: Mark <mark.aaron.fisher@gmail.com> * debug Co-Authored-By: Mark <mark.aaron.fisher@gmail.com> * debug Co-Authored-By: Mark <mark.aaron.fisher@gmail.com> * debug Co-Authored-By: Mark <mark.aaron.fisher@gmail.com> * add more debugging print statements * do not start a new session if the originalSessionId matches the target localSessionId * add more print statements * rename parameter to be more accurate * add session id tracker in search page * target the maybe correct currentSessionId * add print statement for === PHP_SESSION_ACTIVE * detect remote logout proof of concept using symbbase Co-Authored-By: Mark <mark.aaron.fisher@gmail.com> * Update OpenIdProfileManager.php add more logging Co-Authored-By: Mark <mark.aaron.fisher@gmail.com> * merge me Code Clean up Add response headers for logout.php Co-Authored-By: Mark <mark.aaron.fisher@gmail.com> * Update OpenIdProfileManager.php broke something. * remove var_dump and add sql * update the docs * remove cruft * replace variable names with all upper-case * make and paths relative in config/auth_config_template.php * Ensure that $pHandler exists before resetting it * add usersthirdpartysessions table into 3.2 sql patch --------- Co-authored-by: Greg Post <gregory.post@asu.edu> * [3.2] bugfix - 2247 - resource url disambiguation (#2275) * switch order of upload vs remote check * add translations and change copy to disambiguate resource URL and source webpage * revert the if(classes/*should_upload_file) logic * Bugfix/better failure handling media extended import (#2279) * add sourceUrl to media upload as an option * Add Better Error Handling for Media Add on occurrence import * Allow for Media Exeception to have extended string messages * improve invalid media type throw exception * Call getRemoteFileInfo if parse_map_only_file fails to decifer type keep isRemoteMedia enforcement * remove is not supported text because unneeded * Proper error coloring on occurrence editor * Fix non audio media rendering as audio (#2280) * Fix non audio media rendering as audio # Issue Closes #2278 # Summary Changes audio rendering to only occur if type is explicitly MediaType::Audio Image rendering will occur if audio failed the above new audio check and is MediaType::Image or has a thumbnailUrl Present. Add a failure else case that will render that the type is unknown and could not be rendered * Add Language tags for failed media render message * Fix Google Maps JS URL (#2268) * Closes #2276 Fixes dangling reference to photographer (#2282) * Fix non audio media rendering as audio (#2280) * Fix non audio media rendering as audio # Issue Closes #2278 # Summary Changes audio rendering to only occur if type is explicitly MediaType::Audio Image rendering will occur if audio failed the above new audio check and is MediaType::Image or has a thumbnailUrl Present. Add a failure else case that will render that the type is unknown and could not be rendered * Add Language tags for failed media render message * Closes #2276 Fixes dangling reference to photographer # Issue Closes #2276 # Summary Uses 'creator' key instead of 'photographer' key. Was not caught because it was behind spp permissions * Closes #2286 Fixes Broken Function Call # Issue #2286 # Summary Function was renamed and not all references were cleaned up and ipt import/dwc import was broken * add strtolower on media extension so more variety of formats can be parsed * default to using recMap's format value if one is present * Misc minor errors - Misc minor errors that was interfering with operation of the LBCC and SALIX OCR parsers within the occurrence editor * Location Protections Bug-fix - Fix issue with locationRemarks failing to be protected by locality protections are set. Closes issue: https://github.com/BioKIC/Symbiota/issues/2296 * change urlencode to rawurlencode to remove spaces (#2304) * Closes #2297 Fixes warnings that could break page (#2307) # Issue #2297 # Summary Fixes mysql warnings that depending on the php.ini settings could cause issues * Fix sql syntax error for ident/key.php image mode (#2303) * Closes #2310 Remove onChange event that caused malformed GeoJson (#2312) # Issue #2310 # Summary There was an validate polygon function that would change the incoming geojson into a wkt like object causing issues with the search * 2273 3.2 bugfix: Use POST method for search query (#2309) * add way for post to be generated * fix issue with URL copy where the polygon does not get encoded correctly * improve clarity of comment * change to consts instead * Fixes Issue with Polygon Session Not saving (#2315) # Summary Geojson was being encoded with '"' which was being interpreted as a query param which goofing up the parsed value. Fix is to unquote the querystring before parsing. Also use the correct value to set the footprint id input * Closes #2319 Fix Case js state script getting malformed (#2321) * Closes #2319 Fix Case js state script getting malformed # Issue #2319 # Summary Fixes case where resourceJson is missing * fix contactjson typo * Fix json Import * Move contact json attribute container * spacing issue * Closes #2318 Make Display map results non url dependent (#2320) * Hotfix 3.2.1 (#2349) * Closes #2326 Issue Media Url Link to individual Items * Fixes reset password func…
themerekat
added a commit
that referenced
this pull request
Apr 22, 2025
* Media tools bug * Minor adjustment to previous commit * Update index.php Styling correction to map index top menu * add white background to quick search (#1799) * Add lang tags for exsiccatae pages (#1797) * Add lang files for exsiccati batch import * Add lang files for exsiccati/index * Add es and fr exsiccatae pages * Adjustments * add pt to batch import exsiccati * add pt translation to exisccati/index * Update batchimport.pt.php * Update index.pt.php --------- Co-authored-by: MuchQuak <loganpwilt@gmail.com> * Finish lang tags for editor/rpc (#1793) * Finish lang tags for editor/rpc - Combined all the lang tags in this folder into a single lang tag file (short) * Add lang tags to editor/tools * Update README.md with reference to CONTRIBUTING file (#1801) * add spiderfy to leaflet map search (#1804) Issue is so solve when their is over lapping markers of different groups, ie would not get clustered. * Inventory project rework (#1788) * Inventory Project updates - Update sanitation of input and output variables - Complete internalization -- Update import of language terms -- Add missing LANG tags and remove tags not referenced -- Translate French that were entered in English - Remove deprecated code * Use general utils for getting host info instead of exiting if statement (#1808) * Add French lang tags for taxonomy files (#1791) * Add batchloader and taxoneditor lang tags in fr * Add more French translations * Identification key 2024 10 25 (#1813) * Misc old modifications * Standardize Identification Schema * Misc old styling issues * Add info link to upload tool (#784) * Add info link to upload tool * add aria-labels and alts and general other 508 fixes as recommended by TVP * add translations --------- Co-authored-by: Mark <mark.aaron.fisher@gmail.com> * add scroll to clip panel (#1816) * Add SSH logo to footer template (#1814) * Drop Table and Triggers specprocessorrawlabelsfulltext (#1811) * Drop Table and Triggers specprocessorrawlabelsfulltext Drops Specprocessorrawlabelsfulltext table and triggers that aren't being used for anything * remove full text from rawstr because not being used in code base as of now --------- Co-authored-by: Edward Gilbert <egbot@asu.edu> * moved accessibility css links to head (#1823) * Fixed Headers for Dev branch (#1166) * Fixed few Headers * Few more translations * All Forbidden headings translate * More Page-headings translate * Few More Heading Translations * Latest Translations * Last few page-headings translate * Fixed page-heading self typos * add map interface title to map/index * Remove redundant lang tag * Edit checklist in different languages * Change word used for vouchers * Redirect lang files to "prohibit" shared lang file * Redirect lang files to "prohibit" shared lang file * Add full French translation of restorebackup * Add full French translation of uploadreviewer * Fix full translation of duplicatesearch.fr * Fix fieldstandardization non-English tags * Adjust capitalization * Reference prohibit lang file instead * More fixes - Add actual French editreviewer file - Fix references to prohibit lang file - Fix typos * Fix and clean up issues - Fix GEOLocate spelling - Finish references to prohibit lang file - Change some headers to screen-reader-only - Clean up some concats - Fix typos - Revert some lang tags for incompletely-converted files (for unused pages) - Add missing lang tags * Fix and clean up issues again - Finish references to prohibit lang file - Clean up some concats - Fix typos - Revert some lang tags for incompletely-converted files (for unused pages) - Add missing lang tags * Additional fixes - Remove partial lang files (they should be complete if they're present) - Fix references to prohibit lang file --------- Co-authored-by: Mark <mark.aaron.fisher@gmail.com> Co-authored-by: Nikita Salikov <nsalikov@asu.edu> Co-authored-by: MuchQuak <loganpwilt@gmail.com> Co-authored-by: Katie Pearson <katelin.d.pearson24@gmail.com> * fix: symbiota.org hyperlink Previously missing some characters that would prevent it from being used. * Add spacing in lists & change default font (#1815) * Add spacing in lists & change default font * Update main.css * Collections search fix (#1717) * removed line that adds category value to collections list * fixed cat checkbox when unselecting sub-cat * fixed the uncheck chips function * added class for slideshows to reset their z-index (#1843) * Remove associatedOccurrences and MaterialSupplies from Data Upload (#1848) * removed the associatedOccurrence and materialSample fields, commented out associations functions from finaltransfer() * commented out associatedOccurances fields * commented out deleted lines * Add lang tags for some georef files (#1868) * Add lang tags for some georef files * Fix typo * Finish language tagging of specprocessor/processor (#1883) Not sure if this file is in use, but it got one lang tag, so I figured it needed the rest * Checklist Voucher Management bug - Fix failure of voucher submission forms when max_input_vars is set to default value of 1000, or less. In such cases, form size is dynamically set within ChecklistVoucherReport to just shy of max_input_vars setting. - Fix corruption of desired html tags converted by htmlspecialchars - Add message when voucher output fails to match search terms - Remove unnecessary sanitation on: -- Input variables sanitized as an integer upon input -- Database output pre-sanitized within class functions -- Database integer output (e.g. primary keys) -- Input control variables that are not included within output -- Portal controlled LANG variables * Add Alternative Identifier Extension to DwC-A export (#1867) - Add Alternative Identifiers extension (https://rs.gbif.org/extension/gbif/1.0/identifier.xml) to the DwC-Archive export, which includes data backups - Add support to public download handler - Add support to DwC-A pub automation handler - Add support to DwC-A pub webservice handler - Exclude from CoGe data files - Mics adjustment to sanitation and language terms - Tested the DwC-A output file within the GBIF DwC-Archive validation tool: https://www.gbif.org/tools/data-validator Partially fulfills: https://github.com/orgs/BioKIC/projects/6/views/32?pane=issue&itemId=84586762 * cherry pick 44972a8b6 which adds missing translations to content/lang/templates/index.es.php and content/lang/templates/index.fr.php * Update index.fr.php * Update index.es.php * Add space and make types plural in collections/index.php (#1889) * added space between name and type and made types plural * added plural to fieldsets in both index and collstats * fix typo in observations, add default text to specimens and observations * Remove redundant font-family in variables * Revert "Remove redundant font-family in variables" This reverts commit ceb38d81b362679780ec8c9a115e1ade98cb3ad0. * Misc bugs to DwC-A publishing tool * Minor bugs - Move datasetKey assignment into condition that tests that it exists, thus avoiding warning - Set class variables to null, rather than destroy, which avoid warning when batch publishing multiple collections that have identifiers * minor adjustments to setup scripts setup_pre_4.4.bash will now no longer copy over existing template files setup.bash will now selectively apply permission changes recursively * Remove redundant css variable (#1894) * Optimizing Omoccuraccess Table For Improved Stats Collection (#1866) * swap engine to innodb on omoccuraccess to prevent table locks from causing slow downs * convert omoccuracesslink to innodb as well * Occurrence fulltext refactor (#1865) - Schema changes: omoccurrences table -- Add fulltext index to locality field -- Add fulltext index to recordedBy field -- Remove triggers that modified omoccurrencesfulltext table upon omoccurrences changes - Delete omoccurrencesfulltext table - Code modifications -- Refactor all query statements that made use of the omoccurrencesfulltext table Co-authored-by: Edward Gilbert <egbot@asu.edu> * Fulltext and skeletal Import other catalog parsing (#1870) * add other catalog parsing * Adjust occurrence editor auto parse of other catalog numbers to use split instead of regex for simplicity The regex was breaking and the is as simpler way of doing the same thing * add mysql table needed for change * trim other catalog numbers after parsing for occurrence Editor display so that they sort out dupicates * update setOtherCatalogNumbers to link to occurrences through upload spec so that inserted records will also get their records populated * Minor update improving identifiers ext improvement * Update default geothesaurus to include counties for Florida, Maryland, Guam, Montana, U.S. Virgin Islands (#1892) * Add Montana counties to default geothesaurus * Add Florida counties to thesaurus * Add Maryland, Guam, U.S. Virgin Islands counties * Update geothesaurus.sql Minor refactor: Broke large single insert up into multiple insert of approx. 2,000 records Added line breaks to improve readability and aid in future diff comparison --------- Co-authored-by: Greg Post <gregory.post@asu.edu> * fix references to TaxonomyUtil to included utilties directory (#1897) * added a null check * changed the styling of quick search * Search by association (#1495) * begin to implement front end of association-based search * continue fleshing out the front and back end of association-based search * rename some variables to be more accurate and fix a few array-vs-string handlers * remove assistive-text lines * fix issue with taxa suggest * DRY up taxa suggest in a way that is usable for more than one element on the same page * fix bug where reverse relationship was not returning results correctly * begin to flesh out populating readRequestVariables with association-related data * continue making progress with writing setAssociationRequestVariable method * continue working on setAssociationRequestVariable and subfunctions * continue subfunctionalizing * continue fleshing out the associated-taxon query * continue to make progress on the new search-by-association query infrastructure * get search results to display * Get the search criteria to display * subfunctionalize the chip button click to the handleRemoval method * only run getAssociatedTaxaSqlFragment when the relevant form field values are present in the query * fix the behavior of the chip removal * persist search terms * fix the non-persisting taxon type selection * remove var_dump * fix bug where association search is not playing well with taxon accordion * get the synonym searching to work * get the sql command for wider taxa to work but not to display successfully on the UI yet * remove spurious TODO and correct issue where usethes-associations and usethes were reversed * Fix bug where synonym choice is not being respected * Fix bug where synonym choice is not being respected * Add all reciprocal relationships to drop down menu and Exclude non-relevant controlled vocabulary from the association dropdown list * Accommodate no particular relationship in the search * Accommodate no particular taxon in the search * remove print statement * add none as an option to the association dropdown and handle its logic * remove cruft from classes/AssociationManager.php * clean up OccurrenceListManager * fix bug where family-based search was not working * make the taxstatus join only happen when family is selected from the dropdown * fix bug where there were duplicates in the relationship dropdown * respond to self code review * remove cruft * add a button to populate missing reverse relationships * make improvements to populating the missing reverse relationships and also add more ways to match the search results * remove reverse association section because the new entries in the database fixed that issue. This speeds up the search by a huge amount * add reverse search back in * get union statement to work, dramatically increasing speed of search * creates an inverse record if it can for each new association made and handles an error on that front more gracefully now * make pushing the button take the user back to the search page * relax uniqueness constraint on index UQ_omoccurassoc_sciname * relax uniqueness constraint on index UQ_omoccurassoc_sciname * fix bug where searching for taxon and then relationship separately was breaking * exclude reverse entries in omoccurassociations with basisOfRecord values of scriptGenerated from search results of getAssociationArr by default * add notes from meeting with Greg and Ed * fix bug where user causes error if they search for an association of family and then select scientific name instead of family * add redundancies if omoccurrences is missing sciname or family. Will try to use omoccurdeterminations instead * make AND od.isCurrent = 1 edits as recommended by Ed * comment out establish-inverse-relationship button * add parentheses * disable creation of inverse record * add missing home translations in other languages * change None to Not Specified in relationship type menu * fix bug in TaxonomyDisplayManager.php * add workaround for when just genus is added * add if statement back in * fix bug where an array needed to be passed by reference and fix other bug where tids were not being split into individual strings * Slight tweak to association sql --------- Co-authored-by: Edward Gilbert <egbot@asu.edu> * Js i18n (#1885) * add test translation for proof of concept * add spanish * convert en.json and es.json to en.js and es.js, respectively. Move them to better directory for them. Call them directly as a js file * Bugfix/dwc core json exporting (#1809) * need to htmlspecial chars for double quotes to show * adds proper csv encoding of dynamic properties * included jquery files for autocomplete * Improved regex for parsing verbatim elevation values (#1910) * Improved regex for parsing verbatim elevation values Generalized regex to capture any unit an range or not range with optional capture group. Should make maintaining and testing this feature easier and allow for easier expansion of accepted formats * change elevation parsing to only allow qualified units * changed number to collector number * Add occurrence identifiers to upload preview (#1905) * Add occurrence identifiers to upload preview * Adjust other catalog numbers to deal with potential null values * adjust other catalog numbers to only do the special case if there are no search variables * add delimeters to preview * Add endpoints for Taxon-based Morphological Characters Add following Lumen data models -- Morphological characters -- Morphological character states -- Character encodings/Attributes Add following endpoints within Morphological Controller -- Outputs all characters -- Outputs character and states data for a given character primary key (aka cid) -- Output attributes for a given character -- Update swagger documentation * Change yellow boxes to match portal theme colors (#1936) * Make new CSS class, change checklist, user, batchgeoref * Remove yellow and fix styling issue https://github.com/BioKIC/Symbiota/issues/1935 * Change light yellow to light color * Small lang tag changes, incl. reformatting (#1950) * Reformat lang tags of checklist.php * Add missing lang tags * Fix games tag * Handle enter for quicksearch form (#1951) * handle cases where enter is pushed in the quicksearch form both when user can edit and when not * DRY * added a function to check for parent's acceptedID * fix the Util typos * fix the Util function name according to Logan's changes * Fix typo (#1972) * Fixes Typos from master merge into Development (#1970) # Summary execute_query was changed to executeQuery and hotfix reverted that in some places when pull up changes * Remove redundant dwc reference in download dialog box (#1949) * Remove what is Darwin Core? It's redundant * Reformat lang tags of download/index.php * Update index.php * Remove depercated lang file (#1976) * remove depercated lang file * fixed so that target is correct * 1953 Implement default category in new search (#1958) * add print statements for troubleshooting * get the condensing to work * response to self code review * get the div reordering to work correctly * clean up cruft * Add Audio File Support (#1767) * initial pass at changing image table to media table there may be quite a few issues with regards to photographer and photographeruid being passed in from a postArray before things will work properly * missed because of unsaved file * taxon profile using new img id * removing duplicate file from saving * changing imgid to media_id * cleanup errors on using new media table on occurrence editor and individual * fixing image search to work with new media table * cleaning up last references to images table * clean of use of creator instead of photographer data * fix for insert images * Fixing error with occurrence editor and photographer * fix image delete functionality * editor fix * add new Media and Sanitize Class. Also a database trait to help break away from manager * update image tab to use media class * Update lang tags to be media related on imagetabs and occurrence editor * add hokey stop gap to only get width and height of inserted media if png or jpeg should be any image * commenting out test echos for connection usage * remove testing db pool class * fixing media classes isRemapplable * remove limiter on getImageMap for media type * fix Santize to use iterate over $val instead of $arr * update santize to return null if string can be identified This is to address the problem that integers coming from forms without a default value would be evalutate as strings. So the default is now null and strings that are empty that need to be stored that as empty strings instead of null should be handled accordingly. * Added UploadStrategy, SymbiotaUploadStrategy classes and addMedia function to media * fix path construction in the symbiota upload strategy * add rudamentry duplicate checking and recover * Add doc comments for Upload Strategy and Media. Refine api interactions for media and Upload Strategy * add remote media resource adding to form * Progress on Media::add edge cases surrounding images * implement image resize functions for gd and imagick * port system call to new media class imagick support * Edit db trait to keep write and read connections * update imagetab photographer to use creator * clean up and modification of UploadStrategy api and image functions * fixing some logic bugs in add media * removing debug echo * implement delete for Media class * add remove files flag to media::delete * use media delete flag from post request * implement media tag for Media class * remap media progress * fixed remapping media to correctly update the file path of the new occurrence * remove debug info on remap * rework remap media to not try and remap files than have already been added to the move stack * implement media diassociating * form errors for imgdetails * update imgdetails.php to work with any media * imagetab lang english lang update * get media by taxa id * fixing imgDetails submit and transfer image form * add audio files to taxon profile page * basic render function for media_items * fixing media_item to just no op media_item instead of erro * add media:render * add media to occurrence individual * add tpeditor support for images * get tpeditor working with Media class. Make adjusts to UploadStrategy to take path instead of vars to create path * old typo on creatorDisplay * adjust occurrence media fetch to put null sortoccurrence on bottom and low sortoccurrenc on top * imagesearch not shows audio results * add options to image search to query per media type * removing debug errorlog * fix image lib media_type param null check * updated translations for imaglib/search * add english media_types for imglib/search * image -> media translations taxa index * update missing translations for taxa/index * tp editor image -> media translations * tp image editor lang file updates * remove notes * Change en translation of tpeditor to use multimedia instead of media * Tpeditor updated langs * update imagelib/search translations * updating multimedia changes, removing unused langs tags, and fixng other translations for taxa/index.php * imgdetail lang updates * indx langfile updates * removing dead code in lang files occurrence editor * add has audio flag to search * updated dwc export to have audio files with correct values for ac core * updated import tool to only import image media Currently we are not supporting audio imports this will likely change in the future * add audio symbol to listdisplay when audio is present in occurrence data * swapping image root to media root variables and aliasing them in symbase so upgrade is easier * update occurrence individual lang files to remove multimedia from file open lang tags * update map search lang files to have audio option * add audio filter to map search * update lang files for download for media update * exporter lang update multimedia * add image and audio tags to records collections list * Image tab lang updates * imagelib index lang updates * contributors lang updates * site map multimedia update * collprofile translations * fixing header not being translated contributors * fix has_audio and has_image warnings * tpimageeditor generalizing lang for opening large image to large file * Removing dead code from media * Refactor of UploadStrategy to StorageStrategy and move to using Media class for update * Add Renaming to media files to update function in media class * Add better error handling and misc todos media * clean up remaining todos * allow remote audio to work * Add Audio Media support for data import * fix issue with specproccessor using imgid instead of media_id * cleaning up imgid usage with media table * Importextended media lang update * Updating Darwin Core Archive Publishing lang files to use media lang * Occurrence Editor Media Lang file update * fixed other data multimedia import * Add status signal and occid linking to multimedia url mapper * move Allowed media mime types to symbase so it is standardized about what we support * fix backwards compat of mysqli_execute_query * Fix backwards compat by changing database trait to class * Remove enums from media.php for backwards compat. Replace them with class enum facades * add schema patch for media table * add error redundency * OccurrenceEditorImages Remove from occurrence editor. All functionality was moved to media * internationalize media errors * add drop table for deprecated_media to fix key issue * Change instances of "multimedia" to "media In Spanish, largely "medios" * Misc lang file changes * Schema modifications - Change naming of new fields from snake_case to camelCase - Change input variables from snake_case to lowercase to match format of other variables associated with page * First pass of updating media_id to mediaID * Schema mods continued - Remap media_id to mediaID * Media Field Mapping continued - Remap imgid foreign key to mediaID for tables imagekeywords, imagetag, specprocessorrawlabels, tmattributes - Remap media API model and controller - Misc remapping previously missed * Adjust fk swaps to drop only if keys exist * fix query util * fix merge issue with query util * clean up mysqli_execute_query reference * Pulling latest merge from development * fix overwritten functionality of allowing for empty params in executeQuery --------- Co-authored-by: Katie Pearson <katelin.d.pearson24@gmail.com> Co-authored-by: Edward Gilbert <egbot@asu.edu> * [3.2] Cultivated name fix (#1232) * add cultivatedname field to taxoneditor form * change order of taxon intake form, add new column to taxa table, begin altering behavior or parseName method * implemented CRUD for cultivatedname in taxa table * split cultivatedName into two separate fields: cultivarEpithet (which is a valid DWC field) and tradeName for all CRUD endpoints * make cultivarEpithet a part of sciname and implement scinameDisplay for tradeName when it exists * Refactor scinameDisplay attempting to resolve tradename in scientific name display when selecting a taxon in occurrence editor. * adding a reference note * continue undoing scinameDisplay and its cascading effects * fix bug where getTaxaSuggest call was concatenating itself erroneously * DRY up and apply the splitSciname method in TaxonomyTrait * add cultivarEpithet and tradeName to TPEditorManager.php * remove references to taxonomy trait and fix null handler in said trait * fix syntax of commented out area * make tradeName store as all-caps and add placeholders to cultivar epithet and trade name * fix bug where quotations were being mishandled for cultivarEpithet and tradeName in TaxonomyEditorManager.php * add html escapes in field values and page heading * fix loadNewName method to accommodate cultivarEpithet and tradeName concatenations to sciname * remove cruft * fix bug where sciName exports did not have single quotes around cultivarEpithet * clean up cruft * add splitSciname to collections/individual/index.php * hide cultivated fields for taxonomyloader.php hide 'Cultivar Epithet' and 'Trade Name' fields unless Taxon rank is set to 'Cultivated' * minor fixes to RpcTaxonomy Fixes scientific name formatting displayed in taxonomyloader.php Parent Taxon field autocomplete. * add missing space in taxaSuggest before cultivarEpithet * change cultivarEpithet and tradeName from nullable to non-nullable in the schema * create function splitScinameByProvided Used by RpcTaxonomy class (called in /taxonomydynamicdisplay.php aka Taxonomy Explorer) to format display of taxonomic names. * Update RpcTaxonomy.php Add missing single quotes around cultivarEpithet * add new properties and rename a few to better reflect the global pattern. Also add missing translations and handle nulls better where indicated by the php warnings * remove cruft and clarify comments * disable some fields in the occurrenceeditor and respond to more self-code-review feedback * remove likely spurious use PHPUnit\Util\Json; in classes/TaxonomyEditorManager.php * respond to self code-review * remove wrongfully committed file * use Development version of js/symb/taxa.taxonomyeditor.js to undo autoformatting * respond to self code-review * re-enable the previously-disabled family and author inputs in occurrenceeditor * default to occurrence-level sciname if tidinterpreted is missing for full detail occurrence display page * fix bug where cultivarName and tradeName were not in fact empty strings in the loadNewName method * cherry pick 404f11a9a from cultivated-name-fix-searchresultlist-formatting and separate a long line of code into a few shorter lines for readability * Improve Display of Taxonomy Include cultivarEpithet and tradeName in Taxonomy Tree display & add cultivarEpithet and tradeName to Taxonomy Export. * Correct author display logic * Add CultivarEpithet and Tradename to Taxonomy Importer Co-Authored-By: Mark <mark.aaron.fisher@gmail.com> * cherry pick 3bca1dabe from cultivarEpithet-Determination-format-fix * Update Sci Name parser to include cultivar epithet and tradename (#1654) * added regex to parse sciname, cultivar epithet, tradename, author * removed spaces * added special characters to tradName and cultivarEpithet * hide taxon name input when cultivated is selected * fix bug where choosing something not cultivated did not add the taxon name field back in * fix bug where I did not commit a file that I did not think was important, but I was wrong * move author div before cultivar epithet when cultivated is selected and back when it is not * relax not null assertion for cultivarEpithet and tradeName and also change cultivated to cultivar for exports * prevent upload when cultivar designated but both cultivarEpithet and tradeName are missing * improve styling for error message * begin to implement new splitScinameFromOccArr method * create and improve upon splitScinameFromOccArr * add unit test * freeze progress on improvements to the splitSciname and splitScinameFromOccArr methods * Cultivar import adjustments - Include cultivar and tradename when rebuild scientific name - Set rank for cultivar taxa - Set parents of cultivated taxa - Integrate cleanInfra directly into code. It served no purpose being separate, and was causing parent authors to be incorrectly merged with insfraspecific authors - Add "cultivar" as an alias for field mapping * add recommended changes to cultivarEpithet and tradeName schema * fix issue where sciname was populating with rankName of Cultivar * remove cruft * DRY up the trade name and cultivar epithet standardization * fix bug where cultivarEpithet and tradeName were being italicized in taxa/index.php when they should not be * handle edge cases where cultivar epithet is missing * remove default italicizing of the entire sciname div * fix and DRY some things during self code-review * respond to more self code review and try to standardize usage of standardizeCultivarEpithet and standardizeTradeName * make taxoneditor.php interface function similarly to taxonomyloader * change parser to single quotes for cultivar * improve the form logic when various taxonRanks are selected into edit mode or changed dynamically during edit mode * continue work on accommodating the weird behavior of subgenus and making the code more readible * make the labels and hidden divs behave correctly in the taxonomy editor * fix lingering rendering bugs in taxonomy editor * get taxonomy creation to behave very similarly to taxonomy editor and fix some bugs where cultivarEpithet and tradeName were not saving * Remove special treatment of subgenus selection * cherry pick of 47b48d53b: Move quick parser into separate field set, Add button to run quick parser, Change this to a single-use quick parser: it parses the text and then it goes blank, and begin to implement display sciname * add a display of cultivar epithet and tradename * change header of taxa/taxonomy/taxonomyloader.php and width of input field * begin working on small refactor where rankId for cultivated is removed * add comments to track where things happen * fix bug where curly single quotes were causing formatting issues * remove minor cruft * simplify regex expression in light of search replace * begin to decouple cultivarEpithet and tradeName from rankId in js/symb/taxa.taxonomyeditor.js * implement taxonomy editor decoupling of cultivarEpithet and tradename from taxonomy rank * remove cruft * implement same logic for taxonomy creation as for taxonomy edit * remove Cultivar from taxonunits * revert sections of the decoupling of CE and TN * fix spurious dash causing js error * fix bug where infraspecific field was not being used during auto parse * fix issue where auto-parser turns off upon cultivar selection and add colon to unit 1 ind label * begin to implement more sophisticated duplicate checker to the taxonomy creation * remove some cruft * fix bug where sciname and scinamedisplay were not changing when cultivar was deselected, which meant that the duplicate checker was also breaking * add check for uniqueness in taxonomy editor and tie it to the submit button * fix bug where author-div was not rendering correctly after cultivar was selected and then selected away from * move author div below unit1 and unit2 * remove cruft * fix issue where purelyAestheticRankNames were being used as the labels for unit1 * add rankId 300 back in * fix bug where cultivarEpithet and tradeName were not rendering in OccurrenceEditorDeterminations.php * internationalize the error message about missing cultivarEpithet and or tradeName when occurrence is designated as cultivated * remove previously untracked files and remove crufty comments and other minor clean up items * attempt to DRY up shared constants and methods in js/symb/taxa.taxonomyeditor.js and js/symb/taxa.taxonomyloader.js and come across module export/ nested js file issues * DRY the js files more * DRY more shared functionality, fix bugs with taxonomy creation * fix more bugs in taxonomy creation after DRYing up code * fix bug where cultivarEpithet edits were being doublequoted in a way that was only noticeable in export * fix bug with TaxonomyUtil path * respond to self code review feedback * whittle down number of alerts * fix bug where missing parent taxon alert was triggered multiple times. Ended up being the duplicate taxonomyloader.js file invocation that was the problem, but other stuff got cleaned up in the meantime * silence alerts and add new error span * add require field start and key * reduce debounce time * fix bugs where cultivarEpithet was being saved with quotes and was displaying in duplicate * clean up * SQL error fix - If cultivarEpithet is empty, the value needs to be set to NULL, otherwise SQL error is thrown due to that field being set to nothing (e.g. cultivarEpithet = , tradeName...) - tradeName with an empty value should be set to NULL rather than empty string. Only the author gets set to an empty string due to it being part of the unique index * Fix bug where we try to edit the notes or source of a collection, the submit button becomes disabled within a message stating that the name already exists, but it is because it is matching on the active record. * DRY up code by removing redundant call to checkNameExistence * Fix bug where notes editing initiates a uniqueness check * Fix bug where display author is not working for taxa with rankid >= 180 * fix bug in taxonomy creation where unnecessary checkExistence was being called, add better async handling, and remove crufty param from method signatures and calls * remove unecessary comments * pass original form currently to bypass checkcheckNameExistence if entryHasNotChanged is true --------- Co-authored-by: Greg Post <gregory.post@asu.edu> Co-authored-by: NikitaSalikov <86389284+NikitaSalikov@users.noreply.github.com> Co-authored-by: Edward Gilbert <egbot@asu.edu> Co-authored-by: Nikita Salikov <nsalikov@asu.edu> * Coordinate verification (#1761) * Reactivate coordinate verification * move coordinate geocode checking to use local geographic thesaurus * Change path ver to force refresh of sj * add simple check and response if no matches when verifying coordinates * Update verification algo to check database synonyms and field specific synonyms * Add warning if entered locality data doesn't match locality info and their are not matches * fixing exists only check geoterms with polygons * fixing error not firing * Add missed check, artifact from prototyping --------- Co-authored-by: Edward Gilbert <egbot@asu.edu> * Add Syntax fixes to 3.2 Schema Patch (#1993) * add fixes to patch * another semicolon fix * fix media import * Improves search ordering for geothesaurus search closses #1995 (#2001) * Cleaning up loose echo (#2004) * Closes #2003 Cleaning up creatoruid instead of creatorUid (#2005) * Closes #2002 Fixes Ocr Processor Reg Expr Dialog (#2008) # Issue #2002 # Summary Fixed JQuery selector so that it wasn't hitting a duplicate id on another tab. * Closes #127 Copy more values Georefclone (#2006) * Closes #127 Copy more values Georefclone # Issues #127 # Summary Adds functionality to `georefclone.php` to copy over `georeferencedBy`, `georeferenceSources`, `georeferenceRemarks`, `georeferenceProtocol`, `georeferenceVerificationStatus`, `footprintWKT` fields into the occurrence editor when using cloned coordinates * fixing query util issue * add back form closure * Change input color to blue if input is changed and toggle open div if it is closed so all change values are easy to see * move toggle to more browser supported method * move the lang lines to proper file * 1152 remove record id and show something in occurence (#1987) * remove record-id-div from collections/individual/index.php * handle logic for different guidtarget values * respond to self code review feedback * remove cruft * restore Development version of classes/OccurrenceIndividual.php * removed extra parentheses * Replace some lang tag issets (#2000) * fix bug where Perhaps you were looking for searches went to harvestparams always (#2017) * add to symbini_template (#2016) * Closes #2009 Moves Macro Strat Layer to an overlay and makes it transparent (#2011) # Issue #2009 # Summary Move the macro strat layer to an overlay in the tile rendering and adds transparency so it can be put on top of other layers. * change default behavior for quicksearch to include cultivated (#2029) * removed grids, added block displays * increased the media resolution * Wkt to geojson (#1432) * move checklist to read geojson footprint if present * finish geojson conversion for mapcoordaid and retiring of checklist/mappolyaid and checklist/mappointaid * swapping map search logic to use geojson for polycoord values this will not work without a change in the data to omoccurpoints being long lat instead of lat long. This is because the spacial idex functions within will be off since the different spaces exist * temp file to track work * Removing unused functions and changing point to lngLatPoin * adding footprintGeoJson to Voucher Admin * organizing notes * fixing voucher conditional so all taxa in checklist area can be searched * adding getClFootprint which gets the footprint that is there for checklists whether wkt or geojson * fix fitshape to properly bind this * added case for leaflet map that will bound on shape if present * added proper support for geojson polygons from map search * removing redundent case for geoSqlWhere since clid is already in sqlWhere * removing unused code comments * adding seperate util js file for map helper tools and jsdoc defintions to reduce duplicate js functions * adding support in collection search for geoJson search * adding geojson support for collection/search and haravest params page * updating mapShapeHelper docs and polygon loader to support wkt and geoJSON * Making voucher manager protected to remove wrapper functions to pass getClFootprint * swapping to use mapAid util * removing unused get footprint function, was move to use only voucherManager's version * moving last of p.point in omocurpoints to p.lngLatPoint * removing footprintwkt in favor for footprintGeoJson and removing wkt language from variables to avoid confusion * swapping geojson * removing openMappingPolyAid from occur editor in favor of mapAidUtils openCoordAid * removing openMappingPolyAid from checklist admin * add checklist admin class to voucher admin along with hidden footprint input so footprint can be updated from save query variables form * map manager fixes to properly merge * fixing new and old search form to work with geoJson when loading collections/list.php * Allowing geoJson polygon search coords to be passed via url and change polycoords to footprintGeoJson and removed redundent code associated * creating patch for 3.2 schema updates which swaps to lng lat points and geojson for existing checklist geoms * Fixes 3.2 schema script issue for changing spacial coordinates * fixing occurrence update issue * change omoccurpoints to innodb * pass cl coordinates to mapaid * fixing 3.2 schema patch delimiters * remove if not exists from alter table statements to support mysql * 1943 cookie for accordion preferences (#2038) * implement localStorage solution for accordion toggle preferences * begin to implement user preference of accordions * change sessionStorage to localStorage for persistance across browser sessions * remove crufy setPreferredAccordionIds * give the taxonomy accordion special treatment with a default to open but still responsive to preference * make localStoarge respond to expand and collapse all accordions * moved the taxa group and language divs * moved the please cite div on top * Db patches (#2033) * Closes #2021 (#2051) # Issue #2021 # Summary Coalece undefined and null values to empty string in the tooltip tags so that undefined isn't displayed if the record is missing `instcode` or `collcode` * Closes #2014 Hides last updated date from Live Manages Col Profiles (#2043) # Issue #2014 # Summary Only displays last updated date when the collection managementype isn't live data * Closes #2048 Fixes logic error with ?? operator (#2056) # Issues #2048 # Summary Fixes logic error with ?? * Update occurrenceeditor.css (#1869) Fix image 'stretching' issue in occurrence editor * Batch update higher geography terms (#2022) - Add code to batch populated null countryCodes and continent whenever occurrence imports happen or collection statistics are updated within a collection. Updates are global across all collections no match which collection they are triggered within. - Add SQL to 3.2 DB Patch to batch update all countryCodes and continent values and index relavent fields with geographic thesaurus. DB patch statements are placed within separate file, which will be merged into 3.2 patch at a later date. - Add country code to all DwC-Archive output - Add code to public occurrence search interface that translates country terms to iso2 abbreviations - Adjust state abbreviation translation code within public occurrence search interface to prepared statements * Continued adjustments * cherry pick 5bf47670d - fix typos and minor bugs in collections/search/js/searchform.js (#2073) * whoops. This one actually does not seem like a bug after all. Earlier Mark was smarter than yesterday Mark (#2077) * Update db_schema_patch-3.2.sql - Clean-up omoccurrences trigger resets * Update db_schema_patch-3.2.sql - Update to occurrence latlng point updates * DB Patch adjustments continued - Continued reworking of DB Patch - Minor code changes to match adjustment to table and column names * Removes Multiple Types from function signatures (#2079) # Summary Mutliple return and parameter types are not compatible with php 7 so this changes reverts code to make it compatible * removed cleanoutstr for collectionname and users * Enhancement/js rendering occurrencelist (#2071) * intial template for js rendered occurrence list * Adjust js table to render actual point data * simple pagination finished with data * fixing random open divs * Add first|last and left | right arrows on the pagination * fixing some page start issues * Remove usage of occurrencelist, Rework Cross Portal Searching to use js rending and append onto main portal results * fix start index of js rendered table * Fix Jquery record table loading for intial rendered tables * Closes #2053 Closes #1845 * Add event date to map coordinate data * Adjust see map to be a globe * Adjust map globe to sit in middle of table vertically * Add catalog and collector hyper links to occurrence record and add taxa link via tid * fix client root not being add in domain * Mods continued - Update schema manager to be able to handle 3.2 patch - Skip pre-3.0 adjustments when schema is a 3.0 install - Misc adjustments to 3.2 schema patch - Add try/catch to ProfileManager to avoid fatal error when schema has not yet been installed - * Update SchemaManager.php Minor fix for updates to schemas > 3.0 * Update symbbase.php Reset to code version to 3.2 * Adjustments to Profile Check - Change how profile settings are checked within symbbase, which is called each time a page changes. Changes make sure that the connection is closed right after checks, so that connection does not precise during long lived pages. Thus, reduces chance of out-of-connection errors * 3.2 patch additions - Add schema and data adjustments needed for countryCode and continent activation * Adjustment - Move remove indexes associated with old media table prior to creating new media table, thus avoiding fatal error thrown when creating new table * added searchvar js var to list.php, added protocol to list.js * revert to using php var * added double quotes * Closes #2106 Fixes Media Batch Tag Updating (#2107) # Issue #2106 # Summary Adjusts usage of imgid to mediaId on input so that the postArr would pull the correct id information instead of erroring * Add tags to DwC-A media extension (#2102) - Add images tags to DwC-A media extension file * Update the verbiage of the batch tagging message (#2121) * Update db_schema_patch-3.2.sql (#2105) Update table references to lower case * Update OccurrenceMaintenance.php Correct case of tablename (DB tables should always be lower case) * remove cruft (#2087) * check for whether is set using PHP not javaScript syntax lol (#2122) * Closes #2010, Adds simple popup to assist with color recognition (#2027) * Closes #2010, Adds simple popup to assist with color recognition # Issue #2010 # Summary Hooks into the macrostrat api to pull lat long input when the macrostrat layer is clicked. * Filling about the popup with desired info * External linking on strat_names * style adjustments * better error handling on popup construction * Word adjustment for strat_names label * Closes #2108 (#2118) # Issue #2108 # Summary Adds inits for locality suggest for locality fields `country`, `state`, and `county` * Saves additional objects to the leaflet map object (#2070) * Saves additional objects to the leaflet map object This allows for later manipulation without modifying Symbiota code In particular: - Adds the layerControl object, allowing for layers to be added, removed, renamed, or re-ordered - Adds the scaleControl object, allowing it to be moved around the map (the default placement is obscured by the search panel) - Adds the taxaClusters generated by markerClusterer, allowing for them to be manipulated (e.g., turned off and on). * Removing Merge Artifacts --------- Co-authored-by: Logan Wilt <91149982+MuchQuak@users.noreply.github.com> * Closes #2125 Replaces Flaky regex with String Parsing (#2132) # Issue #2125 # Summary This is putting back code that was lost during from the back merge of master into development which was breaking functionality. Originally this regex was causing issue and being inconistant and replacing it with the use of a singluar explode function will make it more robust * Closes #2143 Fixes Record Linking (#2146) # Issue #2143 # Summary Makes default value 'N/A' instead of empty string so records links can happen regardless if the value is present * Remove sorting from public query (#1839) - Remove sorting from public display as the default action - Add sort option to occurrence list display - Fix bug that was not displaying first record when sort was being used - Fix issues with "comingFrom" variable controlling navigation links based on which search form (new or old) user originated from. Necessary because some portals have both forms listed within their main menu. - Internationalization additions and adjustments - Sanitation improvements * Closes #2119 Fixes Media Form History (#2148) * Closes #2119 Fixes Media Form History # Issue #2119 # Summary After search variables that were previously selected were not being overidden by changes in the form. This was do to altering the form action in order to preserve the url after a post. Fix was to load this with js so that the history is correct but does not pollute the next request. * cleaning up logic * 2111 bugfix missing image in cloned resource (#2150) * add useful print statements * add putative solve * remove print statements * changed the class to tsedit for family div * Small language fixes (#2152) * Fixes https://github.com/BioKIC/Symbiota/issues/2114 * Fixes https://github.com/BioKIC/Symbiota/issues/2138 * Fixes https://github.com/BioKIC/Symbiota/issues/2147 * Addresses https://github.com/BioKIC/Symbiota/issues/2137 * Fixes https://github.com/BioKIC/Symbiota/issues/2124 * The rest of https://github.com/BioKIC/Symbiota/issues/2114 * [3.2 bugfix] fix bug where points array is null for non-volunteers (#2161) * fix bug where points array is null for non-volunteers * remove line space * Print errors from buildHierarchyEnumTree during taxonomy upload * Schema management dev - Rework image to media transformation to rename table rather than creating a new table and then transferring records. This is needed to avoid issues with losing previous customizations to image table. - Drop deprecated tables to save space - Fix issues with omoccurpoints table - Misc error fixes to km table statements - Fix bug with counting and reporting line numbers of schema patch - Add ability to skip statements for 3.x and 1.x installs if statement does not apply to that major version * Closes #2155 Fixes `sourceUrl` Key typo (#2159) # Issue #2155 # Summary Fixes `sourceUrl` key typo and some language tags for `PHOTOG_OVER` and `DISPLAY_PHOTOG_OVER` missed from recent pr * unified the namings for sortOccurrences, creator and creatorUid * removed the extra escape in update function * Replace image with media in lang tag (#2173) * Closes #2156 Fixes Sql Issue (#2166) # Issue #2156 # Summary Fixes mysql query error during query construction * Closes #2157 Fixing Language Tag Typo (#2165) # Issue #2157 # Summary Fixes typo of lang tag * Closes #2117 Url Mapping Upload Adjustments (#2158) * Closes #2117 Url Mapping Upload Adjustments # Issue #2117 # Summary Adds Required Fields for media upload `format` and `originalUrl` must now be mapped. There is a js alert for when they aren't. Subsequently if the values are null the row will not be imported and a notification will be show stating if either values are null * removing debugging var_dump * removing added debug sql condition * Remove odd status echo that says nothing of use and is confusing * Add Required Fields * Add naive ext2Mime Function Media * Replace Required format with selected upload type to infer mime base on extension * Make adding user autocomplete in collprofiles.php (#2178) * added autocomplete, moved getuserlist to collections/rpc, changed paths * Change wording of user entry form --------- Co-authored-by: Katie Pearson <katelin.d.pearson24@gmail.com> * Add island, island group, and continent fields to batch update tool (#2182) * added continent, island and island group fields to batch update tool * added water body field * added island, islandgroup, continent, waterbody to record search form (#2185) * Fixes Shape Dragging (#2186) # Summary - Some odd depedency errors were causing dragging to no work because of different leaflet version. Solution was to update a core lib via cdn and then just import the parts we are using do get polygon dragging to function without touching other dragging functionality. * Closes #2141 Generalize Associated Media Upload (#2177) * Closes #2141 Generalize Associated Media Upload # Issue #2141 # Summary Fixes typo that was breaking `associatedmedia` fields ability to do image imports Extended `associatedmedia` field's scope to work with audio files Added `mediaType` field to `uploadimagetemp` table to accomadate the needed multimedia capcity. Removed "image" hard code as a result of this. * Fixing jpeg and remote file parsing for bulk uploads * fix str dep error * Remove checklists/mappolyaid.php (#2194) * Remove checklists/mappolyaid.php # Summary This was depercated a bit ago and mapcoordaid.php which as expanded to be able to acheive the same functionality. Did a double check to make sure it wasn't used anywhere and it is not. * Remove unnecessary lang tags --------- Co-authored-by: Katie Pearson <katelin.d.pearson24@gmail.com> * Bugfix/map boundary rework (#2193) * Add Mapping Util with map related helper functions * Closes #2191 Fixes Map point aids not adhearing to bounds * Remove checklists/mappointaid because all have been pointed towards collectons/mappointaid which is now general purpose * Adjust mappoint aid to set zoom to appropriate level if a marker is present * Changed default boundaries to most of globe --------- Co-authored-by: Katie Pearson <katelin.d.pearson24@gmail.com> * added the overflow-wrap (#2196) * Closes #2067 Fixes UTF-8 encoding issue (#2201) # Issue #2067 # Summary Removes 'UTF-8, ISO-8859-1, ISO-8859-15' params from `mb_detect_encoding` because it was causing issues when interpreting UTF-8 strings * Dynamic Map Adjustments - Use getDomain within utility function to ensure map redenders when SERVER_HOST is not set within symbini file. - Remove some unused variables - Remove isset LANG fragments * [3.2] Bugfix issue #2136 remove asterisk in view mode (#2199) * only add star in edit mode * respond to QA feedback * remove cruft * Schema Adjustments - Add functions that evaluates index and constraint statement fragments and compares them against database to ensure statements will not fail. Otherwise, they are pruned out and logged. * More adjustments * Schema Installer bug fixes * Misc adjustments - Fix errors testing column existence within ALTER TABLE statements - Improve error handling * Schema adjustment - Re-add statements that got pruned out * Update ImageLocalProcessor.php (#2220) add missing table name. Resolves #2219 * SymbUtil bug - Maps to new location for query utility static function - Resolves issue #2229 * 3.2 bugs - use of old images table within SQL statement * Closes #2231 Fixes sort sequence being overwritten default being overwritten by empty form value (#2233) * Closes #2231 Fixes sort sequence being overwritten default being overritten by empty form value * Fix undefined variable issue * Fix undefined array key being used after access issue * remove redundant showAllDescriptions (#2198) * Minor crowdsource adjustments * [3.2] Hotfeature (lol) /api/v2/exsiccata (#2242) * fix bug where points array was null * begin to implement exsiccati endpoint * fix bug from PR 2198 and update api docs * auto-format TaxonomyController.php * remove this change that should not be here * Update symbbase.php Update version * change exsiccati -> exsiccata * Update api-docs.json Trim out taxonomy description out of the documentation since they currently are not working --------- Co-authored-by: Edward Gilbert <egbot@asu.edu> * 3.2 dev hotfix db schema patch (#2243) - Schema installer can't handle the modification of an index when it is both dropped and added within the same ALTER TABLE statement. Thus, I separated the lines into two different statements. - Explicitly define new tables using the INNODB db engine * Update OccurrenceDownload.php (#2223) Add logic to handle presence of ds.datasetid in setSqlJoins function Co-authored-by: Mark <mark.aaron.fisher@gmail.com> * [3.2] bugfix - add thumbnail for (image) media in list.php (#2250) * add thumbnail code back in for media * remove commented-out code * Enhancement/deprecate taxon profile map (#2259) * Swap openMapPopup function on taxon profile page to open to taxon search * Open with menu closed by default when coming from taxon profile page * Remove deprecated map files * remove associated lang files with deprecated map files * Closes #2251 Fixes Partial Collector Searches on the occurrence editor (#2260) # Issue Closes #2251 # Summary Full text syntax got messed up at some point when changing over the full text indexes to the omoccurrence table. This is a simple fix by putting the parens in the right place. * Closes #2258 Shink Marker size by half (#2262) * Closes #2258 Shink Marker size by half # Issue Closes #2258 # Summary Reduces Marker size on map search to be about half of what it was before * bump size a bit * Update termdetails.php (#2264) Fixes errant UTF character and restores variable reference * Improve Occurrence Maintenance - Remove sort from update statements * Error when adding/editing creator in media fix (#2265) * fixed the field names for media query * set the empty values to NULL for media query * moved collections section to the bottom (#2270) * Add indexes to media table (#2272) Add indexes to media table for following columns that are commonly used within SQL conditions: sortSequence, sortOccurrence, thumbnailUrl, mediaType * Minor Schema modification - Adjust position of new fields * [3.3] Openid logout (#2224) * Implement openID connect logout Add feature to alert authentication provider of a local logout to end tracked session. * Update authCallback.php testing - dump $oidc obj to log * Update authCallback.php test2 * Update authCallback.php test3 * Update authCallback.php test4 * Update authCallback.php test5 * store third party sid * squashme * squashme2 * SQAUSH2 * test * sQUISH * Squishme * Implement session destruction * try forceLogout * add the logout call ya dufus * remove translation cruft * add vardump of sesssion * add cookie-based logout * Update logout.php test * Update logout.php testcode Co-Authored-By: Mark <mark.aaron.fisher@gmail.com> * debug debug with IP Co-Authored-By: Mark <mark.aaron.fisher@gmail.com> * prevent third-party authentication workflow from creating an entry in the useraccesstokens table * debug debug Co-Authored-By: Mark <mark.aaron.fisher@gmail.com> * debug Co-Authored-By: Mark <mark.aaron.fisher@gmail.com> * debug Co-Authored-By: Mark <mark.aaron.fisher@gmail.com> * debug Co-Authored-By: Mark <mark.aaron.fisher@gmail.com> * debug Co-Authored-By: Mark <mark.aaron.fisher@gmail.com> * add more debugging print statements * do not start a new session if the originalSessionId matches the target localSessionId * add more print statements * rename parameter to be more accurate * add session id tracker in search page * target the maybe correct currentSessionId * add print statement for === PHP_SESSION_ACTIVE * detect remote logout proof of concept using symbbase Co-Authored-By: Mark <mark.aaron.fisher@gmail.com> * Update OpenIdProfileManager.php add more logging Co-Authored-By: Mark <mark.aaron.fisher@gmail.com> * merge me Code Clean up Add response headers for logout.php Co-Authored-By: Mark <mark.aaron.fisher@gmail.com> * Update OpenIdProfileManager.php broke something. * remove var_dump and add sql * update the docs * remove cruft * replace variable names with all upper-case * make and paths relative in config/auth_config_template.php * Ensure that $pHandler exists before resetting it * add usersthirdpartysessions table into 3.2 sql patch --------- Co-authored-by: Greg Post <gregory.post@asu.edu> * [3.2] bugfix - 2247 - resource url disambiguation (#2275) * switch order of upload vs remote check * add translations and change copy to disambiguate resource URL and source webpage * revert the if(classes/*should_upload_file) logic * Bugfix/better failure handling media extended import (#2279) * add sourceUrl to media upload as an option * Add Better Error Handling for Media Add on occurrence import * Allow for Media Exeception to have extended string messages * improve invalid media type throw exception * Call getRemoteFileInfo if parse_map_only_file fails to decifer type keep isRemoteMedia enforcement * remove is not supported text because unneeded * Proper error coloring on occurrence editor * Fix non audio media rendering as audio (#2280) * Fix non audio media rendering as audio # Issue Closes #2278 # Summary Changes audio rendering to only occur if type is explicitly MediaType::Audio Image rendering will occur if audio failed the above new audio check and is MediaType::Image or has a thumbnailUrl Present. Add a failure else case that will render that the type is unknown and could not be rendered * Add Language tags for failed media render message * Fix Google Maps JS URL (#2268) * Closes #2276 Fixes dangling reference to photographer (#2282) * Fix non audio media rendering as audio (#2280) * Fix non audio media rendering as audio # Issue Closes #2278 # Summary Changes audio rendering to only occur if type is explicitly MediaType::Audio Image rendering will occur if audio failed the above new audio check and is MediaType::Image or has a thumbnailUrl Present. Add a failure else case that will render that the type is unknown and could not be rendered * Add Language tags for failed media render message * Closes #2276 Fixes dangling reference to photographer # Issue Closes #2276 # Summary Uses 'creator' key instead of 'photographer' key. Was not caught because it was behind spp permissions * Closes #2286 Fixes Broken Function Call # Issue #2286 # Summary Function was renamed and not all references were cleaned up and ipt import/dwc import was broken * add strtolower on media extension so more variety of formats can be parsed * default to using recMap's format value if one is present * Misc minor errors - Misc minor errors that was interfering with operation of the LBCC and SALIX OCR parsers within the occurrence editor * Location Protections Bug-fix - Fix issue with locationRemarks failing to be protected by locality protections are set. Closes issue: https://github.com/BioKIC/Symbiota/issues/2296 * change urlencode to rawurlencode to remove spaces (#2304) * Closes #2297 Fixes warnings that could break page (#2307) # Issue #2297 # Summary Fixes mysql warnings that depending on the php.ini settings could cause issues * Fix sql syntax error for ident/key.php image mode (#2303) * Closes #2310 Remove onChange event that caused malformed GeoJson (#2312) # Issue #2310 # Summary There was an validate polygon function that would change the incoming geojson into a wkt like object causing issues with the search * 2273 3.2 bugfix: Use POST method for search query (#2309) * add way for post to be generated * fix issue with URL copy where the polygon does not get encoded correctly * improve clarity of comment * change to consts instead * Fixes Issue with Polygon Session Not saving (#2315) # Summary Geojson was being encoded with '"' which was being interpreted as a query param which goofing up the parsed value. Fix is to unquote the querystring before parsing. Also use the correct value to set the footprint id input * Closes #2319 Fix Case js state script getting malformed (#2321) * Closes #2319 Fix Case js state script getting malformed # Issue #2319 # Summary Fixes case where resourceJson is missing * fix contactjson typo * Fix json Import * Move contact json attribute container * spacing issue * Closes #2318 Make Display map results non url dependent (#2320) * Hotfix 3.2.1 (#2349) * Closes #2326 Issue Media Url Link to individual Items * Fixes reset password functionality * Occurrence search bug - Limit vernacular name search to only when user is searching common names. Previously was being included in all searches. * Taxon voucher search bug - Fixes issue that was failing to display taxa of given rank within taxon voucher search. Previously only showed child taxa. *Misc. media bugs - Fixes Image Library Browser - Taxa media add and display fix in taxon editor (#2336) - Fixes the URL upload, fixed the media display, added warnings, added translations - Fixes the sort media display --------- Co-authored-by: MuchQuak <loganpwilt@gmail.com> Co-authored-by: Logan Wilt <91149982+MuchQuak@users.noreply.github.com> Co-authored-by: Edward Gilbert <egbot@asu.edu> Co-authored-by: NikitaSalikov <86389284+NikitaSalikov@users.noreply.github.com> Co-authored-by: Katie Pearson <katelin.d.pearson24@gmail.com> Co-authored-by: Nikita Salikov <nsalikov@asu.edu> * Hotfix 3.2.1 (#2353) * Convert state abbreviations to full names - Converts state 2-letter abbreviations to full names when the OccurrenceMaintenance/generalOccurrenceCleaning function is run Resolves issue: https://github.com/Symbiota/Symbiota/i…
themerekat
added a commit
that referenced
this pull request
Apr 23, 2025
* Use general utils for getting host info instead of exiting if statement (#1808)
* Add French lang tags for taxonomy files (#1791)
* Add batchloader and taxoneditor lang tags in fr
* Add more French translations
* Identification key 2024 10 25 (#1813)
* Misc old modifications
* Standardize Identification Schema
* Misc old styling issues
* Add info link to upload tool (#784)
* Add info link to upload tool
* add aria-labels and alts and general other 508 fixes as recommended by TVP
* add translations
---------
Co-authored-by: Mark <mark.aaron.fisher@gmail.com>
* add scroll to clip panel (#1816)
* Add SSH logo to footer template (#1814)
* Drop Table and Triggers specprocessorrawlabelsfulltext (#1811)
* Drop Table and Triggers specprocessorrawlabelsfulltext
Drops Specprocessorrawlabelsfulltext table and triggers that aren't
being used for anything
* remove full text from rawstr because not being used in code base as of now
---------
Co-authored-by: Edward Gilbert <egbot@asu.edu>
* moved accessibility css links to head (#1823)
* Fixed Headers for Dev branch (#1166)
* Fixed few Headers
* Few more translations
* All Forbidden headings translate
* More Page-headings translate
* Few More Heading Translations
* Latest Translations
* Last few page-headings translate
* Fixed page-heading self typos
* add map interface title to map/index
* Remove redundant lang tag
* Edit checklist in different languages
* Change word used for vouchers
* Redirect lang files to "prohibit" shared lang file
* Redirect lang files to "prohibit" shared lang file
* Add full French translation of restorebackup
* Add full French translation of uploadreviewer
* Fix full translation of duplicatesearch.fr
* Fix fieldstandardization non-English tags
* Adjust capitalization
* Reference prohibit lang file instead
* More fixes
- Add actual French editreviewer file
- Fix references to prohibit lang file
- Fix typos
* Fix and clean up issues
- Fix GEOLocate spelling
- Finish references to prohibit lang file
- Change some headers to screen-reader-only
- Clean up some concats
- Fix typos
- Revert some lang tags for incompletely-converted files (for unused pages)
- Add missing lang tags
* Fix and clean up issues again
- Finish references to prohibit lang file
- Clean up some concats
- Fix typos
- Revert some lang tags for incompletely-converted files (for unused pages)
- Add missing lang tags
* Additional fixes
- Remove partial lang files (they should be complete if they're present)
- Fix references to prohibit lang file
---------
Co-authored-by: Mark <mark.aaron.fisher@gmail.com>
Co-authored-by: Nikita Salikov <nsalikov@asu.edu>
Co-authored-by: MuchQuak <loganpwilt@gmail.com>
Co-authored-by: Katie Pearson <katelin.d.pearson24@gmail.com>
* Hotfix v.3.1.3 (#1821)
* Hotfix v3.1.3
- Adjusted hotfix merge instructions
- Inventory Management: Bug fix interfering with adding new editors to an inventory project
- Image migration modifications
-- Add option to copy over existing target files
-- Add checks and error handling for non-existent source files and already existing target files
-- Direct log files to be written to /content/logs/
- fix misspelled log directory name, with support still maintained for portals that already have the misspelled directory
- Fix jquery selector to be correct so button is enabled when trait is changed
- Misc language file and wording adjustments
* fix: symbiota.org hyperlink
Previously missing some characters that would prevent it from being used.
* Add spacing in lists & change default font (#1815)
* Add spacing in lists & change default font
* Update main.css
* Collections search fix (#1717)
* removed line that adds category value to collections list
* fixed cat checkbox when unselecting sub-cat
* fixed the uncheck chips function
* added class for slideshows to reset their z-index (#1843)
* Remove associatedOccurrences and MaterialSupplies from Data Upload (#1848)
* removed the associatedOccurrence and materialSample fields, commented out associations functions from finaltransfer()
* commented out associatedOccurances fields
* commented out deleted lines
* Hotfix 3.1.4 (#1858)
- Checklist voucher link bug
-- Resolves issue where checklist link PK is not passed to link function.
-- Resolves issue: https://github.com/BioKIC/Symbiota/issues/1828
- Specimen upload bug
-- Add IGNORE to avoid complete failure of insert statement
-- Capture and display warnings to user
-- Fix display of final record process count
- Occurrence Search breadcrumb bug fix
-- Add comingFrom variable to pagination links within the list and tablelist pages
-- If comingFrom variable is not set, or set to anything other than "newsearch" or "harvestparams", set the variable to what is defined as the default within the symbini file. If default action is not defined within symbini, default to new search form.
-- Add comingFrom variable to harvestparams.php form
-- Resolves issue: https://github.com/BioKIC/Symbiota/issues/1840
- Occurrence Association Form Validation bug
-- Fix issue with internal association form validation failing and allowing for creation of an association without an internal occurrence being defined
-- Add form validation for external resource and general observation
-- Addresses issue: https://github.com/BioKIC/Symbiota/issues/1852
-- Add guid omoassociations RecordID on insert within occurrence editor
- Vendor library updates via composer
-- update phpoffice/phpspreadsheet to v3.3.0
-- updated phpseclib/phpseclib explicitly to v3.0.42
-- update phpoffice/phpword to v1.3.0
- Fix data binding bug associated with searching occurrence via GUID within Occurrence Profile pages
- Misc language translation issues
* Add lang tags for some georef files (#1868)
* Add lang tags for some georef files
* Fix typo
* Finish language tagging of specprocessor/processor (#1883)
Not sure if this file is in use, but it got one lang tag, so I figured it needed the rest
* Checklist Voucher Management bug
- Fix failure of voucher submission forms when max_input_vars is set to default value of 1000, or less. In such cases, form size is dynamically set within ChecklistVoucherReport to just shy of max_input_vars setting.
- Fix corruption of desired html tags converted by htmlspecialchars
- Add message when voucher output fails to match search terms
- Remove unnecessary sanitation on:
-- Input variables sanitized as an integer upon input
-- Database output pre-sanitized within class functions
-- Database integer output (e.g. primary keys)
-- Input control variables that are not included within output
-- Portal controlled LANG variables
* Add Alternative Identifier Extension to DwC-A export (#1867)
- Add Alternative Identifiers extension (https://rs.gbif.org/extension/gbif/1.0/identifier.xml) to the DwC-Archive export, which includes data backups
- Add support to public download handler
- Add support to DwC-A pub automation handler
- Add support to DwC-A pub webservice handler
- Exclude from CoGe data files
- Mics adjustment to sanitation and language terms
- Tested the DwC-A output file within the GBIF DwC-Archive validation tool: https://www.gbif.org/tools/data-validator
Partially fulfills: https://github.com/orgs/BioKIC/projects/6/views/32?pane=issue&itemId=84586762
* cherry pick 44972a8b6 which adds missing translations to content/lang/templates/index.es.php and content/lang/templates/index.fr.php
* Update index.fr.php
* Update index.es.php
* Add space and make types plural in collections/index.php (#1889)
* added space between name and type and made types plural
* added plural to fieldsets in both index and collstats
* fix typo in observations, add default text to specimens and observations
* Remove redundant font-family in variables
* Revert "Remove redundant font-family in variables"
This reverts commit ceb38d81b362679780ec8c9a115e1ade98cb3ad0.
* Misc bugs to DwC-A publishing tool
* Minor bugs
- Move datasetKey assignment into condition that tests that it exists, thus avoiding warning
- Set class variables to null, rather than destroy, which avoid warning when batch publishing multiple collections that have identifiers
* minor adjustments to setup scripts
setup_pre_4.4.bash will now no longer copy over existing template files
setup.bash will now selectively apply permission changes recursively
* Remove redundant css variable (#1894)
* Optimizing Omoccuraccess Table For Improved Stats Collection (#1866)
* swap engine to innodb on omoccuraccess to prevent table locks from causing slow downs
* convert omoccuracesslink to innodb as well
* Occurrence fulltext refactor (#1865)
- Schema changes: omoccurrences table
-- Add fulltext index to locality field
-- Add fulltext index to recordedBy field
-- Remove triggers that modified omoccurrencesfulltext table upon omoccurrences changes
- Delete omoccurrencesfulltext table
- Code modifications
-- Refactor all query statements that made use of the omoccurrencesfulltext table
Co-authored-by: Edward Gilbert <egbot@asu.edu>
* Fulltext and skeletal Import other catalog parsing (#1870)
* add other catalog parsing
* Adjust occurrence editor auto parse of other catalog numbers to use split instead of regex for simplicity
The regex was breaking and the is as simpler way of doing the same thing
* add mysql table needed for change
* trim other catalog numbers after parsing for occurrence Editor display so that they sort out dupicates
* update setOtherCatalogNumbers to link to occurrences through upload spec so that inserted records will also get their records populated
* Minor update improving identifiers ext improvement
* Update default geothesaurus to include counties for Florida, Maryland, Guam, Montana, U.S. Virgin Islands (#1892)
* Add Montana counties to default geothesaurus
* Add Florida counties to thesaurus
* Add Maryland, Guam, U.S. Virgin Islands counties
* Update geothesaurus.sql
Minor refactor:
Broke large single insert up into multiple insert of approx. 2,000 records
Added line breaks to improve readability and aid in future diff comparison
---------
Co-authored-by: Greg Post <gregory.post@asu.edu>
* fix references to TaxonomyUtil to included utilties directory (#1897)
* added a null check
* changed the styling of quick search
* Search by association (#1495)
* begin to implement front end of association-based search
* continue fleshing out the front and back end of association-based search
* rename some variables to be more accurate and fix a few array-vs-string handlers
* remove assistive-text lines
* fix issue with taxa suggest
* DRY up taxa suggest in a way that is usable for more than one element on the same page
* fix bug where reverse relationship was not returning results correctly
* begin to flesh out populating readRequestVariables with association-related data
* continue making progress with writing setAssociationRequestVariable method
* continue working on setAssociationRequestVariable and subfunctions
* continue subfunctionalizing
* continue fleshing out the associated-taxon query
* continue to make progress on the new search-by-association query infrastructure
* get search results to display
* Get the search criteria to display
* subfunctionalize the chip button click to the handleRemoval method
* only run getAssociatedTaxaSqlFragment when the relevant form field values are present in the query
* fix the behavior of the chip removal
* persist search terms
* fix the non-persisting taxon type selection
* remove var_dump
* fix bug where association search is not playing well with taxon accordion
* get the synonym searching to work
* get the sql command for wider taxa to work but not to display successfully on the UI yet
* remove spurious TODO and correct issue where usethes-associations and usethes were reversed
* Fix bug where synonym choice is not being respected
* Fix bug where synonym choice is not being respected
* Add all reciprocal relationships to drop down menu and Exclude non-relevant controlled vocabulary from the association dropdown list
* Accommodate no particular relationship in the search
* Accommodate no particular taxon in the search
* remove print statement
* add none as an option to the association dropdown and handle its logic
* remove cruft from classes/AssociationManager.php
* clean up OccurrenceListManager
* fix bug where family-based search was not working
* make the taxstatus join only happen when family is selected from the dropdown
* fix bug where there were duplicates in the relationship dropdown
* respond to self code review
* remove cruft
* add a button to populate missing reverse relationships
* make improvements to populating the missing reverse relationships and also add more ways to match the search results
* remove reverse association section because the new entries in the database fixed that issue. This speeds up the search by a huge amount
* add reverse search back in
* get union statement to work, dramatically increasing speed of search
* creates an inverse record if it can for each new association made and handles an error on that front more gracefully now
* make pushing the button take the user back to the search page
* relax uniqueness constraint on index UQ_omoccurassoc_sciname
* relax uniqueness constraint on index UQ_omoccurassoc_sciname
* fix bug where searching for taxon and then relationship separately was breaking
* exclude reverse entries in omoccurassociations with basisOfRecord values of scriptGenerated from search results of getAssociationArr by default
* add notes from meeting with Greg and Ed
* fix bug where user causes error if they search for an association of family and then select scientific name instead of family
* add redundancies if omoccurrences is missing sciname or family. Will try to use omoccurdeterminations instead
* make AND od.isCurrent = 1 edits as recommended by Ed
* comment out establish-inverse-relationship button
* add parentheses
* disable creation of inverse record
* add missing home translations in other languages
* change None to Not Specified in relationship type menu
* fix bug in TaxonomyDisplayManager.php
* add workaround for when just genus is added
* add if statement back in
* fix bug where an array needed to be passed by reference and fix other bug where tids were not being split into individual strings
* Slight tweak to association sql
---------
Co-authored-by: Edward Gilbert <egbot@asu.edu>
* Js i18n (#1885)
* add test translation for proof of concept
* add spanish
* convert en.json and es.json to en.js and es.js, respectively. Move them to better directory for them. Call them directly as a js file
* Bugfix/dwc core json exporting (#1809)
* need to htmlspecial chars for double quotes to show
* adds proper csv encoding of dynamic properties
* included jquery files for autocomplete
* Improved regex for parsing verbatim elevation values (#1910)
* Improved regex for parsing verbatim elevation values
Generalized regex to capture any unit an range or not range with
optional capture group. Should make maintaining and testing this feature
easier and allow for easier expansion of accepted formats
* change elevation parsing to only allow qualified units
* changed number to collector number
* Add occurrence identifiers to upload preview (#1905)
* Add occurrence identifiers to upload preview
* Adjust other catalog numbers to deal with potential null values
* adjust other catalog numbers to only do the special case if there are no search variables
* add delimeters to preview
* Add endpoints for Taxon-based Morphological Characters
Add following Lumen data models
-- Morphological characters
-- Morphological character states
-- Character encodings/Attributes
Add following endpoints within Morphological Controller
-- Outputs all characters
-- Outputs character and states data for a given character primary key (aka cid)
-- Output attributes for a given character
-- Update swagger documentation
* Change yellow boxes to match portal theme colors (#1936)
* Make new CSS class, change checklist, user, batchgeoref
* Remove yellow and fix styling issue
https://github.com/BioKIC/Symbiota/issues/1935
* Change light yellow to light color
* Small lang tag changes, incl. reformatting (#1950)
* Reformat lang tags of checklist.php
* Add missing lang tags
* Fix games tag
* Handle enter for quicksearch form (#1951)
* handle cases where enter is pushed in the quicksearch form both when user can edit and when not
* DRY
* Hotfix 3.1.5 (#1956)
* Add login form button to prevent circular links
* Bump symfony/process from 5.4.19 to 5.4.46 in /api
* Bump symfony/http-foundation from 5.4.20 to 5.4.46 in /api
* Remove non-template contacts and aboutproject files (#1864)
* Add condition for elevation type number in searchform.js, fixed typo for maximum elevation
* Fix typos
* Unify top/northern, bottom/southern usage
* Fix image alignment and button names in flashcards (#1881)
* Fix image alignment and button names
* Add stylesheet, removed in-line styling, added flex classes for games in main.css
* Fix over-translated lang tags (#1911)
* closes #1916 by removing union return type
* Fix parsing issue
* Fix (#1920)
* Resolve editor lock bug
* Resolves issue: https://github.com/BioKIC/Symbiota/issues/1923
* Collection Profile issue
* Add form value interpolation for EW NS and units values so sessions is loaded correctly
* Update API Vendor Libraries
* Closes #1942 Adjust Language Tags of Cross Portal Results
* Improve Sign-in and Contact Us button layout on <768px wide devices.
---------
Co-authored-by: Edward Gilbert <egbot@asu.edu>
Co-authored-by: Katie Pearson <katelin.d.pearson24@gmail.com>
Co-authored-by: Nikita Salikov <nsalikov@asu.edu>
Co-authored-by: MuchQuak <loganpwilt@gmail.com>
* Header render Fixes (#1962)
* Switch header buttons to use HTML button element for better UX
* Adjust styling to restoring honoring header button text color
* Improve header button layout on <768px display
* Update main.css
Setting transparent background for button-tertiary class.
* added a function to check for parent's acceptedID
* fix the Util typos
* fix the Util function name according to Logan's changes
* Fix typo (#1972)
* Fixes Typos from master merge into Development (#1970)
# Summary
execute_query was changed to executeQuery and hotfix reverted that in
some places when pull up changes
* Remove redundant dwc reference in download dialog box (#1949)
* Remove what is Darwin Core?
It's redundant
* Reformat lang tags of download/index.php
* Update index.php
* Remove depercated lang file (#1976)
* remove depercated lang file
* fixed so that target is correct
* 1953 Implement default category in new search (#1958)
* add print statements for troubleshooting
* get the condensing to work
* response to self code review
* get the div reordering to work correctly
* clean up cruft
* Add Audio File Support (#1767)
* initial pass at changing image table to media table
there may be quite a few issues with regards to photographer and photographeruid being passed in from a postArray before things will work properly
* missed because of unsaved file
* taxon profile using new img id
* removing duplicate file from saving
* changing imgid to media_id
* cleanup errors on using new media table on occurrence editor and individual
* fixing image search to work with new media table
* cleaning up last references to images table
* clean of use of creator instead of photographer data
* fix for insert images
* Fixing error with occurrence editor and photographer
* fix image delete functionality
* editor fix
* add new Media and Sanitize Class. Also a database trait to help break away from manager
* update image tab to use media class
* Update lang tags to be media related on imagetabs and occurrence editor
* add hokey stop gap to only get width and height of inserted media if png or jpeg should be any image
* commenting out test echos for connection usage
* remove testing db pool class
* fixing media classes isRemapplable
* remove limiter on getImageMap for media type
* fix Santize to use iterate over $val instead of $arr
* update santize to return null if string can be identified
This is to address the problem that integers coming from forms without a
default value would be evalutate as strings. So the default is now null
and strings that are empty that need to be stored that as empty strings
instead of null should be handled accordingly.
* Added UploadStrategy, SymbiotaUploadStrategy classes and addMedia function to media
* fix path construction in the symbiota upload strategy
* add rudamentry duplicate checking and recover
* Add doc comments for Upload Strategy and Media. Refine api interactions for media and Upload Strategy
* add remote media resource adding to form
* Progress on Media::add edge cases surrounding images
* implement image resize functions for gd and imagick
* port system call to new media class imagick support
* Edit db trait to keep write and read connections
* update imagetab photographer to use creator
* clean up and modification of UploadStrategy api and image functions
* fixing some logic bugs in add media
* removing debug echo
* implement delete for Media class
* add remove files flag to media::delete
* use media delete flag from post request
* implement media tag for Media class
* remap media progress
* fixed remapping media to correctly update the file path of the new occurrence
* remove debug info on remap
* rework remap media to not try and remap files than have already been added to the move stack
* implement media diassociating
* form errors for imgdetails
* update imgdetails.php to work with any media
* imagetab lang english lang update
* get media by taxa id
* fixing imgDetails submit and transfer image form
* add audio files to taxon profile page
* basic render function for media_items
* fixing media_item to just no op media_item instead of erro
* add media:render
* add media to occurrence individual
* add tpeditor support for images
* get tpeditor working with Media class. Make adjusts to UploadStrategy to take path instead of vars to create path
* old typo on creatorDisplay
* adjust occurrence media fetch to put null sortoccurrence on bottom and low sortoccurrenc on top
* imagesearch not shows audio results
* add options to image search to query per media type
* removing debug errorlog
* fix image lib media_type param null check
* updated translations for imaglib/search
* add english media_types for imglib/search
* image -> media translations taxa index
* update missing translations for taxa/index
* tp editor image -> media translations
* tp image editor lang file updates
* remove notes
* Change en translation of tpeditor to use multimedia instead of media
* Tpeditor updated langs
* update imagelib/search translations
* updating multimedia changes, removing unused langs tags, and fixng other translations for taxa/index.php
* imgdetail lang updates
* indx langfile updates
* removing dead code in lang files occurrence editor
* add has audio flag to search
* updated dwc export to have audio files with correct values for ac core
* updated import tool to only import image media
Currently we are not supporting audio imports this will likely change in
the future
* add audio symbol to listdisplay when audio is present in occurrence data
* swapping image root to media root variables and aliasing them in symbase so upgrade is easier
* update occurrence individual lang files to remove multimedia from file open lang tags
* update map search lang files to have audio option
* add audio filter to map search
* update lang files for download for media update
* exporter lang update multimedia
* add image and audio tags to records collections list
* Image tab lang updates
* imagelib index lang updates
* contributors lang updates
* site map multimedia update
* collprofile translations
* fixing header not being translated contributors
* fix has_audio and has_image warnings
* tpimageeditor generalizing lang for opening large image to large file
* Removing dead code from media
* Refactor of UploadStrategy to StorageStrategy and move to using Media class for update
* Add Renaming to media files to update function in media class
* Add better error handling and misc todos media
* clean up remaining todos
* allow remote audio to work
* Add Audio Media support for data import
* fix issue with specproccessor using imgid instead of media_id
* cleaning up imgid usage with media table
* Importextended media lang update
* Updating Darwin Core Archive Publishing lang files to use media lang
* Occurrence Editor Media Lang file update
* fixed other data multimedia import
* Add status signal and occid linking to multimedia url mapper
* move Allowed media mime types to symbase so it is standardized about what we support
* fix backwards compat of mysqli_execute_query
* Fix backwards compat by changing database trait to class
* Remove enums from media.php for backwards compat. Replace them with class enum facades
* add schema patch for media table
* add error redundency
* OccurrenceEditorImages Remove from occurrence editor. All functionality was moved to media
* internationalize media errors
* add drop table for deprecated_media to fix key issue
* Change instances of "multimedia" to "media
In Spanish, largely "medios"
* Misc lang file changes
* Schema modifications
- Change naming of new fields from snake_case to camelCase
- Change input variables from snake_case to lowercase to match format of other variables associated with page
* First pass of updating media_id to mediaID
* Schema mods continued
- Remap media_id to mediaID
* Media Field Mapping continued
- Remap imgid foreign key to mediaID for tables imagekeywords, imagetag, specprocessorrawlabels, tmattributes
- Remap media API model and controller
- Misc remapping previously missed
* Adjust fk swaps to drop only if keys exist
* fix query util
* fix merge issue with query util
* clean up mysqli_execute_query reference
* Pulling latest merge from development
* fix overwritten functionality of allowing for empty params in executeQuery
---------
Co-authored-by: Katie Pearson <katelin.d.pearson24@gmail.com>
Co-authored-by: Edward Gilbert <egbot@asu.edu>
* [3.2] Cultivated name fix (#1232)
* add cultivatedname field to taxoneditor form
* change order of taxon intake form, add new column to taxa table, begin altering behavior or parseName method
* implemented CRUD for cultivatedname in taxa table
* split cultivatedName into two separate fields: cultivarEpithet (which is a valid DWC field) and tradeName for all CRUD endpoints
* make cultivarEpithet a part of sciname and implement scinameDisplay for tradeName when it exists
* Refactor scinameDisplay
attempting to resolve tradename in scientific name display when selecting a taxon in occurrence editor.
* adding a reference note
* continue undoing scinameDisplay and its cascading effects
* fix bug where getTaxaSuggest call was concatenating itself erroneously
* DRY up and apply the splitSciname method in TaxonomyTrait
* add cultivarEpithet and tradeName to TPEditorManager.php
* remove references to taxonomy trait and fix null handler in said trait
* fix syntax of commented out area
* make tradeName store as all-caps and add placeholders to cultivar epithet and trade name
* fix bug where quotations were being mishandled for cultivarEpithet and tradeName in TaxonomyEditorManager.php
* add html escapes in field values and page heading
* fix loadNewName method to accommodate cultivarEpithet and tradeName concatenations to sciname
* remove cruft
* fix bug where sciName exports did not have single quotes around cultivarEpithet
* clean up cruft
* add splitSciname to collections/individual/index.php
* hide cultivated fields
for taxonomyloader.php hide 'Cultivar Epithet' and 'Trade Name' fields unless Taxon rank is set to 'Cultivated'
* minor fixes to RpcTaxonomy
Fixes scientific name formatting displayed in taxonomyloader.php Parent Taxon field autocomplete.
* add missing space in taxaSuggest before cultivarEpithet
* change cultivarEpithet and tradeName from nullable to non-nullable in the schema
* create function splitScinameByProvided
Used by RpcTaxonomy class (called in /taxonomydynamicdisplay.php aka Taxonomy Explorer) to format display of taxonomic names.
* Update RpcTaxonomy.php
Add missing single quotes around cultivarEpithet
* add new properties and rename a few to better reflect the global pattern. Also add missing translations and handle nulls better where indicated by the php warnings
* remove cruft and clarify comments
* disable some fields in the occurrenceeditor and respond to more self-code-review feedback
* remove likely spurious use PHPUnit\Util\Json; in classes/TaxonomyEditorManager.php
* respond to self code-review
* remove wrongfully committed file
* use Development version of js/symb/taxa.taxonomyeditor.js to undo autoformatting
* respond to self code-review
* re-enable the previously-disabled family and author inputs in occurrenceeditor
* default to occurrence-level sciname if tidinterpreted is missing for full detail occurrence display page
* fix bug where cultivarName and tradeName were not in fact empty strings in the loadNewName method
* cherry pick 404f11a9a from cultivated-name-fix-searchresultlist-formatting and separate a long line of code into a few shorter lines for readability
* Improve Display of Taxonomy
Include cultivarEpithet and tradeName in Taxonomy Tree display & add cultivarEpithet and tradeName to Taxonomy Export.
* Correct author display logic
* Add CultivarEpithet and Tradename to Taxonomy Importer
Co-Authored-By: Mark <mark.aaron.fisher@gmail.com>
* cherry pick 3bca1dabe from cultivarEpithet-Determination-format-fix
* Update Sci Name parser to include cultivar epithet and tradename (#1654)
* added regex to parse sciname, cultivar epithet, tradename, author
* removed spaces
* added special characters to tradName and cultivarEpithet
* hide taxon name input when cultivated is selected
* fix bug where choosing something not cultivated did not add the taxon name field back in
* fix bug where I did not commit a file that I did not think was important, but I was wrong
* move author div before cultivar epithet when cultivated is selected and back when it is not
* relax not null assertion for cultivarEpithet and tradeName and also change cultivated to cultivar for exports
* prevent upload when cultivar designated but both cultivarEpithet and tradeName are missing
* improve styling for error message
* begin to implement new splitScinameFromOccArr method
* create and improve upon splitScinameFromOccArr
* add unit test
* freeze progress on improvements to the splitSciname and splitScinameFromOccArr methods
* Cultivar import adjustments
- Include cultivar and tradename when rebuild scientific name
- Set rank for cultivar taxa
- Set parents of cultivated taxa
- Integrate cleanInfra directly into code. It served no purpose being separate, and was causing parent authors to be incorrectly merged with insfraspecific authors
- Add "cultivar" as an alias for field mapping
* add recommended changes to cultivarEpithet and tradeName schema
* fix issue where sciname was populating with rankName of Cultivar
* remove cruft
* DRY up the trade name and cultivar epithet standardization
* fix bug where cultivarEpithet and tradeName were being italicized in taxa/index.php when they should not be
* handle edge cases where cultivar epithet is missing
* remove default italicizing of the entire sciname div
* fix and DRY some things during self code-review
* respond to more self code review and try to standardize usage of standardizeCultivarEpithet and standardizeTradeName
* make taxoneditor.php interface function similarly to taxonomyloader
* change parser to single quotes for cultivar
* improve the form logic when various taxonRanks are selected into edit mode or changed dynamically during edit mode
* continue work on accommodating the weird behavior of subgenus and making the code more readible
* make the labels and hidden divs behave correctly in the taxonomy editor
* fix lingering rendering bugs in taxonomy editor
* get taxonomy creation to behave very similarly to taxonomy editor and fix some bugs where cultivarEpithet and tradeName were not saving
* Remove special treatment of subgenus selection
* cherry pick of 47b48d53b: Move quick parser into separate field set, Add button to run quick parser, Change this to a single-use quick parser: it parses the text and then it goes blank, and begin to implement display sciname
* add a display of cultivar epithet and tradename
* change header of taxa/taxonomy/taxonomyloader.php and width of input field
* begin working on small refactor where rankId for cultivated is removed
* add comments to track where things happen
* fix bug where curly single quotes were causing formatting issues
* remove minor cruft
* simplify regex expression in light of search replace
* begin to decouple cultivarEpithet and tradeName from rankId in js/symb/taxa.taxonomyeditor.js
* implement taxonomy editor decoupling of cultivarEpithet and tradename from taxonomy rank
* remove cruft
* implement same logic for taxonomy creation as for taxonomy edit
* remove Cultivar from taxonunits
* revert sections of the decoupling of CE and TN
* fix spurious dash causing js error
* fix bug where infraspecific field was not being used during auto parse
* fix issue where auto-parser turns off upon cultivar selection and add colon to unit 1 ind label
* begin to implement more sophisticated duplicate checker to the taxonomy creation
* remove some cruft
* fix bug where sciname and scinamedisplay were not changing when cultivar was deselected, which meant that the duplicate checker was also breaking
* add check for uniqueness in taxonomy editor and tie it to the submit button
* fix bug where author-div was not rendering correctly after cultivar was selected and then selected away from
* move author div below unit1 and unit2
* remove cruft
* fix issue where purelyAestheticRankNames were being used as the labels for unit1
* add rankId 300 back in
* fix bug where cultivarEpithet and tradeName were not rendering in OccurrenceEditorDeterminations.php
* internationalize the error message about missing cultivarEpithet and or tradeName when occurrence is designated as cultivated
* remove previously untracked files and remove crufty comments and other minor clean up items
* attempt to DRY up shared constants and methods in js/symb/taxa.taxonomyeditor.js and js/symb/taxa.taxonomyloader.js and come across module export/ nested js file issues
* DRY the js files more
* DRY more shared functionality, fix bugs with taxonomy creation
* fix more bugs in taxonomy creation after DRYing up code
* fix bug where cultivarEpithet edits were being doublequoted in a way that was only noticeable in export
* fix bug with TaxonomyUtil path
* respond to self code review feedback
* whittle down number of alerts
* fix bug where missing parent taxon alert was triggered multiple times. Ended up being the duplicate taxonomyloader.js file invocation that was the problem, but other stuff got cleaned up in the meantime
* silence alerts and add new error span
* add require field start and key
* reduce debounce time
* fix bugs where cultivarEpithet was being saved with quotes and was displaying in duplicate
* clean up
* SQL error fix
- If cultivarEpithet is empty, the value needs to be set to NULL, otherwise SQL error is thrown due to that field being set to nothing (e.g. cultivarEpithet = , tradeName...)
- tradeName with an empty value should be set to NULL rather than empty string. Only the author gets set to an empty string due to it being part of the unique index
* Fix bug where we try to edit the notes or source of a collection, the submit button becomes disabled within a message stating that the name already exists, but it is because it is matching on the active record.
* DRY up code by removing redundant call to checkNameExistence
* Fix bug where notes editing initiates a uniqueness check
* Fix bug where display author is not working for taxa with rankid >= 180
* fix bug in taxonomy creation where unnecessary checkExistence was being called, add better async handling, and remove crufty param from method signatures and calls
* remove unecessary comments
* pass original form currently to bypass checkcheckNameExistence if entryHasNotChanged is true
---------
Co-authored-by: Greg Post <gregory.post@asu.edu>
Co-authored-by: NikitaSalikov <86389284+NikitaSalikov@users.noreply.github.com>
Co-authored-by: Edward Gilbert <egbot@asu.edu>
Co-authored-by: Nikita Salikov <nsalikov@asu.edu>
* Coordinate verification (#1761)
* Reactivate coordinate verification
* move coordinate geocode checking to use local geographic thesaurus
* Change path ver to force refresh of sj
* add simple check and response if no matches when verifying coordinates
* Update verification algo to check database synonyms and field specific synonyms
* Add warning if entered locality data doesn't match locality info and their are not matches
* fixing exists only check geoterms with polygons
* fixing error not firing
* Add missed check, artifact from prototyping
---------
Co-authored-by: Edward Gilbert <egbot@asu.edu>
* Add Syntax fixes to 3.2 Schema Patch (#1993)
* add fixes to patch
* another semicolon fix
* fix media import
* Improves search ordering for geothesaurus search closses #1995 (#2001)
* Cleaning up loose echo (#2004)
* Closes #2003 Cleaning up creatoruid instead of creatorUid (#2005)
* Closes #2002 Fixes Ocr Processor Reg Expr Dialog (#2008)
# Issue #2002
# Summary
Fixed JQuery selector so that it wasn't hitting a duplicate id on
another tab.
* Closes #127 Copy more values Georefclone (#2006)
* Closes #127 Copy more values Georefclone
# Issues #127
# Summary
Adds functionality to `georefclone.php` to copy over `georeferencedBy`,
`georeferenceSources`, `georeferenceRemarks`, `georeferenceProtocol`,
`georeferenceVerificationStatus`, `footprintWKT` fields into the
occurrence editor when using cloned coordinates
* fixing query util issue
* add back form closure
* Change input color to blue if input is changed and toggle open div if it is closed so all change values are easy to see
* move toggle to more browser supported method
* move the lang lines to proper file
* 1152 remove record id and show something in occurence (#1987)
* remove record-id-div from collections/individual/index.php
* handle logic for different guidtarget values
* respond to self code review feedback
* remove cruft
* restore Development version of classes/OccurrenceIndividual.php
* removed extra parentheses
* Replace some lang tag issets (#2000)
* fix bug where Perhaps you were looking for searches went to harvestparams always (#2017)
* add to symbini_template (#2016)
* Closes #2009 Moves Macro Strat Layer to an overlay and makes it transparent (#2011)
# Issue #2009
# Summary
Move the macro strat layer to an overlay in the tile rendering and adds
transparency so it can be put on top of other layers.
* change default behavior for quicksearch to include cultivated (#2029)
* removed grids, added block displays
* increased the media resolution
* Wkt to geojson (#1432)
* move checklist to read geojson footprint if present
* finish geojson conversion for mapcoordaid and retiring of checklist/mappolyaid and checklist/mappointaid
* swapping map search logic to use geojson for polycoord values
this will not work without a change in the data to omoccurpoints being long lat instead of lat long. This is because the spacial idex functions within will be off since the different spaces exist
* temp file to track work
* Removing unused functions and changing point to lngLatPoin
* adding footprintGeoJson to Voucher Admin
* organizing notes
* fixing voucher conditional so all taxa in checklist area can be searched
* adding getClFootprint which gets the footprint that is there for checklists whether wkt or geojson
* fix fitshape to properly bind this
* added case for leaflet map that will bound on shape if present
* added proper support for geojson polygons from map search
* removing redundent case for geoSqlWhere since clid is already in sqlWhere
* removing unused code comments
* adding seperate util js file for map helper tools and jsdoc defintions to reduce duplicate js functions
* adding support in collection search for geoJson search
* adding geojson support for collection/search and haravest params page
* updating mapShapeHelper docs and polygon loader to support wkt and geoJSON
* Making voucher manager protected to remove wrapper functions to pass getClFootprint
* swapping to use mapAid util
* removing unused get footprint function, was move to use only voucherManager's version
* moving last of p.point in omocurpoints to p.lngLatPoint
* removing footprintwkt in favor for footprintGeoJson and removing wkt language from variables to avoid confusion
* swapping geojson
* removing openMappingPolyAid from occur editor in favor of mapAidUtils openCoordAid
* removing openMappingPolyAid from checklist admin
* add checklist admin class to voucher admin along with hidden footprint input so footprint can be updated from save query variables form
* map manager fixes to properly merge
* fixing new and old search form to work with geoJson when loading collections/list.php
* Allowing geoJson polygon search coords to be passed via url and change polycoords to footprintGeoJson and removed redundent code associated
* creating patch for 3.2 schema updates which swaps to lng lat points and geojson for existing checklist geoms
* Fixes 3.2 schema script issue for changing spacial coordinates
* fixing occurrence update issue
* change omoccurpoints to innodb
* pass cl coordinates to mapaid
* fixing 3.2 schema patch delimiters
* remove if not exists from alter table statements to support mysql
* 1943 cookie for accordion preferences (#2038)
* implement localStorage solution for accordion toggle preferences
* begin to implement user preference of accordions
* change sessionStorage to localStorage for persistance across browser sessions
* remove crufy setPreferredAccordionIds
* give the taxonomy accordion special treatment with a default to open but still responsive to preference
* make localStoarge respond to expand and collapse all accordions
* moved the taxa group and language divs
* moved the please cite div on top
* Db patches (#2033)
* Closes #2021 (#2051)
# Issue #2021
# Summary
Coalece undefined and null values to empty string in the tooltip tags so
that undefined isn't displayed if the record is missing `instcode` or
`collcode`
* Closes #2014 Hides last updated date from Live Manages Col Profiles (#2043)
# Issue #2014
# Summary
Only displays last updated date when the collection managementype isn't
live data
* Closes #2048 Fixes logic error with ?? operator (#2056)
# Issues #2048
# Summary
Fixes logic error with ??
* Update occurrenceeditor.css (#1869)
Fix image 'stretching' issue in occurrence editor
* Batch update higher geography terms (#2022)
- Add code to batch populated null countryCodes and continent whenever occurrence imports happen or collection statistics are updated within a collection. Updates are global across all collections no match which collection they are triggered within.
- Add SQL to 3.2 DB Patch to batch update all countryCodes and continent values and index relavent fields with geographic thesaurus. DB patch statements are placed within separate file, which will be merged into 3.2 patch at a later date.
- Add country code to all DwC-Archive output
- Add code to public occurrence search interface that translates country terms to iso2 abbreviations
- Adjust state abbreviation translation code within public occurrence search interface to prepared statements
* Continued adjustments
* Hotfix 3.1.6 (#2068)
* Minor editor fix
- Remove head from editor due to causing more disruptions than benefits due to variations within portals central css stylings. Best to integrate head into new redesign of occurrence editor.
* Update hotfix version (3.1.6)
* closes #1954 Fixes use of hidden button and button submit value
Fix transfer taxa form so that action is submited in the request
* Fixing Login Form CSS closes #1975
# Issue #1975
# Summary
input id value for email was "login" and css rule `#login {float:
right}` was being applied to this accidently causing some odd behavior.
Changed id of login so the collid wouldn't happen and bumped the width
of the form so that it will display correctly.
* resolve merge conflict
* Occurrence Profile bugs
- Adjust editor permissions check so that it includes creator of general research collections (observerUid = active user)
- Avoid double sanitation of identifier and collector
* Update geolocate.php (#1996)
Fixes minor typo that occurs in error message
* hotfix - protection
- If collid input is a number + single quote, assume it's an SQL Inject support and set value to 0, which returns nothing, rather than putting a load on the server
* Institution Sanitation issue
- Remove sanitation off outbound notes content to avoid interfering with embedded html tags that are added when this field is appended with GriSciColl info.
- Remove sanitation notes which were only meant to communicate to internal team when sanitation content was originally added.
Resolves following issue, in part: https://github.com/BioKIC/Symbiota/issues/1982
* API Annotation Bug
- Fix issue with missing recordID field from SQL statement definition
* added the changes to hotfix
* Bug adding image
- If user is null, user verification code incorrectly checks to see if there is a user with an empty string username or email. Thus, add code that skips checking user table if login details are an empty value
- Don't add empty strings to database. Keep them as null values.
- Comment out user verification check. Just test to make sure it's a number.
* remove associations changes
* Closes #2040 Sorts By Sciname within family (#2052)
# Issue #2040
# Summary
Adds extra sort conditions so that records are sorted by sciname after
being storted by family.
* Closes #2049 Fixes typo on globals variable
# Issues #2049
# Summary
Fixes typo for `IMAGE_ROOT_PATH` and `IMAGE_ROOT_URL` global variables.
Note this will be overritten in the coming 3.2 changes with the
multimedia changes so maybe it would be worth merging.
* Fix country synonyms, some U.S. states, add U.S. state abbreviations (#2059)
* Closes #2064 Fixing String Number multiply
# Issues #2064
# Summary
Adds as is_numeric check on 'page' request variable so that the
`$pageNumber` variable is alwasys a number
* Update geolocate.php per Nelson's suggestion (#2066)
See https://github.com/BioKIC/Symbiota/issues/1702#issuecomment-2493877471
Co-authored-by: Edward Gilbert <egbot@asu.edu>
* Update db_schema_patch-3.1.sql
- Explicitly set the index for omoccurrences.locality to a length of 100, thus avoid DB setting it to a default larger length that is beyond what is needed nor practical.
Addresses issue: https://github.com/BioKIC/Symbiota/issues/2050
* removed arrow functions and union types
* replaced str_contains with str_pos
---------
Co-authored-by: Edward Gilbert <egbot@asu.edu>
Co-authored-by: MuchQuak <loganpwilt@gmail.com>
Co-authored-by: Logan Wilt <91149982+MuchQuak@users.noreply.github.com>
Co-authored-by: atticus29 <mark.aaron.fisher@gmail.com>
Co-authored-by: Lindsay Walker <lindsay.walker@ku.edu>
Co-authored-by: Nikita Salikov <nsalikov@asu.edu>
Co-authored-by: NikitaSalikov <86389284+NikitaSalikov@users.noreply.github.com>
Co-authored-by: Katie Pearson <katelin.d.pearson24@gmail.com>
* cherry pick 5bf47670d - fix typos and minor bugs in collections/search/js/searchform.js (#2073)
* whoops. This one actually does not seem like a bug after all. Earlier Mark was smarter than yesterday Mark (#2077)
* Update db_schema_patch-3.2.sql
- Clean-up omoccurrences trigger resets
* Update db_schema_patch-3.2.sql
- Update to occurrence latlng point updates
* DB Patch adjustments continued
- Continued reworking of DB Patch
- Minor code changes to match adjustment to table and column names
* Removes Multiple Types from function signatures (#2079)
# Summary
Mutliple return and parameter types are not compatible with php 7 so
this changes reverts code to make it compatible
* removed cleanoutstr for collectionname and users
* Hotfix (#2085)
Hotfix version 3.1.6.1
* Update index.php
Build occurrence array after protections applied
* Adjustment
- Get observeruid value directly from occData class array, thus avoiding occArr needing to exist prior to permission checks
---------
Co-authored-by: Edward Gilbert <egbot@asu.edu>
Co-authored-by: Katie Pearson <katelin.d.pearson24@gmail.com>
* Update symbbase.php
Revert code version to 3.2
* Revert "Update symbbase.php"
This reverts commit 37e7d1a5e5a950f15a8849099178a06c6b3362f4.
* Enhancement/js rendering occurrencelist (#2071)
* intial template for js rendered occurrence list
* Adjust js table to render actual point data
* simple pagination finished with data
* fixing random open divs
* Add first|last and left | right arrows on the pagination
* fixing some page start issues
* Remove usage of occurrencelist, Rework Cross Portal Searching to use js rending and append onto main portal results
* fix start index of js rendered table
* Fix Jquery record table loading for intial rendered tables
* Closes #2053 Closes #1845
* Add event date to map coordinate data
* Adjust see map to be a globe
* Adjust map globe to sit in middle of table vertically
* Add catalog and collector hyper links to occurrence record and add taxa link via tid
* fix client root not being add in domain
* Mods continued
- Update schema manager to be able to handle 3.2 patch
- Skip pre-3.0 adjustments when schema is a 3.0 install
- Misc adjustments to 3.2 schema patch
- Add try/catch to ProfileManager to avoid fatal error when schema has not yet been installed
-
* Update SchemaManager.php
Minor fix for updates to schemas > 3.0
* 3.1.7 Hotfix (#2093)
* Fix coll profile slowdown (#2092)
* Update collprofiles.php
Remove Bionomia badge curl request
Use onerror to hide Bionomia badge if not loading.
* Update symbbase.php
Update code version to 3.1.7
* Update collprofiles.php
Fix for missing variable.
* Improvement SQL efficiency
- Improve efficiency of 2 very commonly used SQL queries
---------
Co-authored-by: Greg Post <gregory.post@ku.edu>
* Update symbbase.php
Reset to code version to 3.2
* Adjustments to Profile Check
- Change how profile settings are checked within symbbase, which is called each time a page changes. Changes make sure that the connection is closed right after checks, so that connection does not precise during long lived pages. Thus, reduces chance of out-of-connection errors
* 3.2 patch additions
- Add schema and data adjustments needed for countryCode and continent activation
* Adjustment
- Move remove indexes associated with old media table prior to creating new media table, thus avoiding fatal error thrown when creating new table
* added searchvar js var to list.php, added protocol to list.js
* Hotfix (#2098)
**3.1.8 Hotfix update**
- API developments
-- Fix bug associated with displaying all media. Previous output was limited to first 200 records only
-- Add limit and offset variables to display all media
-- Add filters to display all media endpoint: tid filter, includeSynonyms, includeChildren
- Out of bounds hyperlink within occurrence editor. Resolves https://github.com/BioKIC/Symbiota/issues/2099
Co-authored-by: Greg Post <gregory.post@asu.edu>
Co-authored-by: Mark <mark.aaron.fisher@gmail.com>
* revert to using php var
* added double quotes
* Closes #2106 Fixes Media Batch Tag Updating (#2107)
# Issue #2106
# Summary
Adjusts usage of imgid to mediaId on input so that the postArr would
pull the correct id information instead of erroring
* Add tags to DwC-A media extension (#2102)
- Add images tags to DwC-A media extension file
* Update the verbiage of the batch tagging message (#2121)
* Update db_schema_patch-3.2.sql (#2105)
Update table references to lower case
* Update OccurrenceMaintenance.php
Correct case of tablename (DB tables should always be lower case)
* remove cruft (#2087)
* check for whether is set using PHP not javaScript syntax lol (#2122)
* Closes #2010, Adds simple popup to assist with color recognition (#2027)
* Closes #2010, Adds simple popup to assist with color recognition
# Issue #2010
# Summary
Hooks into the macrostrat api to pull lat long input when the macrostrat
layer is clicked.
* Filling about the popup with desired info
* External linking on strat_names
* style adjustments
* better error handling on popup construction
* Word adjustment for strat_names label
* Closes #2108 (#2118)
# Issue #2108
# Summary
Adds inits for locality suggest for locality fields `country`, `state`,
and `county`
* Saves additional objects to the leaflet map object (#2070)
* Saves additional objects to the leaflet map object
This allows for later manipulation without modifying Symbiota code
In particular:
- Adds the layerControl object, allowing for layers to be added, removed, renamed, or re-ordered
- Adds the scaleControl object, allowing it to be moved around the map (the default placement is obscured by the search panel)
- Adds the taxaClusters generated by markerClusterer, allowing for them to be manipulated (e.g., turned off and on).
* Removing Merge Artifacts
---------
Co-authored-by: Logan Wilt <91149982+MuchQuak@users.noreply.github.com>
* Closes #2125 Replaces Flaky regex with String Parsing (#2132)
# Issue #2125
# Summary
This is putting back code that was lost during from the back merge of
master into development which was breaking functionality. Originally
this regex was causing issue and being inconistant and replacing it with
the use of a singluar explode function will make it more robust
* Closes #2143 Fixes Record Linking (#2146)
# Issue #2143
# Summary
Makes default value 'N/A' instead of empty string so records links can
happen regardless if the value is present
* Remove sorting from public query (#1839)
- Remove sorting from public display as the default action
- Add sort option to occurrence list display
- Fix bug that was not displaying first record when sort was being used
- Fix issues with "comingFrom" variable controlling navigation links based on which search form (new or old) user originated from. Necessary because some portals have both forms listed within their main menu.
- Internationalization additions and adjustments
- Sanitation improvements
* Closes #2119 Fixes Media Form History (#2148)
* Closes #2119 Fixes Media Form History
# Issue #2119
# Summary
After search variables that were previously selected were not being
overidden by changes in the form. This was do to altering the form
action in order to preserve the url after a post. Fix was to load this
with js so that the history is correct but does not pollute the next
request.
* cleaning up logic
* 2111 bugfix missing image in cloned resource (#2150)
* add useful print statements
* add putative solve
* remove print statements
* changed the class to tsedit for family div
* Small language fixes (#2152)
* Fixes https://github.com/BioKIC/Symbiota/issues/2114
* Fixes https://github.com/BioKIC/Symbiota/issues/2138
* Fixes https://github.com/BioKIC/Symbiota/issues/2147
* Addresses https://github.com/BioKIC/Symbiota/issues/2137
* Fixes https://github.com/BioKIC/Symbiota/issues/2124
* The rest of https://github.com/BioKIC/Symbiota/issues/2114
* [3.2 bugfix] fix bug where points array is null for non-volunteers (#2161)
* fix bug where points array is null for non-volunteers
* remove line space
* Print errors from buildHierarchyEnumTree during taxonomy upload
* Schema management dev
- Rework image to media transformation to rename table rather than creating a new table and then transferring records. This is needed to avoid issues with losing previous customizations to image table.
- Drop deprecated tables to save space
- Fix issues with omoccurpoints table
- Misc error fixes to km table statements
- Fix bug with counting and reporting line numbers of schema patch
- Add ability to skip statements for 3.x and 1.x installs if statement does not apply to that major version
* Closes #2155 Fixes `sourceUrl` Key typo (#2159)
# Issue #2155
# Summary
Fixes `sourceUrl` key typo and some language tags for `PHOTOG_OVER` and
`DISPLAY_PHOTOG_OVER` missed from recent pr
* unified the namings for sortOccurrences, creator and creatorUid
* removed the extra escape in update function
* Replace image with media in lang tag (#2173)
* Closes #2156 Fixes Sql Issue (#2166)
# Issue #2156
# Summary
Fixes mysql query error during query construction
* Closes #2157 Fixing Language Tag Typo (#2165)
# Issue #2157
# Summary
Fixes typo of lang tag
* Closes #2117 Url Mapping Upload Adjustments (#2158)
* Closes #2117 Url Mapping Upload Adjustments
# Issue #2117
# Summary
Adds Required Fields for media upload `format` and `originalUrl` must
now be mapped. There is a js alert for when they aren't. Subsequently if
the values are null the row will not be imported and a notification will
be show stating if either values are null
* removing debugging var_dump
* removing added debug sql condition
* Remove odd status echo that says nothing of use and is confusing
* Add Required Fields
* Add naive ext2Mime Function Media
* Replace Required format with selected upload type to infer mime base on extension
* Make adding user autocomplete in collprofiles.php (#2178)
* added autocomplete, moved getuserlist to collections/rpc, changed paths
* Change wording of user entry form
---------
Co-authored-by: Katie Pearson <katelin.d.pearson24@gmail.com>
* Add island, island group, and continent fields to batch update tool (#2182)
* added continent, island and island group fields to batch update tool
* added water body field
* added island, islandgroup, continent, waterbody to record search form (#2185)
* Fixes Shape Dragging (#2186)
# Summary
- Some odd depedency errors were causing dragging to no work because of
different leaflet version. Solution was to update a core lib via cdn and
then just import the parts we are using do get polygon dragging to
function without touching other dragging functionality.
* Closes #2141 Generalize Associated Media Upload (#2177)
* Closes #2141 Generalize Associated Media Upload
# Issue #2141
# Summary
Fixes typo that was breaking `associatedmedia` fields ability to do
image imports
Extended `associatedmedia` field's scope to work with audio files
Added `mediaType` field to `uploadimagetemp` table to accomadate the
needed multimedia capcity. Removed "image" hard code as a result of
this.
* Fixing jpeg and remote file parsing for bulk uploads
* fix str dep error
* Remove checklists/mappolyaid.php (#2194)
* Remove checklists/mappolyaid.php
# Summary
This was depercated a bit ago and mapcoordaid.php which as expanded to
be able to acheive the same functionality.
Did a double check to make sure it wasn't used anywhere and it is not.
* Remove unnecessary lang tags
---------
Co-authored-by: Katie Pearson <katelin.d.pearson24@gmail.com>
* Bugfix/map boundary rework (#2193)
* Add Mapping Util with map related helper functions
* Closes #2191 Fixes Map point aids not adhearing to bounds
* Remove checklists/mappointaid because all have been pointed towards collectons/mappointaid which is now general purpose
* Adjust mappoint aid to set zoom to appropriate level if a marker is present
* Changed default boundaries to most of globe
---------
Co-authored-by: Katie Pearson <katelin.d.pearson24@gmail.com>
* added the overflow-wrap (#2196)
* Closes #2067 Fixes UTF-8 encoding issue (#2201)
# Issue #2067
# Summary
Removes 'UTF-8, ISO-8859-1, ISO-8859-15' params from
`mb_detect_encoding` because it was causing issues when interpreting
UTF-8 strings
* Dynamic Map Adjustments
- Use getDomain within utility function to ensure map redenders when SERVER_HOST is not set within symbini file.
- Remove some unused variables
- Remove isset LANG fragments
* [3.2] Bugfix issue #2136 remove asterisk in view mode (#2199)
* only add star in edit mode
* respond to QA feedback
* remove cruft
* Schema Adjustments
- Add functions that evaluates index and constraint statement fragments and compares them against database to ensure statements will not fail. Otherwise, they are pruned out and logged.
* More adjustments
* Schema Installer bug fixes
* Misc adjustments
- Fix errors testing column existence within ALTER TABLE statements
- Improve error handling
* Schema adjustment
- Re-add statements that got pruned out
* Update ImageLocalProcessor.php (#2220)
add missing table name.
Resolves #2219
* SymbUtil bug
- Maps to new location for query utility static function
- Resolves issue #2229
* 3.2 bugs
- use of old images table within SQL statement
* Closes #2231 Fixes sort sequence being overwritten default being overwritten by empty form value (#2233)
* Closes #2231 Fixes sort sequence being overwritten default being overritten by empty form value
* Fix undefined variable issue
* Fix undefined array key being used after access issue
* remove redundant showAllDescriptions (#2198)
* Minor crowdsource adjustments
* [3.2] Hotfeature (lol) /api/v2/exsiccata (#2242)
* fix bug where points array was null
* begin to implement exsiccati endpoint
* fix bug from PR 2198 and update api docs
* auto-format TaxonomyController.php
* remove this change that should not be here
* Update symbbase.php
Update version
* change exsiccati -> exsiccata
* Update api-docs.json
Trim out taxonomy description out of the documentation since they currently are not working
---------
Co-authored-by: Edward Gilbert <egbot@asu.edu>
* 3.2 dev hotfix db schema patch (#2243)
- Schema installer can't handle the modification of an index when it is both dropped and added within the same ALTER TABLE statement. Thus, I separated the lines into two different statements.
- Explicitly define new tables using the INNODB db engine
* Update OccurrenceDownload.php (#2223)
Add logic to handle presence of ds.datasetid in setSqlJoins function
Co-authored-by: Mark <mark.aaron.fisher@gmail.com>
* [3.2] bugfix - add thumbnail for (image) media in list.php (#2250)
* add thumbnail code back in for media
* remove commented-out code
* Enhancement/deprecate taxon profile map (#2259)
* Swap openMapPopup function on taxon profile page to open to taxon search
* Open with menu closed by default when coming from taxon profile page
* Remove deprecated map files
* remove associated lang files with deprecated map files
* Closes #2251 Fixes Partial Collector Searches on the occurrence editor (#2260)
# Issue Closes #2251
# Summary
Full text syntax got messed up at some point when changing over the full
text indexes to the omoccurrence table. This is a simple fix by putting
the parens in the right place.
* Closes #2258 Shink Marker size by half (#2262)
* Closes #2258 Shink Marker size by half
# Issue Closes #2258
# Summary
Reduces Marker size on map search to be about half of what it was before
* bump size a bit
* Update termdetails.php (#2264)
Fixes errant UTF character and restores variable r…
themerekat
pushed a commit
to Symbiota/Symbiota-portals
that referenced
this pull request
Oct 16, 2025
…it transparent (Symbiota#2011) # Issue Symbiota#2009 # Summary Move the macro strat layer to an overlay in the tile rendering and adds transparency so it can be put on top of other layers.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Issue #2009
Summary
Move the macro strat layer to an overlay in the tile rendering and adds transparency so it can be put on top of other layers.
Pull Request Checklist:
Pre-Approval
masterbranch and PR'd using the merge option (not squashed) into thehotfixbranch.Developmentbranch, NOTmasterPost-Approval
Developmentbranch, remember to use the squash & merge optionhotfixbranch, remember to use the merge option (i.e., no squash).Developmentbranch into the master branch, remember to use the merge optionhotfixbranch into themasterbranch use the squash & merge optionmasterintoDevelopmentshould be made with the merge option (i.e., no squash).hotfixbranch and create a newhotfixbranchhotfixbranch.Developmentbranch before a tagged release (i.e., before an imminent merge into the master branch), make sure to notify the team and lock theDevelopmentbranch to prevent accidental merges while QA takes place. Follow the release protocol here.Thanks for contributing and keeping it clean!