Changeset 2724522
- Timestamp:
- 05/16/2022 11:33:17 AM (4 years ago)
- Location:
- makestories-helper/trunk
- Files:
-
- 1 added
- 20 edited
-
api/media.php (modified) (1 diff)
-
api/publish.php (modified) (9 diffs)
-
api/widget.php (modified) (2 diffs)
-
assets/images/default-poster.jpeg (added)
-
basic-auth.php (modified) (1 diff)
-
config.php (modified) (1 diff)
-
helpers.php (modified) (1 diff)
-
hooks.php (modified) (2 diffs)
-
makestories.php (modified) (1 diff)
-
pages/category-structure.php (modified) (4 diffs)
-
pages/index.php (modified) (5 diffs)
-
readme.txt (modified) (1 diff)
-
shortcode.php (modified) (1 diff)
-
taxonomy-ms_story_category.php (modified) (1 diff)
-
templates/archive-stories.php (modified) (1 diff)
-
templates/editor-footer.php (modified) (1 diff)
-
templates/editor.php (modified) (1 diff)
-
templates/listing-story-grid.php (modified) (3 diffs)
-
templates/ms-single-post.php (modified) (3 diffs)
-
templates/ms-single-widget.php (modified) (1 diff)
-
templates/single-story.php (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
makestories-helper/trunk/api/media.php
r2481763 r2724522 10 10 'post_status' => 'inherit', 11 11 'posts_per_page' => 30, 12 'paged' => isset($_REQUEST["page"]) ? $_REQUEST["page"]: 1,12 'paged' => isset($_REQUEST["page"]) ? sanitize_text_field($_REQUEST["page"]) : 1, 13 13 ); 14 14 15 $toSearch = isset($_REQUEST["search"]) ? $_REQUEST["search"]: false;15 $toSearch = isset($_REQUEST["search"]) ? sanitize_text_field($_REQUEST["search"]) : false; 16 16 17 17 // Filter query clauses to include filenames. -
makestories-helper/trunk/api/publish.php
r2659092 r2724522 10 10 header("Content-Type: application/json"); 11 11 if((isset($_REQUEST["slug"]) || isset($_REQUEST["post_id"])) && isset($_REQUEST["story"])){ 12 $storyId = $_REQUEST["story"];13 $r = ms_get_story_HTML($ _GET['story']);12 $storyId = sanitize_text_field($_REQUEST["story"]); 13 $r = ms_get_story_HTML($storyId); 14 14 $parsed = json_decode($r, true); 15 15 $html = $parsed['html']; … … 17 17 18 18 if(isset($_REQUEST['post_id'])) { 19 $post = get_post((int) $_REQUEST['post_id']);19 $post = get_post((int)sanitize_text_field($_REQUEST['post_id'])); 20 20 if ($post && $post->post_status != 'trash') { 21 21 $post = $post->ID; 22 22 $toCreate = false; 23 23 24 $pages = $_REQUEST["slides"];24 $pages = sanitize_text_field($_REQUEST["slides"]); 25 25 update_post_meta($post,"pages", $pages); 26 26 } else { … … 28 28 } 29 29 }else{ 30 $slug = $_REQUEST["slug"];30 $slug = sanitize_text_field($_REQUEST["slug"]); 31 31 $post = wp_insert_post([ 32 32 "post_content" => $html, … … 38 38 39 39 if ($post) { 40 $pages = $_REQUEST["slides"];40 $pages = sanitize_text_field($_REQUEST["slides"]); 41 41 add_post_meta($post,"pages", $pages); 42 42 } … … 116 116 $category = ms_get_default_category(); 117 117 if(isset($_REQUEST['category']) && !empty($_REQUEST['category'])){ 118 $category = $_REQUEST['category'];118 $category = sanitize_text_field($_REQUEST['category']); 119 119 } 120 120 wp_set_post_terms($post, $category, MS_TAXONOMY); 121 121 } 122 122 $link = get_post_permalink($post); 123 $slug = $_REQUEST["slug"];123 $slug = sanitize_text_field($_REQUEST["slug"]); 124 124 wp_update_post([ 125 125 "post_content" => str_ireplace(MS_WORDPRESS_CANONICAL_SUBSTITUTION_PLACEHOLDER, $link, $html), … … 401 401 ]; 402 402 if(isset($_REQUEST['story'])){ 403 $storyId = $_REQUEST['story'];404 $postType = $_REQUEST['post_type'];405 $postKey = $_REQUEST['post_key'];403 $storyId = sanitize_text_field($_REQUEST['story']); 404 $postType = sanitize_text_field($_REQUEST['post_type']); 405 $postKey = sanitize_text_field($_REQUEST['post_key']); 406 406 $args = [ 407 407 "post_type" => $postType, … … 434 434 ]; 435 435 if(isset($_REQUEST['story']) && isset($_REQUEST['post_id'])){ 436 $storyId = $_REQUEST['story'];437 $postId = $_REQUEST['post_id'];436 $storyId = sanitize_text_field($_REQUEST['story']); 437 $postId = sanitize_text_field($_REQUEST['post_id']); 438 438 $args = [ 439 439 "post_type" => MS_POST_TYPE, … … 465 465 $media = []; 466 466 if(isset($_REQUEST['post_id'])){ 467 $postId = $_REQUEST['post_id'];467 $postId = sanitize_text_field($_REQUEST['post_id']); 468 468 $post = get_post($postId); 469 469 $content = $post->post_content; … … 605 605 if($_REQUEST['post'] && $_REQUEST['slug']){ 606 606 header("Content-Type: application/json"); 607 $postId = $_REQUEST['post'];608 $newTitle = $_REQUEST['slug'];607 $postId = sanitize_text_field($_REQUEST['post']); 608 $newTitle = sanitize_text_field($_REQUEST['slug']); 609 609 $post = get_post($postId); 610 610 if($post){ -
makestories-helper/trunk/api/widget.php
r2659092 r2724522 10 10 ms_protect_ajax_route(); 11 11 header("Content-Type: application/json"); 12 if((isset($_REQUEST["widgetId"]) && isset($_REQUEST["widgetName"]) && isset($_REQUEST["container"])) && isset($_REQUEST["script"]) && isset($_REQUEST["type"]) && isset($_REQUEST['divId'])){ 13 $widgetId = $_REQUEST["widgetId"]; 14 $title = $_REQUEST["widgetName"]; 15 $slug = $_REQUEST["slug"]; 16 $container = $_REQUEST["container"]; 17 $script = $_REQUEST["script"]; 18 $jsBlock = $_REQUEST["scriptBlock"]; 19 $type = $_REQUEST["type"]; 20 $categories = $_REQUEST["tagsSelected"]; 21 $design = $_REQUEST["designSelected"]; 22 $divId = $_REQUEST['divId']; 12 if( 13 isset($_REQUEST["widgetId"]) && 14 isset($_REQUEST["widgetName"]) && 15 isset($_REQUEST["container"]) && 16 isset($_REQUEST["script"]) && 17 isset($_REQUEST["type"]) && 18 isset($_REQUEST['divId']) 19 ){ 20 $widgetId = sanitize_text_field($_REQUEST["widgetId"]); 21 $title = sanitize_text_field($_REQUEST["widgetName"]); 22 $slug = sanitize_text_field($_REQUEST["slug"]); 23 $container = sanitize_text_field($_REQUEST["container"]); 24 $script = sanitize_text_field($_REQUEST["script"]); 25 $jsBlock = sanitize_text_field($_REQUEST["scriptBlock"]); 26 $type = sanitize_text_field($_REQUEST["type"]); 27 $categories = sanitize_text_field($_REQUEST["tagsSelected"]); 28 $design = sanitize_text_field($_REQUEST["designSelected"]); 29 $divId = sanitize_text_field($_REQUEST['divId']); 23 30 24 31 if(isset($_REQUEST['widgetPostId'])) { 25 $post_id = get_post((int)$_REQUEST['widgetPostId']); 32 $widgetPostId = (int)sanitize_text_field($_REQUEST['widgetPostId']); 33 $post_id = get_post($widgetPostId); 26 34 if ($post_id && $post_id->post_status != 'trash') { 27 35 $post_id = $post_id->ID; … … 48 56 } 49 57 } else { 50 $slug = $_REQUEST["slug"];58 $slug = sanitize_text_field($_REQUEST["slug"]); 51 59 $post_id = wp_insert_post([ 52 60 "post_content" => $container, -
makestories-helper/trunk/basic-auth.php
r2481763 r2724522 11 11 return $user; 12 12 } 13 $username = $_SERVER['PHP_AUTH_USER'];14 $password = $_SERVER['PHP_AUTH_PW'];13 $username = sanitize_text_field($_SERVER['PHP_AUTH_USER']); 14 $password = sanitize_text_field($_SERVER['PHP_AUTH_PW']); 15 15 /** 16 16 * In multi-site, wp_authenticate_spam_check filter is run on authentication. This filter calls -
makestories-helper/trunk/config.php
r2717916 r2724522 89 89 "storyasset.link", 90 90 ]); 91 92 define("MS_PLUGIN_BASE_FILE_PATH", plugin_dir_path( __DIR__ )); -
makestories-helper/trunk/helpers.php
r2659092 r2724522 75 75 $options['categories_enabled'] = isset($_POST['categories_enabled']); 76 76 if(isset($_POST['post_slug'])){ 77 $options['post_slug'] = $_POST['post_slug'];77 $options['post_slug'] = sanitize_text_field($_POST['post_slug']); 78 78 } 79 79 if(isset($_POST['default_category'])){ 80 $options['default_category'] = $_POST['default_category'];80 $options['default_category'] = sanitize_text_field($_POST['default_category']); 81 81 } 82 82 if(isset($_POST['roles']) && is_array($_POST['roles'])){ 83 $options['roles'] = $_POST['roles'];83 $options['roles'] = sanitize_text_field($_POST['roles']); 84 84 } 85 85 $options['to_rewrite'] = true; -
makestories-helper/trunk/hooks.php
r2712777 r2724522 248 248 // Load more stories using ajax 249 249 function mscpt_more_post_ajax(){ 250 $offset = $_POST["offset"];251 $ppp = $_POST["ppp"];250 $offset = sanitize_text_field($_POST["offset"]); 251 $ppp = sanitize_text_field($_POST["ppp"]); 252 252 253 253 // header("Content-Type: text/html"); … … 297 297 //function to reinitialize story player class 298 298 function mscpt_load_post_data_ajax() { 299 $offset = $_POST["offset"];300 $ppp = $_POST["ppp"];299 $offset = sanitize_text_field($_POST["offset"]); 300 $ppp = sanitize_text_field($_POST["ppp"]); 301 301 302 302 header("Content-Type: text/html"); -
makestories-helper/trunk/makestories.php
r2717916 r2724522 4 4 Plugin URI: https://makestories.io/official-wordpress-webstories-plugin/ 5 5 Description: The leading Google Web Stories Editor is now available to create Stories in WordPress. It is easy to use, allows for extensive customization, and is adaptive for future changes. 6 Version: 2.6. 46 Version: 2.6.5 7 7 Author: MakeStories Team 8 8 Author URI: https://makestories.io -
makestories-helper/trunk/pages/category-structure.php
r2526622 r2724522 8 8 // Check if the form is submitted 9 9 if ( isset( $_POST['category'] ) ) { 10 $category = $_POST['category'];10 $category = sanitize_text_field($_POST['category']); 11 11 12 12 wp_insert_term( … … 34 34 <th scope="row"><label for="slug">Slug</label></th> 35 35 <td> 36 <input id="slug" type="text" name="post_slug" value="<?php if($options['post_slug']){ echo $options['post_slug']; } ?>" class="regular-text">36 <input id="slug" type="text" name="post_slug" value="<?php if($options['post_slug']){ echo esc_html($options['post_slug']); } ?>" class="regular-text"> 37 37 </td> 38 38 </tr> … … 59 59 ]); 60 60 foreach($categories as $category) { ?> 61 <option <?php if($selected === $category->name){ echo "selected"; } ?> value="<?php echo $category->name; ?>"><?php echo $category->name; ?></option>61 <option <?php if($selected === $category->name){ echo "selected"; } ?> value="<?php echo esc_attr($category->name); ?>"><?php echo esc_html($category->name); ?></option> 62 62 <?php 63 63 } … … 77 77 <?php 78 78 foreach($roleNames as $role => $roleName) { ?> 79 <label for="role_input_<?php echo $role; ?>">80 <input name="roles[]" type="checkbox" id="role_input_<?php echo $role; ?>" value="<?php echo $role; ?>" <?php if(in_array($role, $options['roles'])){ echo "checked"; } ?>>81 <?php echo $roleName; ?></label>79 <label for="role_input_<?php echo esc_html($role); ?>"> 80 <input name="roles[]" type="checkbox" id="role_input_<?php echo esc_html($role); ?>" value="<?php echo esc_html($role); ?>" <?php if(in_array($role, $options['roles'])){ echo "checked"; } ?>> 81 <?php echo esc_html($roleName); ?></label> 82 82 <br> 83 83 <?php -
makestories-helper/trunk/pages/index.php
r2481763 r2724522 58 58 function mscpt_amp_story_load_editor(){ 59 59 if(is_admin() && isset($_GET['page'])){ 60 $pagenow = $_GET['page'];60 $pagenow = sanitize_text_field($_GET['page']); 61 61 if($pagenow === MS_ROUTING['EDITOR']['slug']){ 62 $subpage = isset($_GET['mspage']) ? $_GET['mspage']: "homepage";62 $subpage = isset($_GET['mspage']) ? sanitize_text_field($_GET['mspage']) : "homepage"; 63 63 if($subpage === "preview" && isset($_GET['story'])){ 64 $r = ms_get_story_HTML( $_GET['story']);64 $r = ms_get_story_HTML(sanitize_text_field($_GET['story'])); 65 65 $parsed = json_decode($r, true); 66 66 if(is_array($parsed) && isset($parsed['html'])){ 67 echo $parsed['html'];67 echo esc_html($parsed['html']); 68 68 die(); 69 69 } … … 74 74 75 75 function ms_editor_contents() { 76 $subpage = isset($_GET['mspage']) ? $_GET['mspage']: "homepage";76 $subpage = isset($_GET['mspage']) ? sanitize_text_field($_GET['mspage']) : "homepage"; 77 77 require_once(MS_PLUGIN_BASE_PATH."/templates/editor.php"); 78 78 // die(); … … 84 84 function ms_folded_menu($classes){ 85 85 if(is_admin() && isset($_GET['page'])){ 86 $pagenow = $_GET['page'];86 $pagenow = sanitize_text_field($_GET['page']); 87 87 if($pagenow === MS_ROUTING['EDITOR']['slug']){ 88 88 return $classes." folded"; … … 95 95 function isMSEditorPage(){ 96 96 if(is_admin() && isset($_GET['page'])){ 97 $pagenow = $_GET['page'];97 $pagenow = sanitize_text_field($_GET['page']); 98 98 return $pagenow === MS_ROUTING['EDITOR']['slug']; 99 99 } … … 112 112 if(isMSEditorPage()){ 113 113 require_once(MS_PLUGIN_BASE_PATH."/templates/editor-footer.php"); 114 wp_enqueue_script("ms_manifest_script_url", MS_MANIFEST_SCRIPT_URL, [], false, true); 115 wp_enqueue_script("ms_vendor_script_url", MS_VENDOR_SCRIPT_URL, [], false, true); 116 wp_enqueue_script("ms_main_script_url", MS_MAIN_SCRIPT_URL, [], false, true); 114 117 } 115 118 } -
makestories-helper/trunk/readme.txt
r2712777 r2724522 4 4 Requires at least: 4.0 5 5 Tested up to: 5.9.3 6 Stable tag: 2.6.5 6 7 Requires PHP: 5.6 7 8 -
makestories-helper/trunk/shortcode.php
r2659092 r2724522 14 14 <section class="default-stories"> 15 15 <?php if ($postCount > 0) { ?> 16 <div id="ajax-posts" class="stories-group" data-posts="<?php echo $default_posts_per_page; ?>" data-ajax="<?php echo $getAjaxUrl; ?>" class="row">16 <div id="ajax-posts" class="stories-group" data-posts="<?php echo esc_attr($default_posts_per_page); ?>" data-ajax="<?php echo esc_attr($getAjaxUrl); ?>" class="row"> 17 17 <?php 18 18 $postsPerPage = $default_posts_per_page; -
makestories-helper/trunk/taxonomy-ms_story_category.php
r2516559 r2724522 20 20 ?> 21 21 <section class="default-stories"> 22 <h3><?php $term = get_term($int_cat,MS_TAXONOMY); echo $term->name; ?></h3>22 <h3><?php $term = get_term($int_cat,MS_TAXONOMY); echo esc_html($term->name); ?></h3> 23 23 <div class="stories-group"> 24 24 <?php -
makestories-helper/trunk/templates/archive-stories.php
r2659092 r2724522 8 8 <section class="default-stories"> 9 9 <?php if ($postCount > 0) { ?> 10 <div id="ajax-posts" class="stories-group" data-posts="<?php echo $default_posts_per_page; ?>" data-ajax="<?php echo $getAjaxUrl; ?>" class="row">10 <div id="ajax-posts" class="stories-group" data-posts="<?php echo esc_attr($default_posts_per_page); ?>" data-ajax="<?php echo esc_attr($getAjaxUrl); ?>" class="row"> 11 11 <?php 12 12 $postsPerPage = $default_posts_per_page; -
makestories-helper/trunk/templates/editor-footer.php
r2404028 r2724522 28 28 })(); 29 29 </script> 30 <script src="<?php echo MS_MANIFEST_SCRIPT_URL ?>"></script>31 <script src="<?php echo MS_VENDOR_SCRIPT_URL ?>"></script>32 <script src="<?php echo MS_MAIN_SCRIPT_URL ?>"></script> -
makestories-helper/trunk/templates/editor.php
r2698925 r2724522 11 11 ?> 12 12 const msWPConfig = { 13 wpBaseUrl: '<?php echo get_site_url(""); ?>',14 currentPage: "<?php echo $subpage; ?>",15 wpAdminBaseURL: '<?php echo MS_WP_ADMIN_BASE_URL; ?>',13 wpBaseUrl: '<?php echo esc_html(get_site_url("")); ?>', 14 currentPage: "<?php echo esc_html($subpage); ?>", 15 wpAdminBaseURL: '<?php echo esc_html(MS_WP_ADMIN_BASE_URL); ?>', 16 16 adminAjaxUrl: '<?php echo admin_url('admin-ajax.php') ?>', 17 cpt: "<?php echo MS_POST_TYPE; ?>",18 wpStoriesBaseURL: '<?php echo $baseUrl; ?>',17 cpt: "<?php echo esc_html(MS_POST_TYPE); ?>", 18 wpStoriesBaseURL: '<?php echo esc_html($baseUrl); ?>', 19 19 wpNonce: '<?php echo wp_create_nonce(MS_NONCE_REFERRER) ?>', 20 wpUser: '<?php echo $user->ID; ?>',21 wpEmail: '<?php echo $user->user_email; ?>',22 wpUsername: '<?php echo $user->first_name." ".$user->last_name; ?>',20 wpUser: '<?php echo esc_html($user->ID); ?>', 21 wpEmail: '<?php echo esc_html($user->user_email); ?>', 22 wpUsername: '<?php echo esc_html($user->first_name." ".$user->last_name); ?>', 23 23 isCategoriesEnabled: <?php echo ms_is_categories_enabled() ? "true" : "false"; ?>, 24 24 adminPublishPost: '<?php echo admin_url( 'edit.php?post_type=' . MS_POST_TYPE ); ?>', -
makestories-helper/trunk/templates/listing-story-grid.php
r2659092 r2724522 15 15 } 16 16 ?> 17 <div class="story-thumb-card card <?php echo $getClassNames[$index]; ?>" data-story-url="<?php echo $permalink; ?>">17 <div class="story-thumb-card card <?php echo esc_attr($getClassNames[$index]); ?>" data-story-url="<?php echo esc_attr($permalink); ?>"> 18 18 <div class="cardin"> 19 19 <div class="cardimage"> 20 20 <?php if ($index%8<=1) { ?> 21 21 <?php if ($posterLandscape) { ?> 22 <img src="<?php echo $posterLandscape?>" alt="Avatar" class="story-img" />22 <img src="<?php echo esc_attr($posterLandscape) ?>" alt="Avatar" class="story-img" /> 23 23 <?php } else { ?> 24 <img src=" https://www.onl.st/dev-stamps/default.jpeg" alt="Avatar-def-one" class="story-img" />24 <img src="<?php echo MS_PLUGIN_BASE_FILE_PATH."assets/images/default-poster.jpeg" ?>" alt="Poster Image" class="story-img" /> 25 25 <?php 26 26 } … … 30 30 <?php if ($index%8 > 1 && $index%8 < 8) { ?> 31 31 <?php if ($posterLandscape) { ?> 32 <img src="<?php echo $posterLandscape?>" alt="Avatar" class="story-img" />32 <img src="<?php echo esc_attr($posterLandscape) ?>" alt="Avatar" class="story-img" /> 33 33 <?php } else { ?> 34 <img src=" https://www.onl.st/dev-stamps/default.jpeg" alt="Avatar-def-one" class="story-img" />34 <img src="<?php echo MS_PLUGIN_BASE_FILE_PATH."assets/images/default-poster.jpeg" ?>" alt="Poster Image" class="story-img" /> 35 35 <?php 36 36 } … … 39 39 </div> 40 40 <div class="container"> 41 <p><?php echo $publishDate; ?></p>42 <h2><?php echo $title; ?></h2>41 <p><?php echo esc_html($publishDate); ?></p> 42 <h2><?php echo esc_html($title); ?></h2> 43 43 </div> 44 44 </div> -
makestories-helper/trunk/templates/ms-single-post.php
r2659092 r2724522 6 6 </div> --> 7 7 <?php $index = 0; ?> 8 <div class="story-thumb-card card bigmiddleStory" data-story-url="<?php echo $permalink; ?>">8 <div class="story-thumb-card card bigmiddleStory" data-story-url="<?php echo esc_url($permalink); ?>"> 9 9 <div class="cardin"> 10 10 <div class="cardimage"> 11 11 <?php if ($index%8<=1) { ?> 12 12 <?php if ($posterLandscape) { ?> 13 <img src="<?php echo $posterLandscape?>" alt="Avatar" class="story-img" />13 <img src="<?php echo esc_attr($posterLandscape) ?>" alt="Avatar" class="story-img" /> 14 14 <?php } else { ?> 15 <img src=" https://www.onl.st/dev-stamps/default.jpeg" alt="Avatar-def-one" class="story-img" />15 <img src="<?php echo MS_PLUGIN_BASE_FILE_PATH."assets/images/default-poster.jpeg" ?>" alt="Poster Image" class="story-img" /> 16 16 <?php 17 17 } … … 21 21 <?php if ($index%8 > 1 && $index%8 < 8) { ?> 22 22 <?php if ($posterLandscape) { ?> 23 <img src="<?php echo $posterLandscape?>" alt="Avatar" class="story-img" />23 <img src="<?php echo esc_attr($posterLandscape) ?>" alt="Avatar" class="story-img" /> 24 24 <?php } else { ?> 25 <img src=" https://www.onl.st/dev-stamps/default.jpeg" alt="Avatar-def-one" class="story-img" />25 <img src="<?php echo MS_PLUGIN_BASE_FILE_PATH."assets/images/default-poster.jpeg" ?>" alt="Poster Image" class="story-img" /> 26 26 <?php 27 27 } … … 30 30 </div> 31 31 <div class="container"> 32 <p><?php echo $publishDate; ?></p>33 <h2><?php echo $title; ?></h2>32 <p><?php echo esc_html($publishDate); ?></p> 33 <h2><?php echo esc_html($title); ?></h2> 34 34 </div> 35 35 </div> -
makestories-helper/trunk/templates/ms-single-widget.php
r2659092 r2724522 24 24 25 25 //print the player code 26 echo $scriptNew;27 echo $div;26 echo esc_js($scriptNew); 27 echo esc_html($div); 28 28 ?> 29 29 </div> -
makestories-helper/trunk/templates/single-story.php
r2526622 r2724522 1 1 <div class="story-thumb"> 2 <a href="<?php echo $permalink; ?>" target="_blank">2 <a href="<?php echo esc_url($permalink); ?>" target="_blank"> 3 3 <figure> 4 <img src="<?php echo $posterImage?>" />4 <img src="<?php echo esc_attr($posterImage) ?>" /> 5 5 </figure> 6 6 <div class="bottom-text"> 7 <h3><?php echo $title; ?></h3>8 <p><?php echo $publishDate; ?></p>7 <h3><?php echo esc_html($title); ?></h3> 8 <p><?php echo esc_html(publishDate); ?></p> 9 9 </div> 10 10 </a>
Note: See TracChangeset
for help on using the changeset viewer.