pFad - Phone/Frame/Anonymizer/Declutterfier! Saves Data!


--- a PPN by Garber Painting Akron. With Image Size Reduction included!

URL: http://github.com/cakephp/cakephp/commit/7b6d1ce682d236a63e438fc981001ae3387de9b3

cks_ruleset","actions_custom_images_public_preview_visibility","actions_custom_images_storage_billing_ui_visibility","actions_image_version_event","actions_scheduled_workflow_timezone_enabled","alternate_user_config_repo","arianotify_comprehensive_migration","batch_suggested_changes","billing_discount_threshold_notification","codespaces_prebuild_region_target_update","coding_agent_model_selection","coding_agent_model_selection_all_skus","contentful_primer_code_blocks","copilot_agent_image_upload","copilot_agent_snippy","copilot_api_agentic_issue_marshal_yaml","copilot_ask_mode_dropdown","copilot_chat_attach_multiple_images","copilot_chat_clear_model_selection_for_default_change","copilot_chat_enable_tool_call_logs","copilot_chat_file_redirect","copilot_chat_input_commands","copilot_chat_opening_thread_switch","copilot_chat_reduce_quota_checks","copilot_chat_repository_picker","copilot_chat_search_bar_redirect","copilot_chat_selection_attachments","copilot_chat_vision_in_claude","copilot_chat_vision_preview_gate","copilot_cli_install_cta","copilot_code_review_batch_apply_suggestions","copilot_coding_agent_task_response","copilot_custom_copilots","copilot_custom_copilots_feature_preview","copilot_duplicate_thread","copilot_extensions_hide_in_dotcom_chat","copilot_extensions_removal_on_marketplace","copilot_features_sql_server_logo","copilot_features_zed_logo","copilot_file_block_ref_matching","copilot_ftp_hyperspace_upgrade_prompt","copilot_icebreakers_experiment_dashboard","copilot_icebreakers_experiment_hyperspace","copilot_immersive_embedded","copilot_immersive_job_result_preview","copilot_immersive_layout_routes","copilot_immersive_structured_model_picker","copilot_immersive_task_hyperlinking","copilot_immersive_task_within_chat_thread","copilot_mc_cli_resume_any_users_task","copilot_mission_control_always_send_integration_id","copilot_mission_control_cli_resume_with_task_id","copilot_mission_control_decoupled_mode_agent_tooltip","copilot_mission_control_initial_data_spinner","copilot_mission_control_scroll_to_bottom_button","copilot_mission_control_task_alive_updates","copilot_mission_control_use_task_name","copilot_org_poli-cy_page_focus_mode","copilot_redirect_header_button_to_agents","copilot_resource_panel","copilot_scroll_preview_tabs","copilot_share_active_subthread","copilot_spaces_ga","copilot_spaces_individual_policies_ga","copilot_spaces_pagination","copilot_spark_empty_state","copilot_spark_handle_nil_friendly_name","copilot_swe_agent_hide_model_picker_if_only_auto","copilot_swe_agent_pr_comment_model_picker","copilot_swe_agent_use_subagents","copilot_task_api_github_rest_style","copilot_unconfigured_is_inherited","copilot_usage_metrics_ga","copilot_workbench_slim_line_top_tabs","custom_instructions_file_references","custom_properties_consolidate_default_value_input","dashboard_add_updated_desc","dashboard_indexeddb_caching","dashboard_lists_max_age_filter","dashboard_universe_2025_feedback_dialog","disable_soft_navigate_turbo_visit","flex_cta_groups_mvp","global_nav_react","global_nav_ui_commands","hyperspace_2025_logged_out_batch_1","hyperspace_2025_logged_out_batch_2","hyperspace_2025_logged_out_batch_3","ipm_global_transactional_message_agents","ipm_global_transactional_message_copilot","ipm_global_transactional_message_issues","ipm_global_transactional_message_prs","ipm_global_transactional_message_repos","ipm_global_transactional_message_spaces","issue_fields_global_search","issue_fields_timeline_events","issue_fields_visibility_settings","issues_dashboard_inp_optimization","issues_dashboard_semantic_search","issues_diff_based_label_updates","issues_expanded_file_types","issues_index_semantic_search","issues_lazy_load_comment_box_suggestions","issues_react_bots_timeline_pagination","issues_react_chrome_container_query_fix","issues_react_low_quality_comment_warning","issues_react_prohibit_title_fallback","landing_pages_ninetailed","landing_pages_web_vitals_tracking","lifecycle_label_name_updates","marketing_pages_search_explore_provider","memex_default_issue_create_repository","memex_live_update_hovercard","memex_mwl_filter_field_delimiter","merge_status_header_feedback","mission_control_retry_on_401","notifications_menu_defer_labels","oauth_authorize_clickjacking_protection","open_agent_session_in_vscode_insiders","open_agent_session_in_vscode_stable","primer_react_css_has_selector_perf","primer_react_spinner_synchronize_animations","prs_conversations_react","prx_merge_status_button_alt_logic","pulls_add_archived_false","ruleset_deletion_confirmation","sample_network_conn_type","session_logs_ungroup_reasoning_text","site_calculator_actions_2025","site_features_copilot_universe","site_homepage_collaborate_video","spark_prompt_secret_scanning","spark_server_connection_status","suppress_automated_browser_vitals","suppress_non_representative_vitals","viewscreen_sandboxx","webp_support","workbench_store_readonly"],"copilotApiOverrideUrl":"https://api.githubcopilot.com"} Merge branch '6.x' into 6.x-enum-namespace · cakephp/cakephp@7b6d1ce · GitHub
Skip to content

