![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/mets.corals.io/wp-content/plugins/give/src/TestData/Framework/ |
<?php namespace Give\TestData\Framework; class MetaRepository { /** @var string */ protected $tableName; /** @var string */ protected $relationshipColumnName; /** * @param string $relationshipColumnName */ public function __construct($tableName, $relationshipColumnName) { global $wpdb; $this->wpdb = $wpdb; $this->tableName = $wpdb->prefix . $tableName; $this->relationshipColumnName = $relationshipColumnName; } public function persist($relationshipID, $metaData) { $values = array_map( function ($metaKey, $metaValue) use ($relationshipID) { return sprintf("( %s, '%s', '%s' )", $relationshipID, esc_sql($metaKey), esc_sql($metaValue)); }, array_keys($metaData), $metaData ); $this->wpdb->query( $this->getSql($values) ); } protected function getSql($values) { $format = "INSERT INTO $this->tableName {$this->getColumns()} VALUES %s"; return sprintf($format, implode(',', $values)); } protected function getColumns() { return sprintf('( %s, meta_key, meta_value )', $this->relationshipColumnName); } }