66 Commits

Author SHA1 Message Date
be150fdb84 update 2026-03-26 23:26:44 +01:00
ad24195cdd Add CL3 support to products list and supplemental feed 2026-03-17 00:39:08 +01:00
ab1f682806 feat: Update product name handling in API and Cron classes to improve data consistency 2026-03-10 15:30:48 +01:00
f39f216409 feat: Update client bestseller statistics handling and UI display 2026-03-07 22:01:35 +01:00
9bca12a59a feat: Add Facebook Ads settings management with API integration and UI support 2026-03-07 19:37:07 +01:00
5dc2a89748 feat: Add campaign comments functionality with API support and database migration 2026-03-06 20:07:11 +01:00
5524324bea feat: Enhance API authentication and campaign data handling in Api and Campaigns classes 2026-03-05 00:36:26 +01:00
640d4c8b05 feat: Implement client bestseller settings management with UI and backend support 2026-03-04 09:20:35 +01:00
61665c6d4f feat: Add product name retrieval and enhance supplemental feed offer ID normalization 2026-03-03 10:42:16 +01:00
fd0db9b145 feat: Add Supplemental Feeds feature with UI and backend support
- Implemented the main view for Supplemental Feeds, displaying clients with Merchant Account IDs and their associated feed files.
- Added styling for the feeds page and its components, including headers, empty states, and dropdown menus for syncing actions.
- Created backend logic to generate supplemental feeds for clients, including file handling and data sanitization.
- Integrated new routes and views for managing feeds, ensuring proper data retrieval and display.
- Updated navigation to include the new Supplemental Feeds section.
- Added necessary documentation for CRON job management related to feed generation.
2026-02-26 20:17:13 +01:00
651d925b20 Add keyword status toggle functionality and styling
- Introduced a new button to toggle the status of keywords between PAUSED and ENABLED in the keywords table.
- Added corresponding styles for the toggle button to enhance user experience.
- Updated the keywords table rendering logic to display the status and toggle button correctly.
- Created a new migration to add a 'status' column to the 'campaign_keywords' table, defaulting to 'ENABLED'.
2026-02-24 23:31:17 +01:00
4aefa5f445 feat: Enhance campaign terms management with keyword addition and match type change functionality
- Added a toolbar for adding keywords in the campaign terms view.
- Implemented match type change functionality with a confirmation dialog.
- Added delete functionality for keywords with confirmation.
- Updated styles for new buttons and icons in the campaign terms view.
- Enhanced product view with warning icons for product alerts and corresponding modal display.
- Updated product table to include a new column for warnings and adjusted column visibility settings.
- Documented project overview, code style conventions, suggested commands, and task completion checklist.
2026-02-24 01:30:13 +01:00
63857639ff feat: update FTP ignore list and add repository guidelines documentation 2026-02-23 13:57:32 +01:00
95cfb7a495 feat: add search and custom label filters to products view
- Added a search input for filtering products by name or ID.
- Introduced a custom label input for filtering by CL4.
- Implemented debounce functionality for both filters to optimize performance.
- Updated local storage handling to persist filter values.
- Modified styles for new filter groups in the product layout.

chore: add .serena configuration files

- Created .serena/.gitignore to exclude cache files.
- Added .serena/project.yml for project configuration.

fix: add status column to campaign_ad_groups table

- Altered the campaign_ad_groups table to include a status column with ENUM values 'active' and 'paused'./c
2026-02-22 11:59:20 +01:00
6e6fd0110a feat: enhance file upload handling and improve data validation in Allegro class 2026-02-22 10:59:14 +01:00
7573312038 feat: Add Gemini AI integration for product title and description optimization
- Implemented Gemini API service for generating optimized product titles and descriptions based on Google Merchant Center guidelines.
- Added settings for Gemini API key and model selection in user settings.
- Enhanced product management views to support AI-generated suggestions for titles and descriptions.
- Enabled state saving for various data tables across campaign, terms, logs, and products views.
- Introduced AI prompt templates for generating product descriptions and categories.
2026-02-22 00:44:03 +01:00
192eb11f66 feat: improve campaign name handling in campaigns_data_save method for better data integrity 2026-02-21 23:16:21 +01:00
a07bbcb93e feat: enhance product URL validation logic in Cron class for better merchant URL handling 2026-02-21 23:00:34 +01:00
18d2c41d46 feat: optimize Facebook Ads synchronization logic for incremental updates 2026-02-21 17:10:43 +01:00
bc75eab439 feat: add logs page with filtering and data table
- Implemented a new logs page with filters for level, source, and date range.
- Added a data table to display logs with pagination and sorting capabilities.
- Created backend functionality to fetch logs data based on filters.
- Introduced a new Logs class for handling log data operations.
- Added a new database migration for the logs table.
- Enhanced UI with custom checkbox styles for better user experience.
- Updated navigation to include a link to the logs page.
2026-02-21 13:05:59 +01:00
b54a9a71b1 Add CLI script to fetch active Meta Ads insights for campaigns, adsets, and ads
- Implemented a new PHP script to retrieve insights for the last N days (default 30).
- Supports command-line options for token, account ID, days, API version, and output file.
- Fetches data at campaign, adset, and ad levels, with filtering for active statuses.
- Handles JSON output and optional file saving, including directory creation if necessary.
- Includes error handling for cURL requests and JSON responses.
2026-02-20 23:45:36 +01:00
167ced3573 feat: Enhance user settings with cron URL plan display
- Added a new field to display the cron URL plan in user settings.
- Updated JavaScript to handle the new plan data.