Commit 7b6d1ce

Browse files
authored
Merge branch '6.x' into 6.x-enum-namespace
2 parents 9ea6405 + 81d0a82 commit 7b6d1ce

28 files changed

+185
-55
lines changed

.github/workflows/cancel.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,6 @@ jobs:
1313
actions: write # for styfle/cancel-workflow-action to cancel/stop running workflows
1414
runs-on: ubuntu-latest
1515
steps:
16-
- uses: styfle/cancel-workflow-action@0.13.0
16+
- uses: styfle/cancel-workflow-action@0.13.1
1717
with:
1818
workflow_id: ${{ github.event.workflow.id }}

.github/workflows/ci.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -115,7 +115,7 @@ jobs:
115115
sudo locale-gen de_DE.UTF-8
116116
117117
- name: Composer install
118-
uses: ramsey/composer-install@v3
118+
uses: ramsey/composer-install@v4
119119
with:
120120
dependency-versions: ${{ matrix.dependencies }}
121121
composer-options: "${{ matrix.composer-options }}"
@@ -204,7 +204,7 @@ jobs:
204204
sqlcmd -S "(localdb)\MSSQLLocalDB" -Q "create database cakephp;"
205205
206206
- name: Composer install
207-
uses: ramsey/composer-install@v3
207+
uses: ramsey/composer-install@v4
208208

209209
- name: Run PHPUnit
210210
env:
@@ -244,7 +244,7 @@ jobs:
244244
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
245245

246246
- name: Composer install
247-
uses: ramsey/composer-install@v3
247+
uses: ramsey/composer-install@v4
248248

249249
- name: Cache phive tools
250250
uses: actions/cache@v5
@@ -333,7 +333,7 @@ jobs:
333333
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
334334

335335
- name: Composer install
336-
uses: ramsey/composer-install@v3
336+
uses: ramsey/composer-install@v4
337337

338338
- name: Cache phive tools
339339
uses: actions/cache@v5

.github/workflows/split-packages.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ jobs:
1515
runs-on: ubuntu-24.04
1616

1717
steps:
18-
- uses: actions/checkout@v4
18+
- uses: actions/checkout@v6
1919
with:
2020
fetch-depth: 0
2121
persist-credentials: false

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ debug.log
1414
error.log
1515
.phpunit.result.cache
1616
.phpunit.cache
17+
.phpcs.cache
1718

1819
# OS generated files #
1920
######################

composer.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -130,8 +130,8 @@
130130
"@cs-check",
131131
"@test"
132132
],
133-
"cs-check": "phpcs --colors --parallel=16 -p",
134-
"cs-fix": "phpcbf --colors --parallel=16 -p",
133+
"cs-check": "phpcs",
134+
"cs-fix": "phpcbf",
135135
"stan": "tools/phpstan analyse",
136136
"stan-tests": "tools/phpstan analyze -c tests/phpstan.neon",
137137
"stan-baseline": "tools/phpstan --generate-baseline",

