You are here

function certificate_update_node_mappings in Certificate 6.2

Same name and namespace in other branches
  1. 8.3 certificate.module \certificate_update_node_mappings()
  2. 6 certificate.module \certificate_update_node_mappings()
  3. 7.3 certificate.module \certificate_update_node_mappings()
  4. 7.2 certificate.module \certificate_update_node_mappings()
  5. 3.x certificate.module \certificate_update_node_mappings()

Submit handler to update mappings.

3 calls to certificate_update_node_mappings()
CertificateTestCase::testCertificateMapping in ./certificate.test
certificate_nodeapi in ./certificate.module
Implements hook_nodeapi.
certificate_settings_form_submit in ./certificate.admin.inc
Save the certificate mappings. For global mappings, we use node ID zero to store it in the database.

File

./certificate.module, line 329
Certificate module.

Code

function certificate_update_node_mappings($nid, array $node_settings = NULL) {
  if (is_array($node_settings)) {
    db_query("DELETE FROM {certificate_node} WHERE nid = %d", $nid);
    foreach ($node_settings as $mapper => $values) {
      foreach (array_filter($values) as $match => $cert_nid) {
        $record = array(
          'nid' => $nid,
          'mapper' => $mapper,
          'type' => $match,
          'template' => $cert_nid,
        );
        drupal_write_record('certificate_node', $record);
      }
    }
  }
}