Changeset 11794


Ignore:
Timestamp:
Jul 21, 2011, 11:43:45 AM (10 years ago)
Author:
Mattias
Message:

added support for -1 copyright
added an order by cr_id
the plugin handles deletes (no copyright) better

Location:
extensions/Copyrights
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • extensions/Copyrights/admin.php

    r11675 r11794  
    145145  'SELECT *
    146146  FROM %s
     147  WHERE cr_id <> -1
     148  ORDER BY cr_id ASC
    147149  ;',
    148150  COPYRIGHTS_ADMIN);
  • extensions/Copyrights/batch_global.php

    r11678 r11794  
    11<?php
    2 
    3 // @Johan: Misschien een goed idee om dit ook in een apart php scriptje te zetten, voor de overzichtelijkheid.
    4 // En om deze reden (Citaat uit de piwigo docs http://piwigo.org/doc/doku.php?id=en:plugins):
    5 // Code size
    6 // When PWG loads the plugins, it will include every main.inc.php.
    7 // Don't put in your main.inc.php 3000 lines of code just to add a page on the administration menu.
    8 // Split you main.inc.php in several files and feel free to add include_once inside functions defined in main.inc.php as much as you want.
    9 
    102
    113// Add copyrights drop down menu to the batch manager
     
    2820                FROM %s
    2921                WHERE `visible`<>0
     22                ORDER BY cr_id ASC
    3023                ;',
    3124        COPYRIGHTS_ADMIN);
     
    3932
    4033        // Add info on the "choose action" dropdown in the batch manager
    41   $template->append('element_set_global_plugins_actions', array(
    42     'ID' => 'copyrights',       // ID of the batch manager action
    43                 'NAME' => l10n('Edit copyright'), // Description of the batch manager action
    44     'CONTENT' => $template->parse('CR_batch_global', true)
    45   )
     34        $template->append('element_set_global_plugins_actions', array(
     35                'ID' => 'copyrights',                           // ID of the batch manager action
     36                'NAME' => l10n('Edit copyright'),       // Description of the batch manager action
     37                'CONTENT' => $template->parse('CR_batch_global', true)
     38                )
    4639        );
    4740}
     
    5548                $crID = pwg_db_real_escape_string($_POST['copyrightID']);
    5649
    57     // Delete any previously assigned copyrights
    58     if (count($collection) > 0) {
    59         $query = sprintf(
     50                // Delete any previously assigned copyrights
     51                if (count($collection) > 0) {
     52                        $query = sprintf(
    6053                                'DELETE
    6154                                FROM %s
     
    6659                }
    6760
    68     // Add the copyrights from the submit form to an array
    69                 $edits = array();
    70                 foreach ($collection as $image_id)
    71                 {
    72                         array_push(
    73                                 $edits,
    74                                 array(
    75                                         'media_id' => $image_id,
    76                                         'cr_id' => $crID,
    77                                 )
     61                // If you assign no copyright, dont put them in the table
     62                if ($crID != '') {
     63                        // Add the copyrights from the submit form to an array
     64                        $edits = array();
     65                        foreach ($collection as $image_id) {
     66                                array_push(
     67                                        $edits,
     68                                        array(
     69                                                'media_id' => $image_id,
     70                                                'cr_id' => $crID,
     71                                        )
     72                                );
     73                        }
     74
     75                        // Insert the array into the database
     76                        mass_inserts(
     77                                COPYRIGHTS_MEDIA,               // Table name
     78                                array_keys($edits[0]),  // Columns
     79                                $edits                                  // Data
    7880                        );
    7981                }
    80 
    81     // Insert the array into the database
    82                 mass_inserts(
    83                         COPYRIGHTS_MEDIA,                   // Table name
    84                         array_keys($edits[0]),  // Columns
    85                         $edits                                          // Data
    86                 );
    8782        }
    8883}
  • extensions/Copyrights/batch_global.tpl

    r11678 r11794  
    33        {'Copyright'|@translate}
    44        <select name="copyrightID">
    5                 <option value="0">--</option>
     5                <option value="">--</option>
    66                {html_options options=$CRoptions}
    77        </select>
  • extensions/Copyrights/batch_single.php

    r11678 r11794  
    2424                <td>
    2525                        <select id="copyright-{$element.ID}" name="copyright-{$element.ID}">
    26                                 <option value="0">--</option>
     26                                <option value="">--</option>
    2727                                {html_options options=$CRoptions selected=$CRcopyrights[$element.ID]}
    2828                        </select>
     
    4848                FROM %s
    4949                WHERE `visible`<>0
     50                ORDER BY cr_id ASC
    5051                ;',
    5152                COPYRIGHTS_ADMIN);
     
    9293                                COPYRIGHTS_MEDIA, implode(',', $collection));
    9394                        pwg_query($query);
    94     }
     95                }
    9596
    9697                // Add all copyrights to an array
     
    100101                        $crID = pwg_db_real_escape_string($_POST['copyright-'.$image_id]);
    101102
    102                         array_push(
    103                                 $edits,
    104                                 array(
    105                                         'media_id' => $image_id,
    106                
    107                 'cr_id' => $crID,
    108                                 )
     103                        // If you assign no copyright, dont put them in the table
     104                        if ($crID != '') {
     105                                array_push(
     106                                        $edits,
     107                                        array(
     108                                                'media_id' => $image_id,
     109                                                'cr_id' => $crID,
     110                                        )
     111                                );
     112                        }
     113                }
     114
     115                if (count($edits) > 0) {
     116                        // Insert the array to the database
     117                        mass_inserts(
     118                                COPYRIGHTS_MEDIA,        // Table name
     119                                array_keys($edits[0]),   // Columns
     120                                $edits                   // Data
    109121                        );
    110     }
    111 
    112                 // Insert the array to the database
    113                 mass_inserts(
    114                         COPYRIGHTS_MEDIA,        // Table name
    115                         array_keys($edits[0]),   // Columns
    116                         $edits                   // Data
    117                 );
     122                }
    118123        }
    119124}
  • extensions/Copyrights/image.php

    r11678 r11794  
    4444                // Get the copyright name, url and description that belongs to the current media_item
    4545                $query = sprintf('
    46                   select name, url, descr
     46                  select cr_id, name, url, descr
    4747                  FROM %s NATURAL JOIN %s
    4848                  WHERE media_id = %s
    4949                  AND visible = 1
    50       ;',
    51       COPYRIGHTS_ADMIN, COPYRIGHTS_MEDIA, $page['image_id']);
     50                ;',
     51                COPYRIGHTS_ADMIN, COPYRIGHTS_MEDIA, $page['image_id']);
    5252                $result = pwg_query($query);
    53                 $row = pwg_db_fetch_row($result);
     53                $row = pwg_db_fetch_assoc($result);
    5454                $name = '';
    5555                $url = '';
    5656                $descr = '';
    57                 if(count($row) > 0) {
    58                         $name = $row[0];
    59                         $url = $row[1];
    60                         $descr = $row[2];
     57                if (count($row) > 0) {
     58                        if ($row['cr_id'] == -1) {
     59                                                $query = sprintf('
     60                                                        SELECT name, url, descr
     61                                                        FROM %s
     62                                                        WHERE cr_id IN (
     63                                                                SELECT a.copyright
     64                                                                FROM '.$prefixeTable.'images i, '.$prefixeTable.'author_extended a
     65                                                                WHERE i.id = %d
     66                                                                AND i.author = a.name
     67                                                        )
     68                                                ;',
     69                                                COPYRIGHTS_ADMIN, $page['image_id']);
     70                                                $result = pwg_query($query);
     71                                                $row = pwg_db_fetch_assoc($result);
     72                        }
     73                }
     74                if (count($row) > 0) {
     75                        $name = $row['name'];
     76                        $url = $row['url'];
     77                        $descr = $row['descr'];
    6178                }
    6279                       
  • extensions/Copyrights/modify.php

    r11678 r11794  
    33// Add a prefilter
    44add_event_handler('loc_begin_admin', 'CR_set_prefilter_modify', 50 );
    5 add_event_handler('loc_begin_admin', 'CR_modify_submit', 50 );
     5add_event_handler('loc_begin_admin', 'CR_modify_submit', 45 );
    66
    77// Change the variables used by the function that changes the template
     
    2222                <td>
    2323                        <select id="copyrightID" name="copyrightID">
    24                                 <option value="0">--</option>
     24                                <option value="">--</option>
    2525                                {html_options options=$CRoptions selected=$CRid}
    2626                        </select>
     
    4848                        FROM %s
    4949                        WHERE `visible`<>0
     50                        ORDER BY cr_id ASC
    5051                        ;',
    5152                        COPYRIGHTS_ADMIN);
     
    9697                        pwg_query($query);
    9798
    98                 // Insert the Copyright
    99                 $query = sprintf(
    100                   'INSERT INTO %s
    101                   VALUES (%d, %d)
    102                   ;',
    103                   COPYRIGHTS_MEDIA, $image_id, $CRid);
    104                 pwg_query($query);
     99                        // If you assign no copyright, dont put it in the table
     100                        if ($CRid != '') {
     101                                // Insert the Copyright
     102                                $query = sprintf(
     103                                        'INSERT INTO %s
     104                                        VALUES (%d, %d)
     105                                        ;',
     106                                        COPYRIGHTS_MEDIA, $image_id, $CRid);
     107                                pwg_query($query);
     108                        }
    105109                }
    106110        }
Note: See TracChangeset for help on using the changeset viewer.