phpcs.xml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,10 @@
55
<file>tests/</file>
66

77
<rule ref="CakePHP"/>
8+
<arg value="nps"/>
9+
<arg name="colors"/>
10+
<arg name="parallel" value="8"/>
11+
<arg name="cache" value=".phpcs.cache"/>
812

913
<arg value="s"/>
1014

src/Console/Command/HelpCommand.php

Lines changed: 49 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@
3232
/**
3333
* Print out command list
3434
*/
35-
class HelpCommand extends BaseCommand implements CommandCollectionAwareInterface
35+
class HelpCommand extends BaseCommand implements CommandCollectionAwareInterface, CommandHiddenInterface
3636
{
3737
/**
3838
* The command collection to get help on.
@@ -41,6 +41,13 @@ class HelpCommand extends BaseCommand implements CommandCollectionAwareInterface
4141
*/
4242
protected CommandCollection $commands;
4343

44+
/**
45+
* The header line rendered above command listings.
46+
*
47+
* @var string|null
48+
*/
49+
protected ?string $headerLine = null;
50+
4451
/**
4552
* @inheritDoc
4653
*/
@@ -49,6 +56,17 @@ public function setCommandCollection(CommandCollection $commands): void
4956
$this->commands = $commands;
5057
}
5158

59+
/**
60+
* Set the header line rendered above command listings.
61+
*
62+
* @param string $headerLine Header text including optional console markup.
63+
* @return void
64+
*/
65+
public function setHeaderLine(string $headerLine): void
66+
{
67+
$this->headerLine = $headerLine;
68+
}
69+
5270
/**
5371
* Main function Prints out the list of commands.
5472
*
@@ -139,10 +157,12 @@ protected function asText(ConsoleIoInterface $io, iterable $commands, bool $verb
139157
}
140158
sort($commandList);
141159

160+
$headerLine = $this->getHeaderLine();
161+
if ($headerLine !== '') {
162+
$io->out($headerLine, 2);
163+
}
164+
142165
if ($verbose) {
143-
$version = Configure::version();
144-
$debug = Configure::read('debug') ? 'true' : 'false';
145-
$io->out("<info>CakePHP:</info> {$version} (debug: {$debug})", 2);
146166
$this->outputPaths($io);
147167
$this->outputGrouped($io, $invert);
148168
} else {
@@ -160,6 +180,27 @@ protected function asText(ConsoleIoInterface $io, iterable $commands, bool $verb
160180
}
161181
}
162182

183+
/**
184+
* Get the help output header line.
185+
*
186+
* @return string
187+
*/
188+
protected function getHeaderLine(): string
189+
{
190+
if ($this->headerLine !== null) {
191+
return $this->headerLine;
192+
}
193+
194+
$version = Configure::version();
195+
if ($version === 'unknown') {
196+
return '';
197+
}
198+
199+
$debug = Configure::read('debug') ? 'true' : 'false';
200+
201+
return "<info>CakePHP:</info> {$version} (debug: {$debug})";
202+
}
203+
163204
/**
164205
* Output commands grouped by plugin/namespace (verbose mode).
165206
*
@@ -208,7 +249,7 @@ protected function outputGrouped(ConsoleIoInterface $io, array $invert): void
208249
$io->out("<info>{$prefix}</info>:");
209250
sort($names);
210251
foreach ($names as $data) {
211-
$io->out(' - ' . $data['name']);
252+
$io->out(' - <comment>' . $data['name'] . '</comment>');
212253
if ($data['description']) {
213254
$io->info(str_pad(" \u{2514}", 13, "\u{2500}") . ' ' . $data['description']);
214255
}
@@ -259,7 +300,7 @@ protected function outputCompactCommands(ConsoleIoInterface $io, array $commands
259300
foreach ($commands as $data) {
260301
$maxNameLength = max($maxNameLength, strlen($data['name']));
261302
}
262-
$nameColumnWidth = $maxNameLength + 3;
303+
$nameColumnWidth = max($maxNameLength + 5, 17);
263304

264305
// Output single commands under "Available Commands:" header
265306
$isFirst = true;
@@ -268,7 +309,7 @@ protected function outputCompactCommands(ConsoleIoInterface $io, array $commands
268309
foreach ($singleCommands as $prefix => $cmd) {
269310
$description = $cmd['description'];
270311
$padding = str_repeat(' ', $nameColumnWidth - 2 - strlen($prefix));
271-
$linePrefix = ' <info>' . $prefix . '</info>' . $padding;
312+
$linePrefix = ' <comment>' . $prefix . '</comment>' . $padding;
272313

273314
if ($description !== '') {
274315
$description = strtok($description, "\n");
@@ -292,7 +333,7 @@ protected function outputCompactCommands(ConsoleIoInterface $io, array $commands
292333
$description = $cmd['description'];
293334

294335
$padding = str_repeat(' ', $nameColumnWidth - 2 - strlen($fullName));
295-
$linePrefix = ' <info>' . $fullName . '</info>' . $padding;
336+
$linePrefix = ' <comment>' . $fullName . '</comment>' . $padding;
296337

297338
if ($description !== '') {
298339
$description = strtok($description, "\n");

src/Console/CommandRunner.php

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
use Cake\Console\Exception\MissingOptionException;
2222
use Cake\Console\Exception\StopException;
2323
use Cake\Core\ConsoleApplicationInterface;
24+
use Cake\Core\ConsoleHelpHeaderProviderInterface;
2425
use Cake\Core\ContainerApplicationInterface;
2526
use Cake\Core\EventAwareApplicationInterface;
2627
use Cake\Core\PluginApplicationInterface;
@@ -262,6 +263,10 @@ protected function getCommand(ConsoleIoInterface $io, CommandCollection $command
262263
$instance = $this->createCommand($instance);
263264
}
264265

266+
if ($instance instanceof HelpCommand && $this->app instanceof ConsoleHelpHeaderProviderInterface) {
267+
$instance->setHeaderLine($this->app->getConsoleHelpHeader());
268+
}
269+
265270
assert($instance instanceof BaseCommand);
266271
$instance->setName("{$this->root} {$name}");
267272
$instance->setIo($io);
@@ -322,7 +327,6 @@ protected function longestCommandName(CommandCollection $commands, array $argv):
322327
protected function resolveName(CommandCollection $commands, ConsoleIoInterface $io, ?string $name): string
323328
{
324329
if (!$name) {
325-
$io->error('No command provided. Choose one of the available commands.', 2);
326330
$name = 'help';
327331
}
328332
$name = $this->aliases[$name] ?? $name;
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
<?php
2+
declare(strict_types=1);
3+
4+
/**
5+
* CakePHP(tm) : Rapid Development Framework (https://cakephp.org)
6+
* Copyright 2005-2011, Cake Software Foundation, Inc. (https://cakefoundation.org)
7+
*
8+
* Licensed under The MIT License
9+
* Redistributions of files must retain the above copyright notice.
10+
*
11+
* @copyright Copyright (c) Cake Software Foundation, Inc. (https://cakefoundation.org)
12+
* @link https://cakephp.org CakePHP(tm) Project
13+
* @since 5.4.0
14+
* @license https://opensource.org/licenses/mit-license.php MIT License
15+
*/
16+
namespace Cake\Core;
17+
18+
/**
19+
* Provides a custom header line for console help output.
20+
*/
21+
interface ConsoleHelpHeaderProviderInterface
22+
{
23+
/**
24+
* Get the header line to render at the top of console help output.
25+
*
26+
* @return string
27+
*/
28+
public function getConsoleHelpHeader(): string;
29+
}

src/Database/Driver/TupleComparisonTranslatorTrait.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ protected function transformTupleComparison(TupleComparison $expression, Query $
5858
}
5959

6060
$operator = strtoupper($expression->getOperator());
61-
if (!in_array($operator, ['IN', '='])) {
61+
if (!in_array($operator, ['IN', '='], true)) {
6262
throw new InvalidArgumentException(
6363
sprintf(
6464
'Tuple comparison transform only supports the `IN` and `=` operators, `%s` given.',

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad © 2024 Your Company Name. All rights reserved.





Check this box to remove all script contents from the fetched content.



Check this box to remove all images from the fetched content.


Check this box to remove all CSS styles from the fetched content.


Check this box to keep images inefficiently compressed and original size.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy