pressflow / 7 Goto Github PK
View Code? Open in Web Editor NEWPressflow 7
License: GNU General Public License v2.0
Pressflow 7
License: GNU General Public License v2.0
Drupal 7/8 Core is release a security patch that is requiring everyone upgrade immediately. When will a new release be available for Pressflow 7? Thank you.
Worth a look for possible inclusion, who knows when this would hit core. Testing now.
Could we get a list of enhancements? Perhaps in the wiki?
It would really help out those who are evaluating if they should use this over regular core if they knew some more details.
X-Forwarded-For should get the PF6 capability to handle multi-layer forwarding.
Extend the cache API to support tagging items and invalidating items with a certain tag. This work should ideally be coordinated with D8.
I noticed that Drupal 7/8 Core is release a security patch that is requiring everyone upgrade immediately once the patch is released. I'm wondering if we couldn't integrate that and release a new release for Pressflow quickly also?
Could we get 7.53 or 7.54 merged from core. I'm in need of:
Issue #2821441 by davic, droplet, David_Rothstein, Joe Keene, Fabianx, tory-w: Fixed that newer Chrome versions cannot drag and drop anymore on desktop after 7.51 update when jQuery is updated to 1.7-1.11.0
drupal.org/node/2821441
Is there a reason there isn't a 7.28 tag? I see one for all of the previous Drupal core releases.
I believe this question has been asked in the past but is there a reason there aren't tags for these releases? Is master then basically 7.31?
Any timeline for the 7.34 security fix merge?
Hello,
While looking through the source code for Pressflow 7, I noticed that bootstrap.inc is checking for a server variable $_SERVER['PRESSFLOW_SETTINGS'] and attempting to load settings from there such as database credentials. This seems to be an alternative to specifying credentials in settings.php
I was not able to find any documentation on this on the Pressflow wiki. What format should this data be in? How can this data be set on the server ?
Thanks
In commit 3c7c72f, alterMetaData
and alterTags
are made protected, and the entityreference
module accesses these directly at https://git.drupalcode.org/project/entityreference/-/blob/7.x-1.5/plugins/selection/EntityReference_SelectionHandler_Generic.class.php#L292-305.
See: https://www.drupal.org/project/entityreference/issues/3325972
This causes the following error: PHP Fatal error: Cannot access protected property SelectQuery::$alterTags in …/sites/all/modules/contrib/entityreference/plugins/selection/EntityReference_SelectionHandler_Generic.class.php
POSSIBLE SOLUTION: add getter and setter functions to SelectQuery
in includes/database/select.inc
/* Implementations of QueryAlterableInterface. */
public function getAlterTags() {
return $this->alterTags;
}
public function setAlterTags($tags) {
$this->alterTags = $tags;
}
public function getAlterMetaData() {
return $this->alterMetaData;
}
public function setAlterMetaData($metadata) {
$this->alterMetaData = $metadata;
}
Then, entityreference
can alter its code to use the gett/setter methods:
/**
* Helper method: pass a query to the alteration system again.
*
* This allow Entity Reference to add a tag to an existing query, to ask
* access control mechanisms to alter it again.
*/
protected function reAlterQuery(SelectQueryInterface $query, $tag, $base_table) {
// Save the old tags and metadata.
// For some reason, those are public.
$old_tags = $query->getAlterTags(); //$query->alterTags;
$old_metadata = $query->getAlterMetadata(); //$query->alterMetaData;
$has_base_table = !empty($old_metadata['base_table']);
$old_base_table = $old_metadata['base_table'];
$query->setAlterTags(array($tag => TRUE));
$old_metadata['base_table'] = $base_table;
$query->setAlterMetaData($old_metadata);
drupal_alter(array('query', 'query_' . $tag), $query);
// Restore the tags and metadata.
$query->setAlterTags($old_tags);
if ($has_base_table) {
$old_metadata['base_table'] = $old_base_table;
}
else {
unset($old_metadata['base_table']);
}
$query->setAlterMetaData($old_metadata);
}
PF5+ implement an "external" cache mode that disables Drupal's internal page cache and buffer entirely. D7 sends the correct cache headers out of the box now, but it still lacks a proper bypass for the internal cache.
Hey there,
I see that you merged in the latest Drupal release security fixes but was wondering if you could also spin off a new release?
THANKS!
Changes I do each time with my drupal 7 setup after updating core:
*Schema.inc
--- a/includes/database/mysql/schema.inc
+++ b/includes/database/mysql/schema.inc
@@ -78,14 +78,16 @@ class DatabaseSchema_mysql extends DatabaseSchema {
protected function createTableSql($name, $table) {
$info = $this->connection->getConnectionOptions();
+ if(!isset($info['charset'])) {
+ $info['charset'] = 'utf8';
+ }
// Provide defaults if needed.
$table += array(
'mysql_engine' => 'InnoDB',
- 'mysql_character_set' => 'utf8',
+ 'mysql_character_set' => $info['charset'],
);
$sql = "CREATE TABLE {" . $name . "} (\n";
-
// Add the SQL statement for each field.
foreach ($table['fields'] as $field_name => $field) {
$sql .= $this->createFieldSql($field_name, $this->processField($field)) . ", \n";
@@ -99,6 +101,10 @@ class DatabaseSchema_mysql extends DatabaseSchema {
// Remove the last comma and space.
$sql = substr($sql, 0, -3) . "\n) ";
+ if (isset($info['row_format'])){
+ $sql .='ROW_FORMAT=' . $info['row_format'] . ' ';
+ }
+
$sql .= 'ENGINE = ' . $table['mysql_engine'] . ' DEFAULT CHARACTER SET ' . $table['mysql_character_set'];
// By default, MySQL uses the default collation for new tables, which is
@@ -113,7 +119,6 @@ class DatabaseSchema_mysql extends DatabaseSchema {
if (!empty($table['description'])) {
$sql .= ' COMMENT ' . $this->prepareComment($table['description'], self::COMMENT_MAX_TABLE);
}
-
return array($sql);
}
*database.inc
--- a/includes/database/mysql/database.inc
+++ b/includes/database/mysql/database.inc
@@ -57,11 +57,14 @@ class DatabaseConnection_mysql extends DatabaseConnection {
// Force MySQL to use the UTF-8 character set. Also set the collation, if a
// certain one has been set; otherwise, MySQL defaults to 'utf8_general_ci'
// for UTF-8.
+ if(!isset($connection_options['charset'])){
+ $connection_options['charset'] = 'utf8';
+ }
if (!empty($connection_options['collation'])) {
- $this->exec('SET NAMES utf8 COLLATE ' . $connection_options['collation']);
+ $this->exec('SET NAMES '.$connection_options['charset'].' COLLATE ' . $connection_options['collation']);
}
else {
- $this->exec('SET NAMES utf8');
+ $this->exec('SET NAMES '.$connection_options['charset']);
}
Something to add to pressflow perhaps?
As discussed in #48
Are y'all planning a 7.4 merge for Pressflow? I see it's already merged in the Pantheon fork. I'm not quite sure of the other differences with that branch so I figured it was best to stick with Pressflow itself. Thanks.
Security fixes:
The function update_requirements() check for the "drupal" project, which does not exists since "pressflow" is used instead.
Awaiting a specific URL for checking update status (@see pressflow/6#30) is created, it could be great to avoid the display or update error message by modifying the update module.
I actually have a patch against Pressflow to avoid such issue, but text (or patch) file are not allowed here :(
Curious re 7.12 update to D7 Pressflow
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.