:13:"backdrop_path";s:32:"/nMomMy1sD3SN2QsKop3zBXCJfDJ.jpg";s:9:"genre_ids";a:3:{i:0;i:18;i:1;i:10751;i:2;i:14;}s:2:"id";i:1585;s:17:"original_language";s:2:"en";s:14:"original_title";s:21:"It's a Wonderful Life";s:8:"overview";s:323:"A holiday favourite for generations... George Bailey has spent his entire life giving to the people of Bedford Falls. All that prevents rich skinflint Mr. Potter from taking over the entire town is George's modest building and loan company. But on Christmas Eve the business's $8,000 is lost and George's troubles begin.";s:12:"release_date";s:10:"1946-12-20";s:11:"poster_path";s:32:"/rgj6QjdyCeDrO9KGt1kusGyhvb2.jpg";s:10:"popularity";d:10.487913999999999958845364744774997234344482421875;s:5:"title";s:21:"It's a Wonderful Life";s:5:"video";b:0;s:12:"vote_average";d:8.0999999999999996447286321199499070644378662109375;s:10:"vote_count";i:1470;}i:12;a:14:{s:5:"adult";b:0;s:13:"backdrop_path";s:31:"/h64zNCm5SrY45c7Z6gxy9tC0xb.jpg";s:9:"genre_ids";a:3:{i:0;i:35;i:1;i:10749;i:2;i:18;}s:2:"id";i:634;s:17:"original_language";s:2:"en";s:14:"original_title";s:21:"Bridget Jones's Diary";s:8:"overview";s:95:"A chaotic Bridget Jones meets a snobbish lawyer, and he soon enters her world of imperfections.";s:12:"release_date";s:10:"2001-04-13";s:11:"poster_path";s:32:"/ym6kjFFZg6boC0QHBVw6hqJLbxv.jpg";s:10:"popularity";d:13.67478799999999949932316667400300502777099609375;s:5:"title";s:21:"Bridget Jones's Diary";s:5:"video";b:0;s:12:"vote_average";d:6.5999999999999996447286321199499070644378662109375;s:10:"vote_count";i:1910;}i:13;a:14:{s:5:"adult";b:0;s:13:"backdrop_path";s:32:"/9SNO9BglZJgGTMOB5K4NVgecgX1.jpg";s:9:"genre_ids";a:2:{i:0;i:10751;i:1;i:35;}s:2:"id";i:9279;s:17:"original_language";s:2:"en";s:14:"original_title";s:18:"Jingle All the Way";s:8:"overview";s:506:"Meet Howard Langston, a salesman for a mattress company is constantly busy at his job, and he also constantly disappoints his son, after he misses his son's karate exposition, his son tells Howard that he wants for Christmas is an action figure of his son's television hero, he tries hard to to make it up to him. Unfortunately for Howard, it is Christmas Eve, and every store is sold out of Turbo Man, now Howard must travel all over town and compete with everybody else to find a Turbo Man action figure.";s:12:"release_date";s:10:"1996-11-15";s:11:"poster_path";s:32:"/aaVkNhUONnkSv5ijPjq7pEmmWyE.jpg";s:10:"popularity";d:9.122809000000000168029146152548491954803466796875;s:5:"title";s:18:"Jingle All the Way";s:5:"video";b:0;s:12:"vote_average";d:5.5;s:10:"vote_count";i:795;}i:14;a:14:{s:5:"adult";b:0;s:13:"backdrop_path";s:32:"/gt8Pe0H2kdm99yuHYDs8goKbTkn.jpg";s:9:"genre_ids";a:2:{i:0;i:35;i:1;i:10751;}s:2:"id";i:9714;s:17:"original_language";s:2:"en";s:14:"original_title";s:12:"Home Alone 3";s:8:"overview";s:250:"9-year-old Alex Pruitt is home alone with the chicken pox. Turns out, due to a mix-up among nefarious spies, Alex was given a toy car concealing a top-secret microchip. Now Alex must fend off the spies as they try break into his house to get it back.";s:12:"release_date";s:10:"1997-12-12";s:11:"poster_path";s:32:"/z6ugEdjGuY4qcX1ymdV2CTVSvKN.jpg";s:10:"popularity";d:13.0017410000000008807319318293593823909759521484375;s:5:"title";s:12:"Home Alone 3";s:5:"video";b:0;s:12:"vote_average";d:5.0999999999999996447286321199499070644378662109375;s:10:"vote_count";i:941;}i:15;a:14:{s:5:"adult";b:0;s:13:"backdrop_path";s:32:"/lMDyuHzBhx3zNAv48vYzmgcJCCD.jpg";s:9:"genre_ids";a:1:{i:0;i:35;}s:2:"id";i:419680;s:17:"original_language";s:2:"en";s:14:"original_title";s:14:"Daddy's Home 2";s:8:"overview";s:74:"Brad and Dusty must deal with their intrusive fathers during the holidays.";s:12:"release_date";s:10:"2017-11-09";s:11:"poster_path";s:32:"/rF2IoKL0IFmumEXQFUuB8LajTYP.jpg";s:10:"popularity";d:12.7417660000000001474518285249359905719757080078125;s:5:"title";s:14:"Daddy's Home 2";s:5:"video";b:0;s:12:"vote_average";d:5.9000000000000003552713678800500929355621337890625;s:10:"vote_count";i:802;}i:16;a:14:{s:5:"adult";b:0;s:13:"backdrop_path";s:32:"/reQewz6KndV7Js2mfLfaaX8Rj0T.jpg";s:9:"genre_ids";a:2:{i:0;i:28;i:1;i:14;}s:2:"id";i:364;s:17:"original_language";s:2:"en";s:14:"original_title";s:14:"Batman Returns";s:8:"overview";s:561:"Having defeated the Joker, Batman now faces the Penguin - a warped and deformed individual who is intent on being accepted into Gotham society. Crooked businessman Max Schreck is coerced into helping him become Mayor of Gotham and they both attempt to expose Batman in a different light. Selina Kyle, Max's secretary, is thrown from the top of a building and is transformed into Catwoman - a mysterious figure who has the same personality disorder as Batman. Batman must attempt to clear his name, all the time deciding just what must be done with the Catwoman.";s:12:"release_date";s:10:"1992-06-19";s:11:"poster_path";s:32:"/ifzddUhnsTf1h6guBUKBlDwuS1t.jpg";s:10:"popularity";d:14.5705989999999996342694430495612323284149169921875;s:5:"title";s:14:"Batman Returns";s:5:"video";b:0;s:12:"vote_average";d:6.70000000000000017763568394002504646778106689453125;s:10:"vote_count";i:2288;}i:17;a:14:{s:5:"adult";b:0;s:13:"backdrop_path";s:32:"/4rsrxYDfIzvtAsIE9wevxPRXAk4.jpg";s:9:"genre_ids";a:2:{i:0;i:18;i:1;i:10751;}s:2:"id";i:406997;s:17:"original_language";s:2:"en";s:14:"original_title";s:6:"Wonder";s:8:"overview";s:150:"The story of August Pullman – a boy with facial differences – who enters fifth grade, attending a mainstream elementary school for the first time.";s:12:"release_date";s:10:"2017-11-13";s:11:"poster_path";s:32:"/ouYgAatYH4JzIThj6FI3UYf31RI.jpg";s:10:"popularity";d:21.045148000000001076159605872817337512969970703125;s:5:"title";s:6:"Wonder";s:5:"video";b:0;s:12:"vote_average";d:8.199999999999999289457264239899814128875732421875;s:10:"vote_count";i:1947;}i:18;a:14:{s:5:"adult";b:0;s:13:"backdrop_path";s:32:"/39LohvXfll5dGCQIV9B9VJ16ImE.jpg";s:9:"genre_ids";a:1:{i:0;i:35;}s:2:"id";i:18785;s:17:"original_language";s:2:"en";s:14:"original_title";s:12:"The Hangover";s:8:"overview";s:361:"When three friends finally come to after a raucous night of bachelor-party revelry, they find a baby in the closet and a tiger in the bathroom. But they can't seem to locate their best friend, Doug – who's supposed to be tying the knot. Launching a frantic search for Doug, the trio perseveres through a nasty hangover to try to make it to the church on time.";s:12:"release_date";s:10:"2009-06-02";s:11:"poster_path";s:32:"/uluhlXubGu1VxU63X9VHCLWDAYP.jpg";s:10:"popularity";d:14.999007999999999896090230322442948818206787109375;s:5:"title";s:12:"The Hangover";s:5:"video";b:0;s:12:"vote_average";d:7.20000000000000017763568394002504646778106689453125;s:10:"vote_count";i:7966;}i:19;a:14:{s:5:"adult";b:0;s:13:"backdrop_path";s:32:"/9tB94sgqEYlGbsJzYaGdqeYF6iF.jpg";s:9:"genre_ids";a:4:{i:0;i:35;i:1;i:80;i:2;i:18;i:3;i:9648;}s:2:"id";i:338964;s:17:"original_language";s:2:"en";s:14:"original_title";s:11:"Bad Santa 2";s:8:"overview";s:460:"Fueled by cheap whiskey, greed and hatred, Willie Soke teams up with his angry little sidekick, Marcus, to knock off a Chicago charity on Christmas Eve. Along for the ride is chubby and cheery Thurman Merman, a 250-pound ray of sunshine who brings out Willie's sliver of humanity. Issues arise when the pair are joined by Willie's horror story of a mother, who raises the bar for the gang's ambitions, while somehow lowering the standards of criminal behavior.";s:12:"release_date";s:10:"2016-11-23";s:11:"poster_path";s:32:"/y3kVZVknjDeLZSanLewaXsuwP12.jpg";s:10:"popularity";d:8.06580699999999950478013488464057445526123046875;s:5:"title";s:11:"Bad Santa 2";s:5:"video";b:0;s:12:"vote_average";d:5.0999999999999996447286321199499070644378662109375;s:10:"vote_count";i:325;}}s:11:"total_pages";i:69;s:13:"total_results";i:1365;}s:7:"reviews";a:4:{s:4:"page";i:1;s:7:"results";a:0:{}s:11:"total_pages";i:0;s:13:"total_results";i:0;}s:18:"alternative_titles";a:1:{s:6:"titles";a:1:{i:0;a:3:{s:10:"iso_3166_1";s:2:"US";s:5:"title";s:5:"Stuck";s:4:"type";s:13:"working title";}}}}s:10:"write_time";i:1527653378;s:10:"expired_in";i:47304000000;s:12:"expired_time";i:48831653378;}a:4:{s:5:"value";a:32:{s:5:"adult";b:0;s:13:"backdrop_path";s:32:"/hyXmtHTA709vYKW1zY7T6mU7a5l.jpg";s:21:"belongs_to_collection";N;s:6:"budget";i:0;s:6:"genres";a:1:{i:0;a:2:{s:2:"id";i:10749;s:4:"name";s:7:"Romance";}}s:8:"homepage";N;s:2:"id";i:262555;s:7:"imdb_id";s:9:"tt4315998";s:17:"original_language";s:2:"ta";s:14:"original_title";s:46:"ரசிக்கும் சீமானே";s:8:"overview";s:593:"Rasikkum Seemanae starring Srikanth and Navya Nair in lead roles.Srikanth, who has been struggling after his marriage, puts a lot of hope in this film. Srikanth's character Nandu is a person who adopts his own means to get what he wanted. For the first time in his career, Srikanth plays a role that has a negatives side to it.His character in the film, Nandu, takes advantage of others' weaknesses and blackmails them. Nandu comes across beautiful Gayatri played by Navya Nair and plots to win her love by blackmailing. Whether or not he succeeded in this endeavor is what the story is about.";s:10:"popularity";d:0.674260999999999999232613845379091799259185791015625;s:11:"poster_path";s:32:"/3js54Ev42Y1mS8Os6Uzqwz4YQ7M.jpg";s:20:"production_companies";a:0:{}s:20:"production_countries";a:0:{}s:12:"release_date";s:10:"2010-02-11";s:7:"revenue";i:0;s:7:"runtime";N;s:16:"spoken_languages";a:1:{i:0;a:2:{s:9:"iso_639_1";s:2:"ta";s:4:"name";s:15:"தமிழ்";}}s:6:"status";s:8:"Released";s:7:"tagline";s:0:"";s:5:"title";s:16:"Rasikkum Seemane";s:5:"video";b:0;s:12:"vote_average";d:0;s:10:"vote_count";i:0;s:7:"credits";a:2:{s:4:"cast";a:14:{i:0;a:8:{s:7:"cast_id";i:3;s:9:"character";s:0:"";s:9:"credit_id";s:24:"533acc67c3a3680e76007d98";s:6:"gender";i:2;s:2:"id";i:581891;s:4:"name";s:23:"Srikanth Krishnamachari";s:5:"order";i:1;s:12:"profile_path";s:32:"/nVOQMpn9RndwBhFfwn9UlNTbfPT.jpg";}i:1;a:8:{s:7:"cast_id";i:4;s:9:"character";s:0:"";s:9:"credit_id";s:24:"533acc7ac3a3681cea000017";s:6:"gender";i:1;s:2:"id";i:237708;s:4:"name";s:10:"Navya Nair";s:5:"order";i:2;s:12:"profile_path";s:32:"/c5MDBelvFyFN7EdpNGHM0rVlJq7.jpg";}i:2;a:8:{s:7:"cast_id";i:5;s:9:"character";s:0:"";s:9:"credit_id";s:24:"533acc7dc3a3680e69007e7f";s:6:"gender";i:2;s:2:"id";i:580224;s:4:"name";s:13:"Aravind Akash";s:5:"order";i:3;s:12:"profile_path";s:32:"/cKu4PlcoWZcNQHQwIi8sJ2gcZnp.jpg";}i:3;a:8:{s:7:"cast_id";i:6;s:9:"character";s:0:"";s:9:"credit_id";s:24:"533acc80c3a3680e69007e81";s:6:"gender";i:0;s:2:"id";i:586621;s:4:"name";s:11:"Bose Venkat";s:5:"order";i:4;s:12:"profile_path";s:32:"/AwdNRRvl3z5Qn9lxyqMH7uJ71Tb.jpg";}i:4;a:8:{s:7:"cast_id";i:7;s:9:"character";s:0:"";s:9:"credit_id";s:24:"533acc83c3a3680e70007deb";s:6:"gender";i:2;s:2:"id";i:580785;s:4:"name";s:9:"Mayilsamy";s:5:"order";i:5;s:12:"profile_path";s:32:"/8pKIsg8UKtDNWAbLCxIsSTQQPam.jpg";}i:5;a:8:{s:7:"cast_id";i:8;s:9:"character";s:0:"";s:9:"credit_id";s:24:"533acc87c3a3681cea000019";s:6:"gender";i:2;s:2:"id";i:580883;s:4:"name";s:17:"Kadhal Thandapani";s:5:"order";i:6;s:12:"profile_path";s:32:"/wYDuSlvPj5ngUCp7PpXyvhLsBGz.jpg";}i:6;a:8:{s:7:"cast_id";i:9;s:9:"character";s:0:"";s:9:"credit_id";s:24:"533acc9ec3a3680e8f007e7e";s:6:"gender";i:2;s:2:"id";i:478546;s:4:"name";s:17:"Sathyan Sivakumar";s:5:"order";i:7;s:12:"profile_path";s:32:"/5za6Jd36AFOF9mD1PEgZOAu4TH5.jpg";}i:7;a:8:{s:7:"cast_id";i:10;s:9:"character";s:0:"";s:9:"credit_id";s:24:"533acca1c3a36819c40059dc";s:6:"gender";i:0;s:2:"id";i:584745;s:4:"name";s:11:"Vasu Vikram";s:5:"order";i:8;s:12:"profile_path";s:32:"/5Fk9Y3ILYAzKgZWkOZemwOeW4Cs.jpg";}i:8;a:8:{s:7:"cast_id";i:11;s:9:"character";s:0:"";s:9:"credit_id";s:24:"533acca4c3a3680e96007c6e";s:6:"gender";i:2;s:2:"id";i:582185;s:4:"name";s:9:"Anu Mohan";s:5:"order";i:9;s:12:"profile_path";s:32:"/lssLkTfWjLNXssWyp49tI586UIx.jpg";}i:9;a:8:{s:7:"cast_id";i:12;s:9:"character";s:0:"";s:9:"credit_id";s:24:"533accb5c3a3680e7f007c1e";s:6:"gender";i:2;s:2:"id";i:544873;s:4:"name";s:5:"Dhamu";s:5:"order";i:10;s:12:"profile_path";s:32:"/vR76OIiUQzTkXLsN2CTtrAuP3lY.jpg";}i:10;a:8:{s:7:"cast_id";i:14;s:9:"character";s:0:"";s:9:"credit_id";s:24:"533accbbc3a3681cea000029";s:6:"gender";i:0;s:2:"id";i:584282;s:4:"name";s:10:"Balu Anand";s:5:"order";i:12;s:12:"profile_path";s:32:"/hAAFyKd4jm39GH09vGISIzCQduQ.jpg";}i:11;a:8:{s:7:"cast_id";i:15;s:9:"character";s:0:"";s:9:"credit_id";s:24:"533accbfc3a3680e96007c70";s:6:"gender";i:2;s:2:"id";i:544997;s:4:"name";s:18:"Venniradai Moorthy";s:5:"order";i:13;s:12:"profile_path";s:32:"/lgf6OegDJzwwoDll38qHH0QVzzh.jpg";}i:12;a:8:{s:7:"cast_id";i:16;s:9:"character";s:8:"Gayathri";s:9:"credit_id";s:24:"562dec61c3a3681b59009ed6";s:6:"gender";i:1;s:2:"id";i:1334054;s:4:"name";s:10:"Leema Babu";s:5:"order";i:14;s:12:"profile_path";s:32:"/5uywWdLHYD2m74JkrCGGh1PoxYc.jpg";}i:13;a:8:{s:7:"cast_id";i:18;s:9:"character";s:0:"";s:9:"credit_id";s:24:"5a9f8ec10e0a2641dd00eb88";s:6:"gender";i:2;s:2:"id";i:580891;s:4:"name";s:5:"Pandu";s:5:"order";i:15;s:12:"profile_path";s:32:"/rMp0TKuuKkQ49EcHIEsLP4vjozz.jpg";}}s:4:"crew";a:4:{i:0;a:7:{s:9:"credit_id";s:24:"533acc07c3a3680e76007d93";s:10:"department";s:9:"Directing";s:6:"gender";i:2;s:2:"id";i:960450;s:3:"job";s:8:"Director";s:4:"name";s:14:"R K Vidyadaran";s:12:"profile_path";N;}i:1;a:7:{s:9:"credit_id";s:24:"533acc0ac3a3680e96007c61";s:10:"department";s:5:"Sound";s:6:"gender";i:2;s:2:"id";i:237610;s:3:"job";s:5:"Music";s:4:"name";s:12:"Vijay Antony";s:12:"profile_path";s:32:"/6jrB6YSbJ7qabhrkhUa7AxQ6aOs.jpg";}i:2;a:7:{s:9:"credit_id";s:24:"533acc0dc3a3680e70007de4";s:10:"department";s:10:"Production";s:6:"gender";i:0;s:2:"id";i:591041;s:3:"job";s:8:"Producer";s:4:"name";s:10:"Thirumalai";s:12:"profile_path";N;}i:3;a:7:{s:9:"credit_id";s:24:"5a9f8d8bc3a3680a2000c75f";s:10:"department";s:6:"Camera";s:6:"gender";i:2;s:2:"id";i:1341175;s:3:"job";s:23:"Director of Photography";s:4:"name";s:19:"M. V. Panneerselvam";s:12:"profile_path";N;}}}s:6:"videos";a:1:{s:7:"results";a:0:{}}s:6:"images";a:2:{s:9:"backdrops";a:0:{}s:7:"posters";a:0:{}}s:8:"keywords";a:1:{s:8:"keywords";a:0:{}}s:7:"similar";a:4:{s:4:"page";i:1;s:7:"results";a:0:{}s:11:"total_pages";i:1;s:13:"total_results";i:0;}s:7:"reviews";a:4:{s:4:"page";i:1;s:7:"results";a:0:{}s:11:"total_pages";i:0;s:13:"total_results";i:0;}s:18:"alternative_titles";a:1:{s:6:"titles";a:1:{i:0;a:3:{s:10:"iso_3166_1";s:2:"IN";s:5:"title";s:15:"Rasikkum Semane";s:4:"type";s:0:"";}}}}s:10:"write_time";i:1527654884;s:10:"expired_in";i:47304000000;s:12:"expired_time";i:48831654884;}C4YLB+G hz#E7W}=$3 8 C M Xf%] b ai       ( 5 F<    \  q( & 0 $  #7 [ =w    U .Gv+  6H-v*%?]CUB:K] d p|zP   # 0 =KKPW7iF     K+$w+B; /9@A<&! C=2" % '84 7.50,$>*+#13 ?)(6-:Add new subset (greek, cyrillic, devanagari, vietnamese)no-subsetAdd widgets here to appear in your sidebar.Applied to the header on small screens and the sidebar on wide screens.Base Color SchemeBlueComment navigationComments are closed.Continue reading %sDarkDefaultEditFeaturedHeader and Sidebar Background ColorHeader and Sidebar Text ColorInconsolata font: on or offonIt looks like nothing was found at this location. Maybe try a search?It seems we can’t find what you’re looking for. Perhaps searching can help.Leave a comment on %sMenu and widgetsNewer CommentsNextNext ImageNext pageNext post:Nothing FoundNoto Sans font: on or offonNoto Serif font: on or offonOlder CommentsOops! That page can’t be found.Our 2015 default theme is clean, blog-focused, and designed for clarity. Twenty Fifteen's simple, straightforward typography is readable on a wide variety of screen sizes, and suitable for multiple languages. We designed it using a mobile-first approach, meaning your content takes center-stage, regardless of whether your visitors arrive by smartphone, tablet, laptop, or desktop computer.PagePages:Parent post linkPublished in%titlePinkPreviousPrevious ImagePrevious pagePrevious post:Primary MenuProudly powered by %sPublished byPurpleReady to publish your first post? Get started here.Search Results for: %sSkip to contentSocial Links MenuSorry, but nothing matched your search terms. Please try again with some different keywords.Twenty FifteenTwenty Fifteen requires at least WordPress version 4.1. You are running version %s. Please upgrade and try again.Used before category names.CategoriesUsed before full size attachment link.Full sizeUsed before post author name.AuthorUsed before post format.FormatUsed before publish date.Posted onUsed before tag names.TagsUsed between list items, there is a space after the comma., View all posts by %sWidget AreaYellowcollapse child menucomments title%1$s thought on “%2$s”%1$s thoughts on “%2$s”comments titleOne thought on “%s”expand child menuhttps://wordpress.org/https://wordpress.org/themes/twentyfifteen/the WordPress teamPO-Revision-Date: 2017-11-16 09:52:53+0000 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Plural-Forms: nplurals=2; plural=n != 1; X-Generator: GlotPress/2.4.0-alpha Language: sv_SE Project-Id-Version: Themes - Twenty Fifteen no-subsetLägg till widgets som ska visas i din sidopanel här.Anges som sidhuvud på små skärmar och sidofält på större skärmar.HuvudfärgschemaBlåKommentarsnavigeringKommentarer inaktiverade.Fortsätt läsa %sMörkFörvaldRedigeraUtvaldaBakgrundsfärg för sidhuvud och sidofältTextfärg för sidhuvud och sidofältpåDet verkar som inget kunde hittas för denna plats. Vill du kanske försöka med en sökning?Det verkar som det du letade efter inte kunde hittas. Kanske kan en sökning hjälpa.Lämna en kommentar på %sMeny och widgetsNyare kommentarerNästaNästa bildNästa sidaNästa inlägg:Inget kunde hittaspåpåÄldre kommentarerOops! Sidan kunde inte hittas.Vårt 2015-års standardtema är rent, bloggfokuserat, och utformat för tydlighet. Twenty Fifteens enkla, okomplicerad typografi är läsbar på en mängd olika skärmstorlekar och lämpar sig för flera språk. Vi designade det med 'mobile first'-metoden, vilket innebär att ditt innehåll tar första parkett, oavsett om dina besökare besöker din sida med smartphone, surfplatta, laptop eller stationär dator.SidaSidor:Publicerat i%titleRosaFöregåendeFöregående bildFöregående sidaFöregående inlägg:Primär menyDrivs med %sPublicerat avLilaÄr du redo att posta ditt första inlägg? Starta här.Sökresultat för: %sGå till innehållMeny för sociala länkarLedsen, inget matchade dina sökkriterier. Vänligen försök igen med andra nyckelord.Twenty FifteenTwenty Fifteen kräver minst WordPress version 4.1. Du använder version %s. Uppdatera och försök igen.KategorierFull storlekFörfattareFormatPostatEtiketter, Visa alla inlägg av %sWidgetfältGultminimera undermeny%1$s reaktion på ”%2$s”%1$s reaktioner på ”%2$s”En reaktion på “%s&rdquo;expandera undermenyhttps://wordpress.org/https://wordpress.org/themes/twentyfifteen/WordPress teameta:4:{s:5:"value";b:0;s:10:"write_time";i:1527654896;s:10:"expired_in";i:157680000;s:12:"expired_time";i:1685334896;}a:4:{s:5:"value";b:0;s:10:"write_time";i:1527654897;s:10:"expired_in";i:157680000;s:12:"expired_time";i:1685334897;}s|rss2|feed|commentsrss2)\.php$' => $this->index . '?feed=old', '.*wp-app\.php(/.*)?$' => $this->index . '?error=403', ); // Registration rules. $registration_pages = array(); if ( is_multisite() && is_main_site() ) { $registration_pages['.*wp-signup.php$'] = $this->index . '?signup=true'; $registration_pages['.*wp-activate.php$'] = $this->index . '?activate=true'; } // Deprecated. $registration_pages['.*wp-register.php$'] = $this->index . '?register=true'; // Post rewrite rules. $post_rewrite = $this->generate_rewrite_rules( $this->permalink_structure, EP_PERMALINK ); /** * Filters rewrite rules used for "post" archives. * * @since 1.5.0 * * @param array $post_rewrite The rewrite rules for posts. */ $post_rewrite = apply_filters( 'post_rewrite_rules', $post_rewrite ); // Date rewrite rules. $date_rewrite = $this->generate_rewrite_rules($this->get_date_permastruct(), EP_DATE); /** * Filters rewrite rules used for date archives. * * Likely date archives would include /yyyy/, /yyyy/mm/, and /yyyy/mm/dd/. * * @since 1.5.0 * * @param array $date_rewrite The rewrite rules for date archives. */ $date_rewrite = apply_filters( 'date_rewrite_rules', $date_rewrite ); // Root-level rewrite rules. $root_rewrite = $this->generate_rewrite_rules($this->root . '/', EP_ROOT); /** * Filters rewrite rules used for root-level archives. * * Likely root-level archives would include pagination rules for the homepage * as well as site-wide post feeds (e.g. /feed/, and /feed/atom/). * * @since 1.5.0 * * @param array $root_rewrite The root-level rewrite rules. */ $root_rewrite = apply_filters( 'root_rewrite_rules', $root_rewrite ); // Comments rewrite rules. $comments_rewrite = $this->generate_rewrite_rules($this->root . $this->comments_base, EP_COMMENTS, false, true, true, false); /** * Filters rewrite rules used for comment feed archives. * * Likely comments feed archives include /comments/feed/, and /comments/feed/atom/. * * @since 1.5.0 * * @param array $comments_rewrite The rewrite rules for the site-wide comments feeds. */ $comments_rewrite = apply_filters( 'comments_rewrite_rules', $comments_rewrite ); // Search rewrite rules. $search_structure = $this->get_search_permastruct(); $search_rewrite = $this->generate_rewrite_rules($search_structure, EP_SEARCH); /** * Filters rewrite rules used for search archives. * * Likely search-related archives include /search/search+query/ as well as * pagination and feed paths for a search. * * @since 1.5.0 * * @param array $search_rewrite The rewrite rules for search queries. */ $search_rewrite = apply_filters( 'search_rewrite_rules', $search_rewrite ); // Author rewrite rules. $author_rewrite = $this->generate_rewrite_rules($this->get_author_permastruct(), EP_AUTHORS); /** * Filters rewrite rules used for author archives. * * Likely author archives would include /author/author-name/, as well as * pagination and feed paths for author archives. * * @since 1.5.0 * * @param array $author_rewrite The rewrite rules for author archives. */ $author_rewrite = apply_filters( 'author_rewrite_rules', $author_rewrite ); // Pages rewrite rules. $page_rewrite = $this->page_rewrite_rules(); /** * Filters rewrite rules used for "page" post type archives. * * @since 1.5.0 * * @param array $page_rewrite The rewrite rules for the "page" post type. */ $page_rewrite = apply_filters( 'page_rewrite_rules', $page_rewrite ); // Extra permastructs. foreach ( $this->extra_permastructs as $permastructname => $struct ) { if ( is_array( $struct ) ) { if ( count( $struct ) == 2 ) $rules = $this->generate_rewrite_rules( $struct[0], $struct[1] ); else $rules = $this->generate_rewrite_rules( $struct['struct'], $struct['ep_mask'], $struct['paged'], $struct['feed'], $struct['forcomments'], $struct['walk_dirs'], $struct['endpoints'] ); } else { $rules = $this->generate_rewrite_rules( $struct ); } /** * Filters rewrite rules used for individual permastructs. * * The dynamic portion of the hook name, `$permastructname`, refers * to the name of the registered permastruct, e.g. 'post_tag' (tags), * 'category' (categories), etc. * * @since 3.1.0 * * @param array $rules The rewrite rules generated for the current permastruct. */ $rules = apply_filters( "{$permastructname}_rewrite_rules", $rules ); if ( 'post_tag' == $permastructname ) { /** * Filters rewrite rules used specifically for Tags. * * @since 2.3.0 * @deprecated 3.1.0 Use 'post_tag_rewrite_rules' instead * * @param array $rules The rewrite rules generated for tags. */ $rules = apply_filters( 'tag_rewrite_rules', $rules ); } $this->extra_rules_top = array_merge($this->extra_rules_top, $rules); } // Put them together. if ( $this->use_verbose_page_rules ) $this->rules = array_merge($this->extra_rules_top, $robots_rewrite, $deprecated_files, $registration_pages, $root_rewrite, $comments_rewrite, $search_rewrite, $author_rewrite, $date_rewrite, $page_rewrite, $post_rewrite, $this->extra_rules); else $this->rules = array_merge($this->extra_rules_top, $robots_rewrite, $deprecated_files, $registration_pages, $root_rewrite, $comments_rewrite, $search_rewrite, $author_rewrite, $date_rewrite, $post_rewrite, $page_rewrite, $this->extra_rules); /** * Fires after the rewrite rules are generated. * * @since 1.5.0 * * @param WP_Rewrite $this Current WP_Rewrite instance (passed by reference). */ do_action_ref_array( 'generate_rewrite_rules', array( &$this ) ); /** * Filters the full set of generated rewrite rules. * * @since 1.5.0 * * @param array $this->rules The compiled array of rewrite rules. */ $this->rules = apply_filters( 'rewrite_rules_array', $this->rules ); return $this->rules; } /** * Retrieves the rewrite rules. * * The difference between this method and WP_Rewrite::rewrite_rules() is that * this method stores the rewrite rules in the 'rewrite_rules' option and retrieves * it. This prevents having to process all of the permalinks to get the rewrite rules * in the form of caching. * * @since 1.5.0 * * @return array Rewrite rules. */ public function wp_rewrite_rules() { $this->rules = get_option('rewrite_rules'); if ( empty($this->rules) ) { $this->matches = 'matches'; $this->rewrite_rules(); if ( ! did_action( 'wp_loaded' ) ) { add_action( 'wp_loaded', array( $this, 'flush_rules' ) ); return $this->rules; } update_option('rewrite_rules', $this->rules); } return $this->rules; } /** * Retrieves mod_rewrite-formatted rewrite rules to write to .htaccess. * * Does not actually write to the .htaccess file, but creates the rules for * the process that will. * * Will add the non_wp_rules property rules to the .htaccess file before * the WordPress rewrite rules one. * * @since 1.5.0 * * @return string */ public function mod_rewrite_rules() { if ( ! $this->using_permalinks() ) return ''; $site_root = parse_url( site_url() ); if ( isset( $site_root['path'] ) ) $site_root = trailingslashit($site_root['path']); $home_root = parse_url(home_url()); if ( isset( $home_root['path'] ) ) $home_root = trailingslashit($home_root['path']); else $home_root = '/'; $rules = "\n"; $rules .= "RewriteEngine On\n"; $rules .= "RewriteBase $home_root\n"; // Prevent -f checks on index.php. $rules .= "RewriteRule ^index\.php$ - [L]\n"; // Add in the rules that don't redirect to WP's index.php (and thus shouldn't be handled by WP at all). foreach ( (array) $this->non_wp_rules as $match => $query) { // Apache 1.3 does not support the reluctant (non-greedy) modifier. $match = str_replace('.+?', '.+', $match); $rules .= 'RewriteRule ^' . $match . ' ' . $home_root . $query . " [QSA,L]\n"; } if ( $this->use_verbose_rules ) { $this->matches = ''; $rewrite = $this->rewrite_rules(); $num_rules = count($rewrite); $rules .= "RewriteCond %{REQUEST_FILENAME} -f [OR]\n" . "RewriteCond %{REQUEST_FILENAME} -d\n" . "RewriteRule ^.*$ - [S=$num_rules]\n"; foreach ( (array) $rewrite as $match => $query) { // Apache 1.3 does not support the reluctant (non-greedy) modifier. $match = str_replace('.+?', '.+', $match); if ( strpos($query, $this->index) !== false ) $rules .= 'RewriteRule ^' . $match . ' ' . $home_root . $query . " [QSA,L]\n"; else $rules .= 'RewriteRule ^' . $match . ' ' . $site_root . $query . " [QSA,L]\n"; } } else { $rules .= "RewriteCond %{REQUEST_FILENAME} !-f\n" . "RewriteCond %{REQUEST_FILENAME} !-d\n" . "RewriteRule . {$home_root}{$this->index} [L]\n"; } $rules .= "\n"; /** * Filters the list of rewrite rules formatted for output to an .htaccess file. * * @since 1.5.0 * * @param string $rules mod_rewrite Rewrite rules formatted for .htaccess. */ $rules = apply_filters( 'mod_rewrite_rules', $rules ); /** * Filters the list of rewrite rules formatted for output to an .htaccess file. * * @since 1.5.0 * @deprecated 1.5.0 Use the mod_rewrite_rules filter instead. * * @param string $rules mod_rewrite Rewrite rules formatted for .htaccess. */ return apply_filters( 'rewrite_rules', $rules ); } /** * Retrieves IIS7 URL Rewrite formatted rewrite rules to write to web.config file. * * Does not actually write to the web.config file, but creates the rules for * the process that will. * * @since 2.8.0 * * @param bool $add_parent_tags Optional. Whether to add parent tags to the rewrite rule sets. * Default false. * @return string IIS7 URL rewrite rule sets. */ public function iis7_url_rewrite_rules( $add_parent_tags = false ) { if ( ! $this->using_permalinks() ) return ''; $rules = ''; if ( $add_parent_tags ) { $rules .= ' '; } $rules .= ' '; if ( $add_parent_tags ) { $rules .= ' '; } /** * Filters the list of rewrite rules formatted for output to a web.config. * * @since 2.8.0 * * @param string $rules Rewrite rules formatted for IIS web.config. */ return apply_filters( 'iis7_url_rewrite_rules', $rules ); } /** * Adds a rewrite rule that transforms a URL structure to a set of query vars. * * Any value in the $after parameter that isn't 'bottom' will result in the rule * being placed at the top of the rewrite rules. * * @since 2.1.0 * @since 4.4.0 Array support was added to the `$query` parameter. * * @param string $regex Regular expression to match request against. * @param string|array $query The corresponding query vars for this rewrite rule. * @param string $after Optional. Priority of the new rule. Accepts 'top' * or 'bottom'. Default 'bottom'. */ public function add_rule( $regex, $query, $after = 'bottom' ) { if ( is_array( $query ) ) { $external = false; $query = add_query_arg( $query, 'index.php' ); } else { $index = false === strpos( $query, '?' ) ? strlen( $query ) : strpos( $query, '?' ); $front = substr( $query, 0, $index ); $external = $front != $this->index; } // "external" = it doesn't correspond to index.php. if ( $external ) { $this->add_external_rule( $regex, $query ); } else { if ( 'bottom' == $after ) { $this->extra_rules = array_merge( $this->extra_rules, array( $regex => $query ) ); } else { $this->extra_rules_top = array_merge( $this->extra_rules_top, array( $regex => $query ) ); } } } /** * Adds a rewrite rule that doesn't correspond to index.php. * * @since 2.1.0 * * @param string $regex Regular expression to match request against. * @param string $query The corresponding query vars for this rewrite rule. */ public function add_external_rule( $regex, $query ) { $this->non_wp_rules[ $regex ] = $query; } /** * Adds an endpoint, like /trackback/. * * @since 2.1.0 * @since 3.9.0 $query_var parameter added. * @since 4.3.0 Added support for skipping query var registration by passing `false` to `$query_var`. * * @see add_rewrite_endpoint() for full documentation. * @global WP $wp * * @param string $name Name of the endpoint. * @param int $places Endpoint mask describing the places the endpoint should be added. * @param string|bool $query_var Optional. Name of the corresponding query variable. Pass `false` to * skip registering a query_var for this endpoint. Defaults to the * value of `$name`. */ public function add_endpoint( $name, $places, $query_var = true ) { global $wp; // For backward compatibility, if null has explicitly been passed as `$query_var`, assume `true`. if ( true === $query_var || null === func_get_arg( 2 ) ) { $query_var = $name; } $this->endpoints[] = array( $places, $name, $query_var ); if ( $query_var ) { $wp->add_query_var( $query_var ); } } /** * Adds a new permalink structure. * * A permalink structure (permastruct) is an abstract definition of a set of rewrite rules; * it is an easy way of expressing a set of regular expressions that rewrite to a set of * query strings. The new permastruct is added to the WP_Rewrite::$extra_permastructs array. * * When the rewrite rules are built by WP_Rewrite::rewrite_rules(), all of these extra * permastructs are passed to WP_Rewrite::generate_rewrite_rules() which transforms them * into the regular expressions that many love to hate. * * The `$args` parameter gives you control over how WP_Rewrite::generate_rewrite_rules() * works on the new permastruct. * * @since 2.5.0 * * @param string $name Name for permalink structure. * @param string $struct Permalink structure (e.g. category/%category%) * @param array $args { * Optional. Arguments for building rewrite rules based on the permalink structure. * Default empty array. * * @type bool $with_front Whether the structure should be prepended with `WP_Rewrite::$front`. * Default true. * @type int $ep_mask The endpoint mask defining which endpoints are added to the structure. * Accepts `EP_NONE`, `EP_PERMALINK`, `EP_ATTACHMENT`, `EP_DATE`, `EP_YEAR`, * `EP_MONTH`, `EP_DAY`, `EP_ROOT`, `EP_COMMENTS`, `EP_SEARCH`, `EP_CATEGORIES`, * `EP_TAGS`, `EP_AUTHORS`, `EP_PAGES`, `EP_ALL_ARCHIVES`, and `EP_ALL`. * Default `EP_NONE`. * @type bool $paged Whether archive pagination rules should be added for the structure. * Default true. * @type bool $feed Whether feed rewrite rules should be added for the structure. Default true. * @type bool $forcomments Whether the feed rules should be a query for a comments feed. Default false. * @type bool $walk_dirs Whether the 'directories' making up the structure should be walked over * and rewrite rules built for each in-turn. Default true. * @type bool $endpoints Whether endpoints should be applied to the generated rules. Default true. * } */ public function add_permastruct( $name, $struct, $args = array() ) { // Back-compat for the old parameters: $with_front and $ep_mask. if ( ! is_array( $args ) ) $args = array( 'with_front' => $args ); if ( func_num_args() == 4 ) $args['ep_mask'] = func_get_arg( 3 ); $defaults = array( 'with_front' => true, 'ep_mask' => EP_NONE, 'paged' => true, 'feed' => true, 'forcomments' => false, 'walk_dirs' => true, 'endpoints' => true, ); $args = array_intersect_key( $args, $defaults ); $args = wp_parse_args( $args, $defaults ); if ( $args['with_front'] ) $struct = $this->front . $struct; else $struct = $this->root . $struct; $args['struct'] = $struct; $this->extra_permastructs[ $name ] = $args; } /** * Removes a permalink structure. * * @since 4.5.0 * * @param string $name Name for permalink structure. */ public function remove_permastruct( $name ) { unset( $this->extra_permastructs[ $name ] ); } /** * Removes rewrite rules and then recreate rewrite rules. * * Calls WP_Rewrite::wp_rewrite_rules() after removing the 'rewrite_rules' option. * If the function named 'save_mod_rewrite_rules' exists, it will be called. * * @since 2.0.1 * * @staticvar bool $do_hard_later * * @param bool $hard Whether to update .htaccess (hard flush) or just update rewrite_rules option (soft flush). Default is true (hard). */ public function flush_rules( $hard = true ) { static $do_hard_later = null; // Prevent this action from running before everyone has registered their rewrites. if ( ! did_action( 'wp_loaded' ) ) { add_action( 'wp_loaded', array( $this, 'flush_rules' ) ); $do_hard_later = ( isset( $do_hard_later ) ) ? $do_hard_later || $hard : $hard; return; } if ( isset( $do_hard_later ) ) { $hard = $do_hard_later; unset( $do_hard_later ); } update_option( 'rewrite_rules', '' ); $this->wp_rewrite_rules(); /** * Filters whether a "hard" rewrite rule flush should be performed when requested. * * A "hard" flush updates .htaccess (Apache) or web.config (IIS). * * @since 3.7.0 * * @param bool $hard Whether to flush rewrite rules "hard". Default true. */ if ( ! $hard || ! apply_filters( 'flush_rewrite_rules_hard', true ) ) { return; } if ( function_exists( 'save_mod_rewrite_rules' ) ) save_mod_rewrite_rules(); if ( function_exists( 'iis7_save_url_rewrite_rules' ) ) iis7_save_url_rewrite_rules(); } /** * Sets up the object's properties. * * The 'use_verbose_page_rules' object property will be set to true if the * permalink structure begins with one of the following: '%postname%', '%category%', * '%tag%', or '%author%'. * * @since 1.5.0 */ public function init() { $this->extra_rules = $this->non_wp_rules = $this->endpoints = array(); $this->permalink_structure = get_option('permalink_structure'); $this->front = substr($this->permalink_structure, 0, strpos($this->permalink_structure, '%')); $this->root = ''; if ( $this->using_index_permalinks() ) $this->root = $this->index . '/'; unset($this->author_structure); unset($this->date_structure); unset($this->page_structure); unset($this->search_structure); unset($this->feed_structure); unset($this->comment_feed_structure); $this->use_trailing_slashes = ( '/' == substr($this->permalink_structure, -1, 1) ); // Enable generic rules for pages if permalink structure doesn't begin with a wildcard. if ( preg_match("/^[^%]*%(?:postname|category|tag|author)%/", $this->permalink_structure) ) $this->use_verbose_page_rules = true; else $this->use_verbose_page_rules = false; } /** * Sets the main permalink structure for the site. * * Will update the 'permalink_structure' option, if there is a difference * between the current permalink structure and the parameter value. Calls * WP_Rewrite::init() after the option is updated. * * Fires the {@see 'permalink_structure_changed'} action once the init call has * processed passing the old and new values * * @since 1.5.0 * * @param string $permalink_structure Permalink structure. */ public function set_permalink_structure($permalink_structure) { if ( $permalink_structure != $this->permalink_structure ) { $old_permalink_structure = $this->permalink_structure; update_option('permalink_structure', $permalink_structure); $this->init(); /** * Fires after the permalink structure is updated. * * @since 2.8.0 * * @param string $old_permalink_structure The previous permalink structure. * @param string $permalink_structure The new permalink structure. */ do_action( 'permalink_structure_changed', $old_permalink_structure, $permalink_structure ); } } /** * Sets the category base for the category permalink. * * Will update the 'category_base' option, if there is a difference between * the current category base and the parameter value. Calls WP_Rewrite::init() * after the option is updated. * * @since 1.5.0 * * @param string $category_base Category permalink structure base. */ public function set_category_base($category_base) { if ( $category_base != get_option('category_base') ) { update_option('category_base', $category_base); $this->init(); } } /** * Sets the tag base for the tag permalink. * * Will update the 'tag_base' option, if there is a difference between the * current tag base and the parameter value. Calls WP_Rewrite::init() after * the option is updated. * * @since 2.3.0 * * @param string $tag_base Tag permalink structure base. */ public function set_tag_base( $tag_base ) { if ( $tag_base != get_option( 'tag_base') ) { update_option( 'tag_base', $tag_base ); $this->init(); } } /** * Constructor - Calls init(), which runs setup. * * @since 1.5.0 * */ public function __construct() { $this->init(); } }