Plugin Directory

Changeset 2615220


Ignore:
Timestamp:
10/17/2021 02:12:05 AM (4 years ago)
Author:
mi13
Message:

update plugin

Location:
mi13-glossary/trunk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • mi13-glossary/trunk/mi13-glossary.php

    r2614982 r2615220  
    44Plugin URI:     https://wordpress.org/plugins/mi13-glossary/
    55Description:        Glossary plugin for your site (ru).
    6 Version:            2.1
     6Version:            2.2
    77Author:         mi13
    88Requires at least: 5.8
     
    274274            $keys = [];
    275275            $keys_for_table = [];
     276            $oldkeys = [];
    276277            $ignore = get_option('mi13_glossary')['ignore'];
    277278            $ignore = preg_quote($ignore, '/');
     
    385386                )) . '</div></div>';
    386387            } else {
    387                 $return .= '<table class="widefat" style="max-width:400px">
     388                $return .= '<table class="widefat">
    388389                <thead>
    389390                    <tr>
     391                        <th scope="col">Индекс</th>
    390392                        <th scope="col">Ключ</th>
    391                         <th scope="col">Количество постов с этим ключом</th>
     393                        <th scope="col" style="width:20%">Количество постов с этим ключом</th>
     394                        <th scope="col">Примечание</th>
    392395                    </tr>
    393396                </thead>
    394397                <tbody>';
    395398                foreach($keys as $key) {
    396                     $keys_for_table[$key['title']] = 0;
     399                    $keys_for_table[$key['id']] = array(
     400                        'title' => $key['title'],
     401                        'count' => 0,
     402                        'id' => $key['id']
     403                    );
    397404                    $keys_count++;
    398405                }
     
    408415                        $text = preg_replace($key['search'],'',$text,1);
    409416                        if(isset($matches[0])) {
    410                             $keys_for_table[$key['title']] = ++$keys_for_table[$key['title']];
     417                            $keys_for_table[$key['id']]['count']++;
    411418                        }
    412419                    }
    413420                    unset($text);   
    414421                }
    415                 foreach($keys_for_table as $key => $val) {
     422                foreach( $keys_for_table as $key ) {
     423                    $prim = '';
     424                    $keylength = mb_strlen( $key['title'] );
     425                    foreach( $oldkeys as $oldkey ) {
     426                        if( mb_strtolower($key['title']) === mb_substr( $oldkey['title'], 0, $keylength ) ) {
     427                            $prim .= 'Возможно дубликат (' . $oldkey['id'] . ')! ';
     428                            break;
     429                        }
     430                    }
     431                    if( !is_numeric( $key['title'] ) &&  $keylength <= 4 ) $prim .= 'Ключ очень короткий, возможны конфликты. ';
     432                    if( $key['count'] / ( $posts_count / 100 ) < 1 ) $prim .= 'Ключ очень редкий. ';
     433                    $oldkeys[] = array(
     434                        'title' => mb_strtolower($key['title']),
     435                        'id' => $key['id']
     436                    );
    416437                    $return .=
    417438                        '<tr ' . $alternate . '>
    418                             <td class="column-name">' . $key . '</td>
    419                             <td class="column-name">' . $val . '</td>
     439                            <td class="column-name">' . $key['id'] . '</td>
     440                            <td class="column-name">' . $key['title'] . '</td>
     441                            <td class="column-name" style="width:20%">' . $key['count'] . '</td>
     442                            <td class="column-name">' . $prim . '</td>
    420443                        </tr>';
    421444                    $alternate = (empty($alternate)) ? 'class="alternate"' : '';
    422445                }
    423446            }
    424             $return .= '</tbody>
    425                 </table>'
    426                 . $pagination .
    427                 '<div><p>Всего найдено: ' . mi13_glossary_num_decline($keys_count,'ключ,ключа,ключей') . ' в ' . mi13_glossary_num_decline($posts_count,'посте,постах,постах') . '.</p></div>';
     447            $return .=
     448                '</tbody>
     449            </table>'
     450            . $pagination .
     451            '<div><p>Всего найдено: ' . mi13_glossary_num_decline($keys_count,'ключ,ключа,ключей') . ' в ' . mi13_glossary_num_decline($posts_count,'посте,постах,постах') . '.</p></div>';
    428452            wp_reset_postdata();
    429             unset($posts,$keys,$keys_for_table);
     453            unset( $posts,$keys,$keys_for_table,$oldkeys );
    430454        } else {
    431455            $return .= '<p>data not found!</p>';
  • mi13-glossary/trunk/readme.txt

    r2614982 r2615220  
    44Donate link: https://money.yandex.ru/to/41001276246895
    55Tested up to: 5.8.1
    6 Stable tag: 2.1
     6Stable tag: 2.2
    77License: GPLv2 or later
    88License URI: https://www.gnu.org/licenses/gpl-2.0.html
     
    4646= 2.1 =
    4747* Добавлен знак ударения для сопряжения слов.
     48= 2.2 =
     49* Дополнен тест количества постов с ключом из глоссария.
Note: See TracChangeset for help on using the changeset viewer.