refactor: Unify product model and migrate data

- Migrated product data from `products_data` to `products` table.
- Added new columns to `products` for better data organization.
- Created `products_aggregate` table for storing aggregated product metrics.

chore: Drop deprecated products_data table

- Removed `products_data` table as data is now stored in `products`.

feat: Add merchant URL flags to products

- Introduced flags for tracking merchant URL status in `products` table.
- Normalized product URLs to handle empty or invalid values.

feat: Link campaign alerts to specific products

- Added `product_id` column to `campaign_alerts` table for better tracking.
- Created an index for efficient querying of alerts by product.

chore: Add debug scripts for client data inspection

- Created debug scripts to inspect client data from local and remote databases.
- Included error handling and output formatting for better readability.
2026-02-20 17:50:14 +01:00
0024a25bfb feat: add campaign alerts feature with alerts management and UI integration
- Introduced a new `CampaignAlerts` class for handling alerts logic.
- Added database migration for `campaign_alerts` table creation.
- Implemented methods for fetching, marking, and deleting alerts in the `CampaignAlerts` factory class.
- Created a new view for displaying campaign alerts with filtering options.
- Updated the main client view to include a badge for the number of alerts.
- Enhanced sync functionality to support campaigns and products separately.
- Adjusted styles for alert badges in the UI.
2026-02-20 01:33:53 +01:00
2c331fda07 feat: Enhance cron product synchronization with fetch skipped reasons and campaign type validation 2026-02-19 15:38:24 +01:00
38082c5bac feat: Implement campaign synchronization feature with dropdown UI
- Updated SCSS styles for new campaign sync buttons and dropdowns.
- Refactored main_view.php to replace the single select for campaigns with a multi-select dropdown.
- Added JavaScript functions to handle dropdown interactions and sync status updates.
- Introduced sync status bars for clients in main_view.php.
- Created new database migrations for client sync flags and cron sync status tracking.
2026-02-19 12:33:14 +01:00
bfbcb1c871 Merge branch 'main' of https://git.project-pro.pl/Project-Pro/adsPRO 2026-02-19 12:32:49 +01:00
ed0d1fff30 update 2026-02-19 08:33:11 +01:00
a444fe4aa6 feat: Add dynamic client batch processing and configuration for cron products URLs 2026-02-19 00:30:48 +01:00
efbdcce08a feat: Add XML file management functionality
- Created XmlFiles control class for handling XML file views and regeneration.
- Implemented method to retrieve clients with XML feeds in the factory class.
- Added database migration to include google_merchant_account_id in clients table.
- Created migrations for products_keyword_planner_terms and products_merchant_sync_log tables.
- Added campaign_keywords table migration for managing campaign keyword data.
- Developed main view template for displaying XML files and their statuses.
- Introduced a debug script for analyzing product URLs and their statuses.
2026-02-18 21:23:53 +01:00
3dc06d505a feat: Enhance Google Ads API integration and add column visibility control in product view
- Updated GoogleAdsApi class to include new GAQL queries for Performance Max campaigns and fallback mechanisms.
- Refactored data collection logic to handle ad groups and asset groups more effectively.
- Modified get_campaigns_30_days and get_campaigns_all_time methods to accept an optional date parameter for improved date filtering.
- Introduced a new UI feature in the products main view to allow users to toggle column visibility, enhancing user experience.
- Implemented local storage functionality to remember user preferences for column visibility across sessions.
2026-02-18 01:50:08 +01:00
4635cefcbb feat: update font to Roboto across templates and add campaign/ad group filters in product views
- Changed font from Open Sans to Roboto in layout files.
- Added campaign and ad group filters in products main view.
- Enhanced product history to include campaign and ad group IDs.
- Updated migrations to support new campaign and ad group dimensions in product statistics.
- Introduced new migration files for managing campaign types and dropping obsolete columns.
2026-02-18 01:21:22 +01:00
5e491d626c feat: Dodaj moduł grup i fraz, oznaczanie wykluczonych na czerwono, CLAUDE.md
- Nowy moduł CampaignTerms z widokiem grup reklam, fraz wyszukiwanych i fraz wykluczających
- Frazy wyszukiwane dodane do wykluczonych oznaczane czerwonym kolorem w tabeli
- Instalator migracji (install.php) z obsługą schema_migrations
- Migracja 003 dla tabel campaign_ad_groups, campaign_search_terms, campaign_negative_keywords
- CLAUDE.md z dokumentacją architektury projektu
- Aktualizacja layoutu, stylów i konfiguracji

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-17 23:44:30 +01:00
59c086384b update 2026-02-16 00:43:39 +01:00
afe9d6216d Add migrations for Google Ads settings and demo data
- Create migration for global settings table and add google_ads_customer_id and google_ads_start_date columns to clients table.
- Add migration to include product_url column in products_data table.
- Insert demo data for campaigns, products, and their history for client 'pomysloweprezenty.pl'.
- Implement client management interface with modals for adding and editing clients, including Google Ads Customer ID and data retrieval start date.
2026-02-15 17:46:32 +01:00
7edb515582 Merge branch 'main' of https://git.project-pro.pl/Project-Pro/adsPRO 2026-01-30 00:27:47 +01:00
9d62cfc845 feat: Dodaj funkcjonalność usuwania zaznaczonych produktów w interfejsie użytkownika 2026-01-30 00:27:44 +01:00
a590df780c feat: Dodaj funkcjonalność usuwania kampanii i wpisów historii oraz aktualizację interfejsu użytkownika 2026-01-27 10:27:32 +01:00
cd5ab2b8b6 feat: Dodaj funkcjonalność usuwania komentarzy oraz wyświetlanie ich w historii produktów 2026-01-26 23:40:20 +01:00
e165fd3ef3 feat: Dodaj funkcjonalność usuwania produktów oraz aktualizację interfejsu użytkownika 2025-12-17 23:04:07 +01:00
ad79773412 feat: Dodaj sprawdzenie istnienia klienta w metodach klasy Cron 2025-11-27 20:57:22 +01:00
5b6c6227c0 update 2025-11-23 16:16:53 +01:00
f5db5263ab feat: Add Google Taxonomy integration and product editing enhancements
- Implemented Google Taxonomy loading via AJAX in main_view.php, allowing users to select categories for products.
- Enhanced product editing modal to include fields for product title, description, and Google category selection.
- Updated AJAX calls to save product data, including custom title, description, and selected Google category.
- Added character count validation for product title input.
- Integrated Select2 for improved category selection UI.
- Created google-taxonomy.php to fetch and cache Google Taxonomy data, ensuring efficient retrieval and fallback mechanisms.
- Removed outdated custom feed XML file.
- Updated layout-logged.php to include necessary Select2 styles and scripts.
2025-11-20 23:46:21 +01:00
92ce677f7c Dodaj metodę get_roas_bounds w klasie Products oraz zaktualizuj metodę get_products, aby wyświetlała minimalny i maksymalny ROAS z paskiem wydajności. 2025-10-21 00:17:58 +02:00
63727f5d76 Zaktualizuj zapytania SQL w klasie Products, aby umożliwić wyszukiwanie po 'offer_id' z użyciem operatora LIKE oraz popraw lmtime i rozmiar pliku class.Products.php w pliku ftp-kr.sync.cache.json. Dodatkowo, popraw formatowanie 'offer_id' w metodzie cron. 2025-08-26 23:44:32 +02:00
4e21a63cc9 Zaktualizuj warunek dla etykiety 'custom_label_4' w klasie Products, zmieniając 'product_deleted' na 'deleted' 2025-08-21 10:55:00 +02:00
e0ac1cf118 Add comment form alongside chart in product history
- Introduced a new layout for the product history page, integrating a comment form next to the chart.
- Styled the comment form with SCSS for better user experience.
- Implemented form submission via AJAX to save comments without page reload.
- Set default date in the comment form to today's date.
- Enhanced error handling for AJAX requests related to comment submission.
2025-08-20 23:59:56 +02:00
9e31461073 Dodaj metodę get_min_roas w klasie Products oraz zaktualizuj szablon product_history.php, aby wyświetlał linię limitu ROAS na wykresie. 2025-08-20 16:24:53 +02:00
522db8d363 Dodaj kolor etykiety 'pla_single' w klasie Products 2025-07-04 16:16:46 +02:00
ea6163bee2 Zmień etykietę 'pause' na 'paused' w klasie Products dla poprawy spójności kolorów. 2025-05-15 23:46:53 +02:00
9d5119e421 Dodaj kolor etykiety 'pause' w klasie Products 2025-05-15 23:15:54 +02:00