- Implemented PayPal webhook for handling payment notifications, including signature verification and transaction updates. - Created invoice generation and license management for software upgrades upon successful payment. - Added comprehensive logging for debugging purposes. - Introduced new CSS styles for the marketing file management system, including layout, toolbar, breadcrumb navigation, search filters, and file management UI components.
114 lines
4.4 KiB
SQL
114 lines
4.4 KiB
SQL
-- Marketing System Database Tables
|
|
-- Run this script to create the necessary tables for the marketing file management system
|
|
--
|
|
-- Usage: Import this file into your MySQL database or run the commands individually
|
|
-- Make sure to select the correct database before running these commands
|
|
|
|
-- Disable foreign key checks temporarily to avoid constraint errors
|
|
SET FOREIGN_KEY_CHECKS = 0;
|
|
|
|
-- Create marketing_folders table
|
|
CREATE TABLE IF NOT EXISTS `marketing_folders` (
|
|
`id` int(11) NOT NULL AUTO_INCREMENT,
|
|
`folder_name` varchar(255) NOT NULL,
|
|
`parent_id` int(11) DEFAULT NULL,
|
|
`description` text DEFAULT NULL,
|
|
`created` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
`createdby` varchar(100) DEFAULT NULL,
|
|
`updated` timestamp NULL DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP,
|
|
`updatedby` varchar(100) DEFAULT NULL,
|
|
`accounthierarchy` text DEFAULT NULL,
|
|
PRIMARY KEY (`id`),
|
|
KEY `parent_id` (`parent_id`),
|
|
KEY `accounthierarchy_idx` (`accounthierarchy`(100))
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
|
|
|
-- Create marketing_files table
|
|
CREATE TABLE IF NOT EXISTS `marketing_files` (
|
|
`id` int(11) NOT NULL AUTO_INCREMENT,
|
|
`title` varchar(255) NOT NULL,
|
|
`original_filename` varchar(255) NOT NULL,
|
|
`file_path` varchar(500) NOT NULL,
|
|
`thumbnail_path` varchar(500) DEFAULT NULL,
|
|
`file_type` varchar(10) NOT NULL,
|
|
`file_size` bigint(20) NOT NULL DEFAULT 0,
|
|
`folder_id` int(11) DEFAULT NULL,
|
|
`tags` json DEFAULT NULL,
|
|
`created` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
`createdby` varchar(100) DEFAULT NULL,
|
|
`updated` timestamp NULL DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP,
|
|
`updatedby` varchar(100) DEFAULT NULL,
|
|
`accounthierarchy` text DEFAULT NULL,
|
|
PRIMARY KEY (`id`),
|
|
KEY `folder_id` (`folder_id`),
|
|
KEY `file_type` (`file_type`),
|
|
KEY `accounthierarchy_idx` (`accounthierarchy`(100)),
|
|
KEY `created_idx` (`created`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
|
|
|
-- Create marketing_tags table
|
|
CREATE TABLE IF NOT EXISTS `marketing_tags` (
|
|
`id` int(11) NOT NULL AUTO_INCREMENT,
|
|
`tag_name` varchar(100) NOT NULL,
|
|
`created` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
PRIMARY KEY (`id`),
|
|
UNIQUE KEY `tag_name` (`tag_name`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
|
|
|
-- Create marketing_file_tags junction table
|
|
CREATE TABLE IF NOT EXISTS `marketing_file_tags` (
|
|
`file_id` int(11) NOT NULL,
|
|
`tag_id` int(11) NOT NULL,
|
|
PRIMARY KEY (`file_id`, `tag_id`),
|
|
KEY `file_id` (`file_id`),
|
|
KEY `tag_id` (`tag_id`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
|
|
|
-- Add foreign key constraints after all tables are created
|
|
ALTER TABLE `marketing_folders`
|
|
ADD CONSTRAINT `fk_marketing_folders_parent`
|
|
FOREIGN KEY (`parent_id`) REFERENCES `marketing_folders`(`id`) ON DELETE CASCADE;
|
|
|
|
ALTER TABLE `marketing_files`
|
|
ADD CONSTRAINT `fk_marketing_files_folder`
|
|
FOREIGN KEY (`folder_id`) REFERENCES `marketing_folders`(`id`) ON DELETE SET NULL;
|
|
|
|
ALTER TABLE `marketing_file_tags`
|
|
ADD CONSTRAINT `fk_marketing_file_tags_file`
|
|
FOREIGN KEY (`file_id`) REFERENCES `marketing_files`(`id`) ON DELETE CASCADE;
|
|
|
|
ALTER TABLE `marketing_file_tags`
|
|
ADD CONSTRAINT `fk_marketing_file_tags_tag`
|
|
FOREIGN KEY (`tag_id`) REFERENCES `marketing_tags`(`id`) ON DELETE CASCADE;
|
|
|
|
-- Re-enable foreign key checks
|
|
SET FOREIGN_KEY_CHECKS = 1;
|
|
|
|
-- Insert some default sample data (optional)
|
|
-- Uncomment the lines below if you want to start with sample folders and tags
|
|
|
|
-- INSERT INTO `marketing_folders` (`folder_name`, `description`, `createdby`) VALUES
|
|
-- ('Product Brochures', 'Marketing brochures and product information', 'system'),
|
|
-- ('Technical Specifications', 'Technical documentation and specifications', 'system'),
|
|
-- ('Images', 'Product images and photos', 'system'),
|
|
-- ('Videos', 'Product videos and demonstrations', 'system');
|
|
|
|
-- INSERT INTO `marketing_tags` (`tag_name`) VALUES
|
|
-- ('brochure'),
|
|
-- ('specification'),
|
|
-- ('manual'),
|
|
-- ('image'),
|
|
-- ('video'),
|
|
-- ('product'),
|
|
-- ('marketing'),
|
|
-- ('technical');
|
|
|
|
-- Create upload directories (Note: This requires manual creation on file system)
|
|
-- Create the following directories in your web server:
|
|
-- - ./marketing/uploads/
|
|
-- - ./marketing/uploads/thumbs/
|
|
--
|
|
-- Linux/macOS commands:
|
|
-- mkdir -p marketing/uploads/thumbs
|
|
-- chmod 755 marketing/uploads
|
|
-- chmod 755 marketing/uploads/thumbs |