How definitelynotlaw/cs3b-bulletin works
CS3B Bulletin is a PHP/MySQL class bulletin. Visitors browse and search announcements, view event dates and the officer directory, and submit acknowledgments or reports; authenticated staff create and schedule posts, manage their lifecycle, and administer reports and accounts. The graph separates public discovery, staff publishing and curation, identity, and feedback. MySQL is the shared persistence layer. Source excerpts establish only some endpoint-to-helper calls; documented but unsampled features are included without speculative edges.
Main entry points: config.php PDO connection · functions.php Session and security · announcement_form.php Announcement editor · profile.php Staff profiles
Components 25
Public bulletin
- Announcement browse
index.php - Event calendar
calendar.php - Officer directory
officers.php - Public archive
index.php
Publishing and curation
- Announcement editor
announcement_form.php - Save announcements
save_announcement.php - Staff dashboard
dashboard.php - Lifecycle management
archive_announcement.php - Revision history
announcement-history.php - Revision restore
restore-announcement.php - Announcement pinning
pin-announcement.php
Staff identity
- Staff login
login.php - Staff profiles
profile.php - Password management
change-password.php
Community feedback
- Problem report form
report.php - Report submission
submit_report.php - Visitor acknowledgments
acknowledge.php - Announcement votes
upvote.php
Shared runtime
- PDO connection
config.php - Session and security
functions.php - MySQL database
database.sql - Uploaded media
uploads
Other components
- Visitor
- Staff
- Email service
Connections 40
- Visitor → Announcement browse: browses
README.md - Visitor → Event calendar: views dates
README.md - Visitor → Officer directory: views officers
README.md - Visitor → Public archive: browses archive
README.md - Staff → Staff login: signs in
README.md - Staff → Announcement editor: creates or edits
README.md - Staff → Staff dashboard: manages posts
README.md - Staff → Staff profiles: updates profile
README.md - Staff → Password management: changes password
README.md - Visitor → Problem report form: reports concern
README.md - Visitor → Visitor acknowledgments: acknowledges
README.md - Visitor → Announcement votes: votes
- Announcement editor → Save announcements: submits
README.md - Announcement browse → PDO connection: queries
index.php - Announcement browse → Session and security: uses access helpers
index.php - Event calendar → PDO connection: queries
calendar.php - Event calendar → Session and security: uses time helpers
calendar.php - Officer directory → PDO connection: queries
officers.php - Announcement editor → PDO connection: loads announcement
announcement_form.php - Announcement editor → Session and security: uses tag helpers
announcement_form.php - Save announcements → PDO connection: writes announcement
save_announcement.php - Save announcements → Session and security: checks access and input
save_announcement.php - Staff dashboard → PDO connection: loads posts and reports
dashboard.php - Lifecycle management → PDO connection: changes lifecycle
README.md - Revision history → PDO connection: reads revisions
announcement-history.php - Revision restore → PDO connection: restores revision
restore-announcement.php - Revision restore → Session and security: uses revision helpers
restore-announcement.php - Announcement pinning → PDO connection: updates pin
pin-announcement.php - Staff login → PDO connection: authenticates
login.php - Staff login → Session and security: uses session helpers
login.php - Staff profiles → PDO connection: reads and updates
profile.php - Staff profiles → Session and security: validates uploads
profile.php - Problem report form → Report submission: submits
README.md - Report submission → PDO connection: stores report
submit_report.php - Report submission → Email service: forwards report
README.md - Visitor acknowledgments → PDO connection: records response
acknowledge.php - Announcement votes → PDO connection: records vote
upvote.php - PDO connection → MySQL database: connects
config.php - Session and security → Uploaded media: stores uploads
functions.php - Staff profiles → Uploaded media: stores photo
profile.php