Changeset 3362107
- Timestamp:
- 09/16/2025 12:01:38 AM (4 months ago)
- Location:
- musahimoun
- Files:
-
- 97 added
- 7 edited
-
tags/1.2.2 (added)
-
tags/1.2.2/LICENSE.txt (added)
-
tags/1.2.2/README.txt (added)
-
tags/1.2.2/admin (added)
-
tags/1.2.2/admin/js (added)
-
tags/1.2.2/admin/js/media-upload.js (added)
-
tags/1.2.2/admin/js/role-page.js (added)
-
tags/1.2.2/admin/js/table-display-delete-confirmation.js (added)
-
tags/1.2.2/front (added)
-
tags/1.2.2/front/dist (added)
-
tags/1.2.2/front/dist/4a1446c67e524e9b615f099343fe6069.jpg (added)
-
tags/1.2.2/front/dist/blocks (added)
-
tags/1.2.2/front/dist/blocks/conditional-inserter (added)
-
tags/1.2.2/front/dist/blocks/conditional-inserter/index.asset.php (added)
-
tags/1.2.2/front/dist/blocks/conditional-inserter/index.js (added)
-
tags/1.2.2/front/dist/blocks/conditional-inserter/index.php (added)
-
tags/1.2.2/front/dist/blocks/contributor-avatar (added)
-
tags/1.2.2/front/dist/blocks/contributor-avatar/block.json (added)
-
tags/1.2.2/front/dist/blocks/contributor-avatar/index.asset.php (added)
-
tags/1.2.2/front/dist/blocks/contributor-avatar/index.js (added)
-
tags/1.2.2/front/dist/blocks/contributor-avatar/index.js.LICENSE.txt (added)
-
tags/1.2.2/front/dist/blocks/contributor-avatar/index.php (added)
-
tags/1.2.2/front/dist/blocks/contributor-avatar/style.css (added)
-
tags/1.2.2/front/dist/blocks/contributor-biography (added)
-
tags/1.2.2/front/dist/blocks/contributor-biography/block.json (added)
-
tags/1.2.2/front/dist/blocks/contributor-biography/index.asset.php (added)
-
tags/1.2.2/front/dist/blocks/contributor-biography/index.js (added)
-
tags/1.2.2/front/dist/blocks/contributor-biography/index.js.LICENSE.txt (added)
-
tags/1.2.2/front/dist/blocks/contributor-biography/index.php (added)
-
tags/1.2.2/front/dist/blocks/contributor-email (added)
-
tags/1.2.2/front/dist/blocks/contributor-email/block.json (added)
-
tags/1.2.2/front/dist/blocks/contributor-email/index.asset.php (added)
-
tags/1.2.2/front/dist/blocks/contributor-email/index.js (added)
-
tags/1.2.2/front/dist/blocks/contributor-email/index.js.LICENSE.txt (added)
-
tags/1.2.2/front/dist/blocks/contributor-email/index.php (added)
-
tags/1.2.2/front/dist/blocks/contributor-email/style.css (added)
-
tags/1.2.2/front/dist/blocks/contributor-name (added)
-
tags/1.2.2/front/dist/blocks/contributor-name/block.json (added)
-
tags/1.2.2/front/dist/blocks/contributor-name/index.asset.php (added)
-
tags/1.2.2/front/dist/blocks/contributor-name/index.js (added)
-
tags/1.2.2/front/dist/blocks/contributor-name/index.js.LICENSE.txt (added)
-
tags/1.2.2/front/dist/blocks/contributor-name/index.php (added)
-
tags/1.2.2/front/dist/blocks/contributor-name/style.css (added)
-
tags/1.2.2/front/dist/blocks/contributor-query-loop (added)
-
tags/1.2.2/front/dist/blocks/contributor-query-loop/block.json (added)
-
tags/1.2.2/front/dist/blocks/contributor-query-loop/index.asset.php (added)
-
tags/1.2.2/front/dist/blocks/contributor-query-loop/index.js (added)
-
tags/1.2.2/front/dist/blocks/contributor-query-loop/index.php (added)
-
tags/1.2.2/front/dist/blocks/contributor-query-loop/style.css (added)
-
tags/1.2.2/front/dist/blocks/meta-box (added)
-
tags/1.2.2/front/dist/blocks/meta-box/index.asset.php (added)
-
tags/1.2.2/front/dist/blocks/meta-box/index.js (added)
-
tags/1.2.2/front/dist/blocks/meta-box/index.js.LICENSE.txt (added)
-
tags/1.2.2/front/dist/blocks/meta-box/index.php (added)
-
tags/1.2.2/front/dist/blocks/meta-box/style.css (added)
-
tags/1.2.2/front/dist/blocks/role-assignment-query-loop (added)
-
tags/1.2.2/front/dist/blocks/role-assignment-query-loop/block.json (added)
-
tags/1.2.2/front/dist/blocks/role-assignment-query-loop/index.asset.php (added)
-
tags/1.2.2/front/dist/blocks/role-assignment-query-loop/index.js (added)
-
tags/1.2.2/front/dist/blocks/role-assignment-query-loop/index.js.LICENSE.txt (added)
-
tags/1.2.2/front/dist/blocks/role-assignment-query-loop/index.php (added)
-
tags/1.2.2/front/dist/blocks/role-assignment-query-loop/style.css (added)
-
tags/1.2.2/front/dist/blocks/role-prefix (added)
-
tags/1.2.2/front/dist/blocks/role-prefix/block.json (added)
-
tags/1.2.2/front/dist/blocks/role-prefix/index.asset.php (added)
-
tags/1.2.2/front/dist/blocks/role-prefix/index.js (added)
-
tags/1.2.2/front/dist/blocks/role-prefix/index.js.LICENSE.txt (added)
-
tags/1.2.2/front/dist/blocks/role-prefix/index.php (added)
-
tags/1.2.2/front/dist/blocks/role-prefix/style.css (added)
-
tags/1.2.2/front/dist/index.asset.php (added)
-
tags/1.2.2/front/dist/index.js (added)
-
tags/1.2.2/front/dist/index.js.LICENSE.txt (added)
-
tags/1.2.2/front/dist/index.php (added)
-
tags/1.2.2/inc (added)
-
tags/1.2.2/inc/class-contributor-list-table.php (added)
-
tags/1.2.2/inc/class-contributor-service.php (added)
-
tags/1.2.2/inc/class-guest-service.php (added)
-
tags/1.2.2/inc/class-legacy-compatibility.php (added)
-
tags/1.2.2/inc/class-migration-handler.php (added)
-
tags/1.2.2/inc/class-mshmn-contributor.php (added)
-
tags/1.2.2/inc/class-role-service.php (added)
-
tags/1.2.2/inc/db.php (added)
-
tags/1.2.2/inc/functions.php (added)
-
tags/1.2.2/inc/menu (added)
-
tags/1.2.2/inc/menu/contributor-list-page.php (added)
-
tags/1.2.2/inc/menu/edit-page.php (added)
-
tags/1.2.2/inc/menu/page-registrations.php (added)
-
tags/1.2.2/inc/menu/role-page.php (added)
-
tags/1.2.2/inc/menu/settings-page.php (added)
-
tags/1.2.2/inc/meta-box.php (added)
-
tags/1.2.2/inc/register-blocks.php (added)
-
tags/1.2.2/inc/rest (added)
-
tags/1.2.2/inc/rest/contributors-rest.php (added)
-
tags/1.2.2/inc/rest/guest-author-rest.php (added)
-
tags/1.2.2/inc/rest/role-rest.php (added)
-
tags/1.2.2/musahimoun.php (added)
-
tags/1.2.2/person.svg (added)
-
trunk/README.txt (modified) (2 diffs)
-
trunk/docs/DEVELOPER.md (modified) (1 diff)
-
trunk/front/package.json (modified) (1 diff)
-
trunk/inc/class-contributor-service.php (modified) (1 diff)
-
trunk/inc/class-mshmn-contributor.php (modified) (3 diffs)
-
trunk/inc/functions.php (modified) (2 diffs)
-
trunk/musahimoun.php (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
musahimoun/trunk/README.txt
r3362016 r3362107 5 5 Requires at least: 6.4 6 6 Tested up to: 6.8 7 Stable tag: 1.2. 17 Stable tag: 1.2.2 8 8 Requires PHP: 7.4 9 9 License: GPLv2 or later … … 46 46 = 1.2.1 (2025-09-15) = 47 47 * Fix fatal error. 48 = 1.2.1 (2025-09-15) = 49 * Fix fatal error. 48 50 = Modify the foreign key constraint on database. 49 51 -
musahimoun/trunk/docs/DEVELOPER.md
r3361978 r3362107 108 108 1. Navigate to the `front/` directory. 109 109 2. Run `npm install` to install dependencies. 110 3. Run `npm run build` to generate assets for both development and production modes. 110 3. Run `npm run dev` to generate assets for development. 111 3. Run `npm run build` to generate assets production. 111 112 112 113 ### Packaging (`package-plugin.ps1`) -
musahimoun/trunk/front/package.json
r3359412 r3362107 13 13 "lint:pkg-json": "wp-scripts lint-pkg-json", 14 14 "packages-update": "wp-scripts packages-update", 15 "dev": "wp-scripts start",16 15 "test:e2e": "wp-scripts test-e2e", 17 16 "test:unit": "wp-scripts test-unit-js", 18 17 "test": "echo \"Error: no test specified\" && exit 1", 19 " start": "webpack-dev-server --open--config webpack.config.js",20 "build": "webpack --watch -- config webpack.config.js"18 "dev": "webpack --watch --mode development --config webpack.config.js", 19 "build": "webpack --watch --mode production --config webpack.config.js" 21 20 }, 22 21 "author": "Shadi Gaafar", -
musahimoun/trunk/inc/class-contributor-service.php
r3361978 r3362107 115 115 } 116 116 117 // Query users and guests using the limited ID after it has been sorted by ids. 118 $user_query = new \WP_User_Query( $user_args ); 119 $users = ! empty( $user_query->get_results() ) ? $this->format_users( $user_query->get_results(), $output ) : array(); 117 $users = array(); 118 119 //check if include is set and not empty after filtering. Important for not getting all users if no match. 120 if ( isset( $user_args['include'] ) && ! empty($this->filter_user_ids( $user_args['include'] )) ) { 121 $user_query = new \WP_User_Query( $user_args ); 122 $users = ! empty( $user_query->get_results() ) ? $this->format_users( $user_query->get_results(), $output ) : array(); 123 } 120 124 121 125 $guest_service = new Guest_Service( $guest_args, ARRAY_A ); -
musahimoun/trunk/inc/class-mshmn-contributor.php
r3361978 r3362107 233 233 array( 234 234 'key' => MSHMN_POST_CONTRIBUTORS_META, 235 'value' => ' [[:<:]]' . $this->contributor->id . '[[:>:]]',235 'value' => '(^|,)' . $this->contributor->id . '(,|$)', 236 236 'compare' => 'REGEXP', 237 237 ), … … 239 239 ); 240 240 } elseif ( $query->is_author() ) { 241 $user_id = get_user_by( 'slug', $author_nicename )->ID; 242 241 $user_id = get_user_by( 'slug', $author_nicename )->ID ?? 0; 242 243 highlight_array( $user_id, 'user_id' ); 243 244 // this step is important, cos some users can be assigned as an author by this plugin, 244 245 // and the don't actually has posts, so they don't have author archive. 245 246 $this->contributor = (object) get_contributors( array( 'include' => $user_id ) )[0]; 247 248 highlight_array( $user_id, 'user_id' , $this->contributor); 246 249 $query->set( 'author', false ); 247 250 $query->set( … … 250 253 array( 251 254 'key' => MSHMN_POST_CONTRIBUTORS_META, 252 'value' => ' [[:<:]]' . $this->contributor->id . '[[:>:]]',255 'value' => '(^|,)' . $this->contributor->id . '(,|$)', 253 256 'compare' => 'REGEXP', 254 257 ), -
musahimoun/trunk/inc/functions.php
r3362016 r3362107 44 44 */ 45 45 function get_contributors( $args = array(), $output = OBJECT ): array { 46 $contributor_service = new \MSHMN\Contributor_Service( $args , $output);47 return (array) $contributor_service->get_results( );46 $contributor_service = new \MSHMN\Contributor_Service( $args ); 47 return (array) $contributor_service->get_results( $output); 48 48 } 49 49 … … 92 92 93 93 if ( ! empty( $role_assignment['contributors'] ) ) { 94 $contributors_ids = $role_assignment['contributors'];95 $contributors _query = new \MSHMN\Contributor_Service( array( 'include' => $contributors_ids ));96 $contributors = $contributors_query->get_results( ARRAY_A );97 } 98 99 $role = $roles->get_roles( array( 'include' => array( $role_assignment['role'] ) ) )[0] ?? array(); 94 $contributors_ids = (array) $role_assignment['contributors']; 95 $contributors = get_contributors( array( 'include' => $contributors_ids ), ARRAY_A ); 96 } 97 98 $role = (array) $roles->get_roles( array( 'include' => array( $role_assignment['role'] ) ), ARRAY_A )[0] ?? array(); 99 100 100 $role_assignments_with_entites[ $key ]['role'] = array_merge( 101 101 $role, 102 102 array( 103 'icon' => ! empty( $role ->icon ) ? wp_get_attachment_image_url( $role->icon, 'thumbnail', true ) : null,103 'icon' => ! empty( $role['icon'] ) ? wp_get_attachment_image_url( $role['icon'], 'thumbnail', true ) : null, 104 104 ) 105 105 ); -
musahimoun/trunk/musahimoun.php
r3362016 r3362107 4 4 * Plugin URI: 5 5 * Description: This plugin allows you to choose an author, create a guest author or choose multiple authors and contributors.. 6 * Version: 1.2. 16 * Version: 1.2.2 7 7 * Requires at least: 6.4 8 8 * Requires PHP: 7.4
Note: See TracChangeset
for help on using the changeset viewer.