{"id":39427617,"url":"https://github.com/webitproff/forumspostsuser-cotonti","last_synced_at":"2026-01-18T04:00:59.463Z","repository":{"id":333132986,"uuid":"1136328087","full_name":"webitproff/forumspostsuser-cotonti","owner":"webitproff","description":"This plugin displays user messages posted on the forum in two formats: a separate page with a list of their own messages and a separate tab in the user's profile with a list of their posts. Plugin for Cotonti 0.9.26, PHP 8.4+","archived":false,"fork":false,"pushed_at":"2026-01-17T13:56:02.000Z","size":19,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-01-18T00:11:59.972Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://abuyfile.com/en/market/cotonti/plugs/forumspostsuser","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/webitproff.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-01-17T13:45:35.000Z","updated_at":"2026-01-17T13:56:31.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/webitproff/forumspostsuser-cotonti","commit_stats":null,"previous_names":["webitproff/forumspostsuser-cotonti"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/webitproff/forumspostsuser-cotonti","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/webitproff%2Fforumspostsuser-cotonti","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/webitproff%2Fforumspostsuser-cotonti/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/webitproff%2Fforumspostsuser-cotonti/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/webitproff%2Fforumspostsuser-cotonti/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/webitproff","download_url":"https://codeload.github.com/webitproff/forumspostsuser-cotonti/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/webitproff%2Fforumspostsuser-cotonti/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28529455,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-18T00:39:45.795Z","status":"online","status_checked_at":"2026-01-18T02:00:07.578Z","response_time":98,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-01-18T04:00:33.348Z","updated_at":"2026-01-18T04:00:59.448Z","avatar_url":"https://github.com/webitproff.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"# forumspostsuser-cotonti\nThis plugin displays user messages posted on the forum in two formats: a separate page with a list of their own messages and a separate tab in the user's profile with a list of their posts. Plugin for Cotonti 0.9.26, PHP 8.4+\n\n# Forum Posts User\n\nPlugin for Cotonti CMS that displays forum posts authored by a user, both as a standalone page for the current user and as a tab in the user profile.\n\n![Forum-Posts-User-Cotonti-2026-webitproff-001](https://github.com/user-attachments/assets/28dc5a5a-117b-4578-979c-59e2ee9d002d)\n\n---\n\n## Description\n\n**Forum Posts User** extends the standard Cotonti forums and users modules by adding functionality to list forum posts created by a specific user.\n\nThe plugin provides:\n\n- a standalone page showing **posts of the currently authorized user**;\n- a **profile tab** in `users.details` showing posts of any user (subject to access permissions);\n- pagination, post text truncation, and permission-aware output.\n\nThe plugin does not introduce new database tables and relies entirely on existing forum structures.\n\n---\n\n## Requirements\n\n- Cotonti Siena `0.9.26+`\n- PHP `8.4+`\n- Active **forums** module\n- Standard Cotonti users module\n\n---\n\n## Installation\n\n1. Copy the plugin directory `forumspostsuser` into:\n\n\nplugins/forumspostsuser/\n\n2. Install the plugin via the Cotonti administration panel:\n\nAdministration → Extensions → Forum Posts User → Install\n\n3. Ensure the **forums** module is installed and enabled.\n\n---\n\n## Plugin Structure\n\n\n```\nforumspostsuser/\n├── forumspostsuser.php\n├── forumspostsuser.global.php\n├── forumspostsuser.functions.php\n├── forumspostsuser.users.details.php\n├── forumspostsuser.setup.php\n├── lang/\n├── forumspostsuser.en.lang.php\n├── forumspostsuser.ru.lang.php\n├── tpl/\n├── forumspostsuser.tpl\n└── forumspostsuser.users.details.tpl\n```\n\n---\n\n## Configuration\n\nAvailable plugin configuration options:\n\n- **showpostsinlist**  \n  Number of posts displayed per page.\n\n- **postscutinlist**  \n  Maximum number of characters shown per post (after stripping markup).\n\nConfiguration is available via:\n\n\nAdministration → Extensions → Forum Posts User → Configuration\n\n\n---\n\n## Frontend Usage\n\n### Standalone page (authorized user only)\n\nThe plugin exposes a standalone page accessible via:\n\n```\ncot_url('plug', 'e=forumspostsuser')\n```\n\nAccess rules:\n\nuser must be authorized;\n\nonly the current user's posts are shown;\n\nposts are sorted by last update date (DESC).\n\nPagination is handled using Cotonti standard pagination helpers.\n\nMenu integration example\n\nExample of adding a menu item for authorized users:\n```\n\u003c!-- IF {PHP|cot_plugin_active('forumspostsuser')} --\u003e\n\u003cli class=\"nav-item\"\u003e\n\t\u003ca href=\"{PHP|cot_url('plug', 'e=forumspostsuser')}\" class=\"nav-link\" title=\"{PHP.L.forumspostsuser_title_my}\"\u003e\n\t\u003cspan class=\"me-2\"\u003e\u003ci class=\"fa-solid fa-comments fa-lg\"\u003e\u003c/i\u003e\u003c/span\u003e\n\t\u003cspan\u003e{PHP.L.forumspostsuser_title_my}\u003c/span\u003e\n\t\u003c/a\u003e\n\u003c/li\u003e\n\u003c!-- ENDIF --\u003e\n```\n\nUser Profile Integration\n\nThe plugin hooks into:\n\nusers.details.tags\n\n\nand provides the following template tags:\n\n{FORUMSPOSTSUSER_TAB}\n\n{USERS_DETAILS_FORUMSPOSTSUSER_URL}\n\n{USERS_DETAILS_FORUMSPOSTSUSER_COUNT}\n\nTab link example\n```\n\u003c!-- IF {PHP|cot_plugin_active('forumspostsuser')} --\u003e\n\u003cli class=\"nav-item\"\u003e\n\t\u003ca class=\"nav-link\u003c!-- IF {PHP.tab} == 'forumspostsuser' --\u003e active\u003c!-- ENDIF --\u003e\" href=\"{USERS_DETAILS_FORUMSPOSTSUSER_URL}#tab_forumspostsuser\" data-bs-toggle=\"tab\" role=\"tab\"\u003e\n\t\t{PHP.L.forumspostsuser_title} ({USERS_DETAILS_FORUMSPOSTSUSER_COUNT})\n\t\u003c/a\u003e\n\u003c/li\u003e\n\u003c!-- ENDIF --\u003e\n```\n\nTab content example\n```\n\u003c!-- IF {PHP|cot_plugin_active('forumspostsuser')} --\u003e\n\u003cdiv class=\"tab-pane fade\u003c!-- IF {PHP.tab} == 'forumspostsuser' --\u003e show active\u003c!-- ENDIF --\u003e\" id=\"tab_forumspostsuser\" role=\"tabpanel\"\u003e\n\t{FORUMSPOSTSUSER_TAB}\n\u003c/div\u003e\n\u003c!-- ENDIF --\u003e\n```\n\nServer-Side Logic Overview\nData sources\n\nThe plugin works directly with:\n\nforum posts table\n\nforum topics table\n\nforum structure\n\nNo additional tables are created.\n\nCore logic\n\ndetermines target user ID (current user or profile owner);\n\nverifies user existence;\n\nchecks forum read permissions per post category;\n\ncounts total posts for pagination;\n\nfetches posts with LIMIT and OFFSET;\n\nparses post text using forum markup settings;\n\nstrips HTML and truncates content;\n\nbuilds post URLs pointing directly to forum posts.\n\nPermissions Handling\n\nForum read permissions are checked using:\n\ncot_auth('forums', $category, 'R')\n\n\nPosts from inaccessible categories are excluded.\n\nIf the forums module is disabled, the plugin does nothing.\n\nIf the requested user does not exist, profile tab output is disabled.\n\nTemplates\nforumspostsuser.tpl\n\nUsed for the standalone page showing the current user’s posts.\n\nFeatures:\n\nbreadcrumb navigation;\n\npaginated list of posts;\n\ntopic title, post excerpt, date, category;\n\nempty state message if no posts exist.\n\nforumspostsuser.users.details.tpl\n\nUsed for the profile tab.\n\nFeatures:\n\nembedded output inside user profile;\n\npagination support;\naccess-aware post listing;\npost count display.\n\nLocalization\n\nLanguage strings are loaded via:\n\ncot_langfile('forumspostsuser', 'plug')\n\n\nAll user-facing text is localized.\n\nMultilingual environments are supported out of the box.\n\n\nHooks Used\n\n - global\n - standalone\n - users.details.tags\n\n\nLimitations\n\nOnly forum posts are supported.\n\nNo filtering by category or topic.\n\nNo caching layer.\n\nNo moderation or edit actions included.\n\nCompatibility\n\nUses only Cotonti core APIs.\n\nCompatible with standard forum markup settings.\n\nSafe for custom themes (template-based output).\n\nLicense BSD License\nDate: Jan 17Th, 2026\nAuthor: webitproff https://github.com/webitproff\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwebitproff%2Fforumspostsuser-cotonti","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwebitproff%2Fforumspostsuser-cotonti","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwebitproff%2Fforumspostsuser-cotonti/lists"}