Menu
Is free
check in
the main  /  Firmware / Bean HTML Modules PHP Name. Creating your own style for modules

Bean HTML Modules PHP Name. Creating your own style for modules

We superficially touched the themes of content output methods in the Template body. Let us now look in detail what it is and with what it is eaten. So, the ads of the method jDOC is present in each joomla template and displayed into the body of the template (I mean the site page) of this or that information. In general, the ad method is as follows.

This line displays information on the site from components, such as Articles from COM_CONTENT. The type of output elements is specified in the attribute.

1. Type - Types of output elements.

  • component. - As wrote above, displays the main content of the page. Can be called only once in the template.
  • head. - declared just once after the operating tag . Serves to output styles, scripts, and the current page metadata.</li><li><i>message</i><i>- </i> Displays system messages. Announced once in the body of the document (Body).</li><li><i>installation.</i> - nothing displays and represents "instructions" for installation.</li><li><i>module -</i>displays a single module on the page. The number of ads is not limited.</li><li><i>modules.</i> - Unlike the previous type, it allows you to output in its position not a single number of modules.</li> </ul><p>For the first four specified types, just specify them on the page. In the case of the type of module, the task is slightly complicated. In order to display the module on the page we need to first create for it <b>modular position</b> from <a href="https://mkr-novo2.ru/en/education/gde-hranyatsya-sessii-php-php-sessii-pod-skalpelem-kak-rabotayut-php.html">unique identifier</a> (Module's position name). This is done using the Name attribute \u003d "position name" and the mandatory addition of a string:</p><p> <position>name position</position> to the templateetails.xml file. Describing the position name in templateetails.xml, we denote it in the system and see in the module manager. Position names can be arbitrary, although Name \u003d "User3" position, is used by default to display the top menu.</p><p><b>2. Style - Description of output style (MOD Chrome).</b></p> <p>From the specified style depends <a href="https://mkr-novo2.ru/en/navigation/nastroika-yealink-w52p-dlya-ip-telefonii-yealink-w52p---besprovodnaya-voip-dect-sistema.html">appearance</a> and the structure of the module shell. Looks like</p><p> :<jdoc:include type="modules" name="user1" style="xhtml" /> By default, several module output styles are laid:</p><ul><li><i>xHTML -</i> Displays a module in a block with Function Modchrome_XHTML heading ($ Module, & $ Params, & $ ATTRIBS) <br>{<br> If (! Empty ($ Module-\u003e Content)):?\u003e <br> <div class="moduletable<?php echo htmlspecialchars($params->get ("moduleclass_sfx")); ?\u003e "\u003e <br> <?php if ($module->showtitle! \u003d 0):?\u003e <br> <h3><?php echo $module->title; ?\u003e</h3><br> <?php endif; ?><br> <?php echo $module->content; ?\u003e <br> </div><br> <?php endif;<br>}</li><li><i>table -</i>displays a module in the layout of the tabular structure <br> FUNCTION MODCHROME_TABLE ($ Module, & $ Params, & $ ATTRIBS) <br>{ ?><br> <table cellpadding="0" cellspacing="0" class="moduletable<?php echo htmlspecialchars($params->get ("moduleclass_sfx")); ?\u003e "\u003e <br> <?php if ($module->showtitle! \u003d 0):?\u003e <br> <tr><br> <th><br> <?php echo $module->title; ?\u003e <br> </th><br> </tr><br> <?php endif; ?><br> <tr><br> <td><br> <?php echo $module->content; ?\u003e <br> </td><br> </tr><br> </table><br> <?php<br>}</li><li><i>horz -</i>displays the contents of the module in the table cell, horizontally function modchrome_horz ($ Module, & $ Params, & $ ATTRIBS) <br>{ ?><br> <table cellspacing="1" cellpadding="0" width="100%"><br> <tr><br> <td><br> <?php modChrome_table($module, $params, $attribs); ?><br> </td><br> </tr><br> </table><br> <?php<br>}</li><li><i>rounded.</i> - Displays a module in several nested blocks for complex style design in the form of graphic boundaries (eg rounded angles) FUNCTION MODCHROME_ROUNED ($ Module, & $ Params, & $ ATTRIBS) <br>{ ?><br> <div class="module<?php echo htmlspecialchars($params->get ("moduleclass_sfx")); ?\u003e "\u003e <br> <div><br> <div><br> <div><br> <?php if ($module->showtitle! \u003d 0):?\u003e <br> <h3><?php echo $module->title; ?\u003e</h3><br> <?php endif; ?><br> <?php echo $module->content; ?\u003e <br> </div><br> </div><br> </div><br> </div><br> <?php<br>}</li><li><i>outline</i> - adds to block module preset styles CSS FUNCTION Modchrome_outline ($ Module, & $ Params, & $ ATTRIBS) <br>{<br> Static $ CSS \u003d False; <br> If (! $ CSS) <br> {<br> $ CSS \u003d True; <br> jimport ("joomla.environment.browser"); <br> $ doc \u003d jfactory :: getdocument (); <br> $ browser \u003d jbrowser :: getInstance (); <br> $ doc-\u003e addstyledeclaration (". mod-preview-info (Padding: 2px 4px 2px 4px; Border: 1px Solid Black; Position: absolute; background-color: White; color: red;)"); <br> $ DOC-\u003e AddStyleDeclaration (". Mod-Preview-Wrapper (Background-Color: #ee; Border: 1px Dotted Black; Color: # 700;)"); <br> if ($ browser-\u003e getBrowser () \u003d\u003d "MSIE") <br> {<br> If ($ Browser-\u003e GetMajor ()<= 7) {<br> $ DOC-\u003e AddStyleDeclaration (". mod-preview-info (Filter: Alpha (opacity \u003d 80);)"); <br> $ DOC-\u003e AddStyledeclaration (". Mod-Preview-Wrapper (Filter: Alpha (opacity \u003d 50);)"); <br> } <br> ELSE ( <br> $ DOC-\u003e AddStyledeclaration (". mod-preview-info (-ms-filter: alpha (opacity \u003d 80);)"); <br> $ Doc-\u003e AddStyleDeclaration (". mod-preview-wrapper (-ms-filter: alpha (opacity \u003d 50);)"); <br> } <br> } <br> ELSE. <br> {<br> $ doc-\u003e addstyledeclaration (". mod-preview-info (OPACITY: 0.8;)"); <br> $ DOC-\u003e AddStyledeclaration (". Mod-Preview-Wrapper (OPACITY: 0.5;)"); <br> } <br> } <br> ?><br> <div class="mod-preview"><br> <div class="mod-preview-info"><?php echo $module->position. "[". $ Module-\u003e Style. "]"; ?\u003e</div><br> <div class="mod-preview-wrapper"><br> <?php echo $module->content; ?\u003e <br> </div><br> </div><br> <?php<br>}</li><li><i>none</i> - Similarly, not specified in general STYLE. Displays a module without registration and header Function Modchrome_None ($ Module, & $ Params, & $ ATTRIBS) <br>{<br> Echo $ Module-\u003e Content; <br>}</li> </ul><p>All preset styles are located in the TEMPLATES / SYSTEM / HTML / MODULES.php file. But we are not limited to the use of only the options provided, but may well create their own.</p> <p><b>3. Creating a custom Mode Chrome.</b></p> <p><b><br></b>So, the default types of modules representations do not satisfy current requirements. You need to add your own design style. As an example, choose a fairly repeated situation. On the task you need instead <h3> Place the title of the module in tag <span>which is semantically neutral. It is also necessary to place the content of the module in a separate <div>. To create your own style output style, we use standard tools. In most templates, the Joomla has a folder HTML / (templates / template name / html /), is used for the so-called template. That is, if you copy the module template to this folder, then instead of the template from the Modules / My_Module / TMPL / DEFAULT directory, the file from templates / template name / html / my_modules / default will be displayed. Similarly, components are defined. Convenient and practical. In the HTML / folder of your template, create a Modules.php file. If there is no such folder in the template, then create it. In the file write</p><p> <?php<br>fUNCTION MODCHROME_MODBOX ($ Module, & $ Params, & $ ATTRIBS) // Call a function <br>{<br> if (! Empty ($ module-\u003e content)): / * Check the presence in the search for the included module * /?\u003e <br> <div class="moduletable<?php echo htmlspecialchars($params->get ("moduleclass_sfx")); / * Remove the soffika CSS class module * /?\u003e "\u003e <br> <?php if ($module->showtitle! \u003d 0): / * Check whether the module header is enabled * /?\u003e <br> <span class="title"><?php echo $module->title; / * Display the title * /?\u003e</span><br> <?php endif; ?><br> <div class="modcontent"><br> <?php echo $module->content; / * Display the contents of the module * /?\u003e <br> </div><br> </div><br> <?php endif;<br>} <br>?\u003e Ready. Now you only need to specify it as an output style. <jdoc:include type="modules" name="user1" style="modbox"/> We assign a module to our position and see the result.</p> <p>EM element is an excerpt of text with an emphasized accent. You can use it to draw the reader's attention to the meaning of the proposal or paragraph. I will tell you that it means, after which the EM element is described.</p><blockquote><b>Table 8-6:</b> Em element</blockquote><blockquote><b>Figure 8-3:</b> Using EM element</blockquote><p>In this example, I put the focus on I (I) at the beginning of the sentence. If you think about EM element, then when you pronounce a sentence, we consider the question that this offer is a response to the question. For example, imagine that I asked: "Who loves apples and oranges?" Your answer will be: "I love apples and oranges." (When you pronounce it out loud and put the focus on me, you give to understand that you are a person who loves these fruits).</p><p>But if I asked: "Do you like apples and what else?" You could answer: "I love apples and oranges (Oranges)." In this case, the emphasis will be made on the last word, emphasizing that oranges are another fruit you like. This option in HTML would look like this:</p><p>I Like Apples and <b><em> </b>oranges. <b></em> </b>.</p><h3>Determination of foreign words and technical terms</h3><p>The element I denotes a part of the text that has a different nature than the surrounding content. This is a rather vague definition, but general examples include words from other languages, technical or scientific terms and even human thoughts (in contrast to speech). The element I described.</p><blockquote><b>Table 8-7:</b> Element I.</blockquote><blockquote><b>Figure 8-5:</b> Using the element S.</blockquote><br><img src='https://i2.wp.com/storage.smarly.net/html5/8.5.png' width="100%" loading=lazy loading=lazy><h3>Defining an important text</h3><p>The Strong element denotes the text excerpt that is important. The in describes this item.</p><blockquote><b>Table 8-9:</b> Element strong</blockquote><blockquote><b>Figure 8-7:</b> Using the Element U.</blockquote><br><img src='https://i2.wp.com/storage.smarly.net/html5/8.7.png' width="100%" loading=lazy loading=lazy><h3>Adding a small font</h3><p>The small element indicates a small font and is often used for reservations and clarifications. The Small element is presented.</p><blockquote><b>Table 8-11:</b> Small element</blockquote><blockquote><b>Figure 8-8:</b> Using the small element</blockquote><br><img src='https://i2.wp.com/storage.smarly.net/html5/8.8.png' width="100%" loading=lazy loading=lazy><h3>Adding upper and lower index</h3><p>You can use the elements of SUB and SUP to indicate the upper and lower index, respectively. Upper indexes are used to write words in some languages, and both, upper and lower indices are used in simple mathematical expressions. These elements are presented.</p><blockquote><b>Table 8-12:</b> Elements sub and sup</blockquote><blockquote><b>Figure 8-9:</b> Use sub and sup elements</blockquote><br><img src='https://i0.wp.com/storage.smarly.net/html5/8.9.png' width="100%" loading=lazy loading=lazy> <p>Chrome is the final processing of the HTML -Code of the module before inserting it into the main website template. There are several predefined chrome-styles (Table, Horz, Xhtml, Rounded, Outline), but not always what is suitable for solving current tasks.</p> <p>To determine your own display style in the template, you need to create a "modules.php" file in the "HTML" directory. That is, for the template named "My_Template", the file should be placed here - "templates / my_template / html / modules.php".</p> <p>In this file, you must define a function called "modchrome_style" where Style is your name of your style. This feature will take three arguments - $ Module, & $ Params and & $ ATTRIBS as shown below:</p> <p>function Modchrome_Style ($ Module, & $ Params, & $ ATTRIBS) (/ * Processing and output of the HTML code of the module * /)</p> <p>In this feature, you can use any PHP code, as well as all the parameters of the module itself, its properties and any data stored in the Joomla database will also be available. Mostly there are only the following</p> <ul><li>$ Module-\u003e Content - Content of the module itself, direct HTML code.</li> <li>$ Module-\u003e Title - the name of the module specified in the control panel in the module manager.</li> <li>$ Module-\u003e Showtitle - flag, show the name or not (True or False).</li> </ul><p>The modchrome_style function is an ordinary php function, you can use absolutely any PHP code here. Below is an example if the title display is turned on in the module settings, the header text is displayed before the content of the module.</p> <p>function Modchrome_Style ($ Module, & $ Params, & $ ATTRIBS) (IF ($ Module-\u003e Showtitle) (Echo " <h2>"$ Module-\u003e Title."</h2>";) Echo $ Module-\u003e Content;)</p> <p>It is possible to refer to any parameters of the module. For example, the variance of the class module</p> <p><div class="<?php echo $params->get ("moduleclass_sfx"); ?\u003e "\u003e<!-- div contents --> </div></p> <p>You can also add your attributes that are used in Chrome into the position code. To do this in the position tag <jdoc:include /> Add your own attributes. The names of additional attributes can be specified arbitrary, they will all be transmitted to the $ attribs associative array.</p> <h4>Practical example Chrome functions:</h4> <p>function Modchrome_custom ($ Module, $ Params, $ ATTRIBS) (IF (ISSET ($ ATTRIBS ["Headerlevel \u003d $ ATTRIBS [" Headerlevel "];) ELSE ($ Headerlevel \u003d 3;) if (ISSET ($ attribs ["background"])) ($ background \u003d $ attribs ["background"];) else ($ background \u003d "blue";) echo " <div >"; if ($ Module-\u003e Showtitle) (Echo" <h" .$headerLevel .">"$ Module-\u003e Title."</h" .$headerLevel .">";) Echo" <div class=".$background.">"; Echo $ Module-\u003e Content; Echo"</div>"; Echo"</div>"; }</p> <h4>Practical examples of using the "MODCHROME_CUSTOM" function</h4> <p><!-- вызов в шаблоне --> <jdoc:include type="modules" name="user1" style="custom" /> <!-- HTML-код на выходе --> <div> <h3><!-- Module title --></h3> <div class="blue"> <!-- Module content --> </div> </div></p> <p><!-- вызов в шаблоне --> <jdoc:include type="modules" name="user1" style="custom" background="green" /> <!-- HTML-код на выходе --> <div> <h3><!-- Module title --></h3> <div class="green"> <!-- Module content --> </div> </div></p> <p><!-- вызов в шаблоне --> <jdoc:include type="modules" name="user1" style="custom" headerLevel="1" background="yellow" /> <!-- HTML-код на выходе --> <div> <h1><!-- Module title --></h1> <div class="yellow"> <!-- Module content --> </div> </div></p> <p>One of the most important advantages of PHP is how it works with HTML forms. Here the main thing is that each element of the form automatically becomes available to your PHP programs. For detailed information on the use of forms in PHP, read the section. Here is an example of an HTML form:</p> <p><b>Example # 1 simple HTML form</b></p> <p><form action="action.php" method="post"> <p>Your name: <input type="text" name="name" /></p> <p>Your age: <input type="text" name="age" /></p> <p><input type="submit" /></p> </form></p> <p>In this form there is nothing special. This is an ordinary HTML form without any special tags. When the user fills the form and press the send button, the Action.php page will be called. This file may be something like:</p> <p><b>Example # 2 Display these forms</b></p> <p>Hello,<?php echo htmlspecialchars ($_POST [ "name" ]); ?> .<br>You<?php echo (int) $_POST [ "age" ]; ?> years.</p> <p>An example of the output of this program:</p> <p>Hello, Sergey. You are 30 years old.</p> <p>If you do not take into account the pieces of code with <span><a href="https://mkr-novo2.ru/en/function.htmlspecialchars.php" class="function">hTMLSPECIALCHARS ()</a> </span> and <i>(int)</i>The principle of operation of this code should be simple and understandable. <span><a href="https://mkr-novo2.ru/en/function.htmlspecialchars.php" class="function">hTMLSPECIALCHARS ()</a> </span> Provides the correct encoding of "special" HTML characters so that malicious HTML or JavaScript is inserted into your page. The age field about which we know that it should be a number we can just <a href="https://mkr-novo2.ru/en/language.types.type-juggling.php#language.types.typecasting" class="link">transform</a> in <span><a href="https://mkr-novo2.ru/en/language.types.integer.php" class="type integer">integer</a> </span>that automatically relieves us from unwanted characters. PHP can also do it automatically by expansion <a href="https://mkr-novo2.ru/en/ref.filter.php" class="link">filter.</a> . Variables <a href="https://mkr-novo2.ru/en/reserved.variables.post.php" class="classname">$ _Post ["Name"]</a> and <a href="https://mkr-novo2.ru/en/reserved.variables.post.php" class="classname">$ _Post ["Age"]</a> Automatically installed for you with PHP. Earlier we used a superglobal variable <a href="https://mkr-novo2.ru/en/reserved.variables.server.php" class="classname">$ _Server.</a> here we also use the superglobal variable <a href="https://mkr-novo2.ru/en/reserved.variables.post.php" class="classname">$ _Post.</a> which contains all POST data. notice, that <i>send method</i> (Method) Our form is POST. If we used the method <i>Get.</i>then the information of our form would be in a superglobal variable <a href="https://mkr-novo2.ru/en/reserved.variables.get.php" class="classname">$ _Get.</a> . In addition, you can use a variable <a href="https://mkr-novo2.ru/en/reserved.variables.request.php" class="classname">$ _Request.</a> If the data source does not matter. This variable contains a mixture of data GET, POST, COOKIE.</p> <p><b>15 YEARS AGO.</b></p> <p>According to the HTTP Specification, You SHOULD USE THE POST METHOD WHEN YOU "RE USING THE FORM TO CHANGE THE STATE OF SOMETHING ON THE SERVER END. FOR EXLOW, IF A Page HAS A FORM TO ALLOW TO ALLOV TO Add their Own Comments, Like this Page Here, The Form Should Use POST. If you click "Reload" Or "refresh" on a post, it "s Almost Always An Error - You Shouldn" T Be Posting the Same Comment Twice - Which is Why These Pages Arena "t Bookmarked or Cached.</p><p>You Should Use The Get Method WHEN YOUR FORM IS, WELL, Getting Something Off The Server and Not Actually Changing Anything. For example, The Form for A Search Engine Should Use Get Be Changing Anything That The Client Might Care Anything, And Bookmarking Or Caching The Results Of A Search-Engine Query Is Just As Useful AS Bookmarking or Caching A STATIC HTML PAGE.</p> <p><b>2 Years Ago.</b></p> <p>Worth Clarifying:</p><p>POST IS NOT MORE SECURE THAN GET.</p><p>The Reasons for Choosing Get VS Post Involve Various Factors SUCH AS INTENT OF THE REQUEST (ARE LIMITS TO HOW LONG A URL CAN BE, AND GET PARAMETERS A SENT IN THE URL), and How Easily You Want The Action to Be Shareable - Example, Google Search Ire Get Because It Makes It Easy to Copy and Share The Search Query With Someone Else Simply by Sharing The URL.</p><p>Security Is Only A Consideration Here Due To the Fact That a Get Is Easier to Share Than A Post. Example: You don "T Want A Password to Be Sent by Get, Because the user Might Share The ReSulting Url and Inadvertently Expose Their Password.</p><p>HOWEVER, A GET AND A POST AER EQUALLY EASY TO INTERCEPT by A Well-Placed Malicious Person If You Don "T Deploy TLS / SSL to Protect The Network Connection Itself.</p><p>All Forms Sent Over Http (Usally Port 80) Are Insecure, And Today (2017), There Arena "T Many Good ReaSons for a Public Website to Not Be using HTTPS (Which is basicly HTTP + Transport Layer Security).</p><p>AS A BONUS, IF You Use TLS You Minimise The Risk of Your Users Getting Code (ADS) Injected Into Your Traffic That Wasn "T Put There By You.</p> <script>document.write("<img style='display:none;' src='//counter.yadro.ru/hit;artfast_after?t44.1;r"+ escape(document.referrer)+((typeof(screen)=="undefined")?"": ";s"+screen.width+"*"+screen.height+"*"+(screen.colorDepth? screen.colorDepth:screen.pixelDepth))+";u"+escape(document.URL)+";h"+escape(document.title.substring(0,150))+ ";"+Math.random()+ "border='0' width='1' height='1' loading=lazy loading=lazy>");</script> </div> </div> </div> </div> <aside class="col-lg-4 col-md-12 col-md-offset-4 col-lg-offset-0" id="right"> <div> </div> <br/> <div> </div> <br/> <div> </div> <br/> <div> </div> <br/> </aside> </div> </div> </div> <div class="popup" id="share"> <div class="perfect-scroll" style="text-align: center"> <div style="margin-bottom: 20px"> <strong> Downloading will now begin ...</strong> <br> Do not forget to share the material. <br>in social networks with your <br> Colleagues</div> <div> <div class="ya-share2" data-services="vkontakte,facebook,odnoklassniki,moimir,gplus" data-counter=""></div> </div> </div> <div class="close-pop pull-right"> <svg width="10px" height="10px" viewBox="0 0 10 10"> <path fillrule="evenodd" d="M 6.41 5C 6.41 5 9.24 7.83 9.24 7.83 9.63 8.22 9.63 8.85 9.24 9.24 8.85 9.63 8.22 9.63 7.83 9.24 7.83 9.24 5 6.41 5 6.41 5 6.41 2.17 9.24 2.17 9.24 1.78 9.63 1.15 9.63 0.76 9.24 0.37 8.85 0.37 8.22 0.76 7.83 0.76 7.83 3.59 5 3.59 5 3.59 5 0.76 2.17 0.76 2.17 0.37 1.78 0.37 1.15 0.76 0.76 1.15 0.37 1.78 0.37 2.17 0.76 2.17 0.76 5 3.58 5 3.58 5 3.58 7.83 0.76 7.83 0.76 8.22 0.37 8.85 0.37 9.24 0.76 9.63 1.15 9.63 1.78 9.24 2.17 9.24 2.17 6.41 5 6.41 5Z"></path> </svg> </div> </div> <section id="views"> <div class="container"> </div> </section> <script type="text/javascript"> $(document).ready( function () { $('.kursiv').readmore({ speed: 75, maxHeight: 84, heightMargin: 16, moreLink: '<a href="#"><span>Показать полностью</span>', lessLink: '<a href="#"><span>Скрыть</span></a>', } ); } ); </script> <style> div.kursiv { margin-bottom: 0; } #razrabotka { margin-top: 30px; } .readmore-js-toggle { font-style: italic; color: #999; display: inline; margin-right: 10px; font-size: 14px; cursor: pointer; border-bottom: 1px dotted #e6e6e6; } </style></section> <footer> <div class="container"> <div class="row"> <div class="col-xs-16 col-sm-4 col-md-3"> <p>© 2021, mkr-novo2.ru, Internet. Education. Programs. Firmware. Installation and configuration. Navigators</p> <div class="social"> <a target="_blank" href=""> <svg width="32px" height="19px" viewBox="0 0 32 19"> <path fillRule="evenodd" d="M 15.36 18.01C 15.36 18.01 17.24 18.01 17.24 18.01 17.24 18.01 17.81 17.94 18.1 17.64 18.36 17.37 18.35 16.85 18.35 16.85 18.35 16.85 18.32 14.41 19.49 14.05 20.64 13.7 22.12 16.4 23.69 17.45 24.87 18.23 25.77 18.06 25.77 18.06 25.77 18.06 29.97 18.01 29.97 18.01 29.97 18.01 32.16 17.87 31.12 16.21 31.03 16.07 30.51 14.97 28 12.72 25.37 10.35 25.72 10.74 28.89 6.65 30.82 4.16 31.59 2.65 31.35 2 31.12 1.38 29.7 1.54 29.7 1.54 29.7 1.54 24.98 1.57 24.98 1.57 24.98 1.57 24.63 1.52 24.37 1.67 24.12 1.82 23.95 2.16 23.95 2.16 23.95 2.16 23.21 4.09 22.21 5.72 20.11 9.18 19.27 9.36 18.92 9.15 18.12 8.65 18.32 7.14 18.32 6.07 18.32 2.72 18.85 1.32 17.3 0.96 16.79 0.84 16.41 0.76 15.1 0.75 13.41 0.73 11.99 0.76 11.18 1.14 10.64 1.39 10.23 1.96 10.48 1.99 10.79 2.03 11.5 2.18 11.88 2.67 12.36 3.31 12.34 4.74 12.34 4.74 12.34 4.74 12.62 8.68 11.69 9.17 11.06 9.5 10.18 8.82 8.31 5.68 7.35 4.08 6.62 2.3 6.62 2.3 6.62 2.3 6.48 1.97 6.23 1.8 5.93 1.58 5.51 1.51 5.51 1.51 5.51 1.51 1.02 1.54 1.02 1.54 1.02 1.54 0.35 1.56 0.1 1.84-0.12 2.09 0.08 2.62 0.08 2.62 0.08 2.62 3.6 10.57 7.57 14.57 11.22 18.25 15.36 18.01 15.36 18.01 15.36 18.01 15.36 18.01 15.36 18.01Z"/> </svg> </a> <a target="_blank" href=""> <svg viewBox="0 0 25 25" width="25px" height="25px"> <path class="st0" d="M12.5,12.7c3.2,0,5.8-2.6,5.8-5.8c0-3.2-2.6-5.8-5.8-5.8C9.3,1,6.7,3.6,6.7,6.8C6.7,10,9.3,12.7,12.5,12.7z M12.5,3.9c1.6,0,2.9,1.3,2.9,2.9c0,1.6-1.3,2.9-2.9,2.9c-1.6,0-2.9-1.3-2.9-2.9C9.6,5.2,10.9,3.9,12.5,3.9z M19.2,13.4 c-0.3-0.7-1.2-1.2-2.5-0.3c-1.6,1.3-4.3,1.3-4.3,1.3s-2.6,0-4.3-1.3c-1.2-1-2.1-0.4-2.5,0.3c-0.6,1.2,0.1,1.7,1.5,2.7 c1.3,0.8,3,1.1,4.1,1.2l-0.9,0.9c-1.3,1.3-2.6,2.6-3.4,3.4c-0.5,0.5-0.5,1.4,0,1.9l0.2,0.2c0.5,0.5,1.4,0.5,1.9,0l3.4-3.4 c1.3,1.3,2.6,2.6,3.4,3.4c0.5,0.5,1.4,0.5,1.9,0l0.2-0.2c0.5-0.5,0.5-1.4,0-1.9l-3.4-3.4l-0.9-0.9c1.1-0.1,2.8-0.4,4.1-1.2 C19.2,15.1,19.8,14.5,19.2,13.4z"/> </svg> </a> <a target="_blank" href="https://facebook.com/"> <svg width="26px" height="25px" viewBox="0 0 26 25"> <path fillRule="evenodd" d="M 24.33-0C 24.33-0 1.96-0 1.96-0 1.19-0 0.57 0.62 0.57 1.38 0.57 1.38 0.57 23.62 0.57 23.62 0.57 24.38 1.19 25 1.96 25 1.96 25 14 25 14 25 14 25 14 15.32 14 15.32 14 15.32 10.72 15.32 10.72 15.32 10.72 15.32 10.72 11.54 10.72 11.54 10.72 11.54 14 11.54 14 11.54 14 11.54 14 8.76 14 8.76 14 5.53 15.98 3.77 18.88 3.77 20.27 3.77 21.46 3.88 21.81 3.92 21.81 3.92 21.81 7.3 21.81 7.3 21.81 7.3 19.8 7.3 19.8 7.3 18.22 7.3 17.92 8.04 17.92 9.13 17.92 9.13 17.92 11.54 17.92 11.54 17.92 11.54 21.68 11.54 21.68 11.54 21.68 11.54 21.19 15.32 21.19 15.32 21.19 15.32 17.92 15.32 17.92 15.32 17.92 15.32 17.92 25 17.92 25 17.92 25 24.33 25 24.33 25 25.09 25 25.71 24.38 25.71 23.62 25.71 23.62 25.71 1.38 25.71 1.38 25.71 0.62 25.09-0 24.33-0Z"/> </svg> </a> <a target="_blank" href="https://youtube.com/"> <svg width="26px" height="19px" viewBox="0 0 26 19"> <path fillRule="evenodd" d="M 25.75 14.46C 25.75 14.46 25.5 16.18 24.75 16.93 23.79 17.92 22.72 17.93 22.23 17.99 18.71 18.24 13.43 18.25 13.43 18.25 13.43 18.25 6.89 18.19 4.88 18 4.32 17.89 3.06 17.92 2.11 16.93 1.35 16.18 1.11 14.46 1.11 14.46 1.11 14.46 0.86 12.45 0.86 10.44 0.86 10.44 0.86 8.55 0.86 8.55 0.86 6.54 1.11 4.52 1.11 4.52 1.11 4.52 1.35 2.81 2.11 2.05 3.06 1.06 4.14 1.06 4.63 1 8.15 0.75 13.42 0.75 13.42 0.75 13.42 0.75 13.43 0.75 13.43 0.75 13.43 0.75 18.71 0.75 22.23 1 22.72 1.06 23.79 1.06 24.75 2.05 25.5 2.81 25.75 4.52 25.75 4.52 25.75 4.52 26 6.54 26 8.55 26 8.55 26 10.44 26 10.44 26 12.45 25.75 14.46 25.75 14.46ZM 10.83 5.73C 10.83 5.73 10.83 12.72 10.83 12.72 10.83 12.72 17.62 9.24 17.62 9.24 17.62 9.24 10.83 5.73 10.83 5.73Z"/> </svg> </a> </div> </div> <div class="col-lg-2 col-sm-4 col-xs-16 links"> <h4>mkr-novo2.ru.</h4> <a href="https://mkr-novo2.ru/en/category/internet/">the Internet</a> <a href="https://mkr-novo2.ru/en/category/multimedia/">Multimedia</a> <a href="https://mkr-novo2.ru/en/category/navigation/">Navigators</a> <a href="https://mkr-novo2.ru/en/category/education/">Education</a> <a href="https://mkr-novo2.ru/en/category/at/">BY</a> <a href="https://mkr-novo2.ru/en/category/problems/">Problems</a> </div> <div class="col-lg-2 col-sm-3 col-xs-16 links"> <h4>about the project</h4> <a href="">Feedback</a> <a href="">About the site</a> </div> <div class="col-lg-5 col-sm-1 col-xs-16 links"></div> <div class="col-lg-4 col-sm-5 col-xs-16 links"> </div> </div> <div class="row v-center"> <div class="col-md-8 col-xs-16"> <a data-fancybox data-type="iframe" data-src="">Contacts</a> </div> <div class="col-md-8 col-xs-16"> <div class="share pull-right"> <script type="text/javascript" src="//yastatic.net/es5-shims/0.0.2/es5-shims.min.js" charset="utf-8"></script> <script type="text/javascript" src="//yastatic.net/share2/share.js" charset="utf-8"></script> <div class="ya-share2" data-services="vkontakte,facebook,odnoklassniki,moimir,gplus" data-counter=""></div> </div> </div> </div> </div> </footer> <a href="https://mkr-novo2.ru/en/#bot" id="to-top"> <svg width="50px" height="50px" viewBox="0 0 50 50"> <circle cx="25.00" cy="25.00" r="25.00" fill="rgb(0,0,0)" opacity="0.37"/> <path fillRule="evenodd" d="M 33.94 24.46C 33.94 24.46 25.89 16.3 25.89 16.3 25.32 15.73 24.41 15.73 23.84 16.3 23.84 16.3 15.79 24.46 15.79 24.46 14.88 25.38 15.52 26.97 16.81 26.97 16.81 26.97 20.43 26.97 20.43 26.97 21.23 26.97 21.88 27.62 21.88 28.43 21.88 28.43 21.88 32.51 21.88 32.51 21.88 33.71 22.83 34.68 24.01 34.68 24.01 34.68 25.72 34.68 25.72 34.68 26.9 34.68 27.86 33.71 27.86 32.51 27.86 32.51 27.86 28.43 27.86 28.43 27.86 27.62 28.5 26.97 29.31 26.97 29.31 26.97 32.92 26.97 32.92 26.97 34.21 26.97 34.85 25.38 33.94 24.46Z" fill="rgb(241,241,241)"/> </svg> </a> <div class="overlay"></div> <div class="popup" id="password"> <div class="perfect-scroll"> <h2>Password recovery <div class="close-pop pull-right"> <svg width="10px" height="10px" viewBox="0 0 10 10"> <path fillRule="evenodd" d="M 6.41 5C 6.41 5 9.24 7.83 9.24 7.83 9.63 8.22 9.63 8.85 9.24 9.24 8.85 9.63 8.22 9.63 7.83 9.24 7.83 9.24 5 6.41 5 6.41 5 6.41 2.17 9.24 2.17 9.24 1.78 9.63 1.15 9.63 0.76 9.24 0.37 8.85 0.37 8.22 0.76 7.83 0.76 7.83 3.59 5 3.59 5 3.59 5 0.76 2.17 0.76 2.17 0.37 1.78 0.37 1.15 0.76 0.76 1.15 0.37 1.78 0.37 2.17 0.76 2.17 0.76 5 3.58 5 3.58 5 3.58 7.83 0.76 7.83 0.76 8.22 0.37 8.85 0.37 9.24 0.76 9.63 1.15 9.63 1.78 9.24 2.17 9.24 2.17 6.41 5 6.41 5Z"/> </svg> </div> </h2> <div class="recover-success"> <form action="/recovery/request" data-method="post" method="post" class="recover_form"> <p>Enter your email to restore the password!</p> <div class="input-wrp"> <input name="email" type="text" placeholder="Enter your e-mail"> </div> <input type="submit" data-disable-with="Отправить..." class="btn green" value="Send"> </form> </div> <div class="auth-form_error" style="padding-top: 10px"></div> </div> </div> <script> $('.user.one').click(function (e, ob) { $('.user').removeClass('active-user'); $('.user.one').addClass('active-user'); $('#user_type').val('1'); e.stopPropagation(); } ); $('.user.two').click(function (e, ob) { $('.user').removeClass('active-user'); $('.user.two').addClass('active-user'); $('#user_type').val('2'); e.stopPropagation(); } ); $('.user.three').click(function (e, ob) { $('.user').removeClass('active-user'); $('.user.three').addClass('active-user'); $('#user_type').val('3'); e.stopPropagation(); } ); function clearErrors() { $('.auth-form_error').each(function () { $(this).html(''); } ); } $('body').on('click', '.open-login-form', function (e) { $('#register, .overlay').removeClass('visible-pop'); $('#login, .overlay').addClass('visible-pop'); e.preventDefault(); } ); $('body').on('click', '.open-pass-form', function (e) { $('#register, .overlay').removeClass('visible-pop'); $('#password, .overlay').addClass('visible-pop'); e.preventDefault(); } ); $('.login_form') .on('ajax:beforeSend', function (event, xhr, settings) { clearErrors(); } ) .on('ajax:complete', function (event, xhr, status) { } ) .on('ajax:success', function (event, data, status, xhr) { if (data.status == 0) { $('.auth-form_error').html(data.text + '<br>'); } else { $('.open-register').html(data.text); var delay = 1000; window.location.href = url = window.location.href + "?login=ok"; location.replace(url); setTimeout('window.location.reload(true);', delay); } } ).on('ajax:error', function (event, xhr, status, error) { } ); $('.recover_form') .on('ajax:beforeSend', function (event, xhr, settings) { clearErrors(); } ) .on('ajax:complete', function (event, xhr, status) { } ) .on('ajax:success', function (event, data, status, xhr) { console.log(data); if (data.status == 0) { $('.auth-form_error').html(data.text + '<br>'); } else { $('.recover-success').html('<div class="success" >' + data.text + '</div>'); } } ).on('ajax:error', function (event, xhr, status, error) { } ); $('.registration_form') .on('ajax:beforeSend', function (event, xhr, settings) { var emailError = $('#emailError'); var passwordError = $('#passwordError'); var passwordVerify = $('#passwordVerifyError'); var userTypeError = $('#userTypeError'); var emailExist = $('#emailExist'); emailError.html(''); passwordError.html(''); passwordVerify.html(''); userTypeError.html(''); emailExist.hide(); } ) .on('ajax:complete', function (event, xhr, status) { } ).on('ajax:success', function (event, data, status, xhr) { // insert the failure message inside the "#account_settings" element //console.log(data); if (data.status == 0) { //$('.reg-info').html('<div class="error">' + data.text + '</div>'); if (data.text.email) { var emailError = $('#emailError'); var emailExist = $('#emailExist'); console.log(data.text.email); if (data.text.email == 'Найдена совпадающая со значением запись') { console.log('alert'); emailExist.show(); } else { emailError.html('<i class="icon-error"></i><div class="error_note_wrapper">' + '<div class="error_note">' + '<span class="error_note_text">' + data.text.email + '</span></div></div>'); } } if (data.text.password) { var passwordError = $('#passwordError'); console.log(data.text.password); passwordError.html('<i class="icon-error"></i><div class="error_note_wrapper">' + '<div class="error_note">' + '<span class="error_note_text">' + data.text.password + '</span></div></div>'); } if (data.text.passwordVerify) { var passwordVerify = $('#passwordVerifyError'); console.log(data.text.passwordVerify); passwordVerify.html('<i class="icon-error"></i><div class="error_note_wrapper">' + '<div class="error_note">' + '<span class="error_note_text">' + data.text.passwordVerify + '</span></div></div>'); } if (data.text.captcha) { var captcha = $('#captchaError'); console.log(data.text.captcha); captcha.html('<i class="icon-error"></i><div class="error_note_wrapper">' + '<div class="error_note">' + '<span class="error_note_text">' + data.text.captcha + '</span></div></div>'); } if (data.text.userType) { var user_type = $('#userTypeError'); console.log(data.text.userType); user_type.html('<i class="icon-error"></i><div class="error_note_wrapper">' + '<div class="error_note">' + '<span class="error_note_text">' + data.text.userType + '</span></div></div>'); } } else { $('.reg-success').html(data.text); var delay = 2000; window.location.href = url = window.location.href + "?reg=ok"; location.replace(url); setTimeout('window.location.reload(true);', delay); } } ).on('ajax:error', function (event, xhr, status, error) { } ); </script> <div class="popup" id="premium-pop"> </div> <link rel="stylesheet" href="/videouroki/res/lightslider/lightslider.min.css"> <link rel="stylesheet" href="/videouroki/res/perfectScrollbar/perfect-scrollbar.css"> <link rel="stylesheet" href="/videouroki/assets/font-awesome/css/font-awesome.min.css"> <link rel="stylesheet" href="/assets/vendor/fancybox/jquery.fancybox.min.css"> <script src="/videouroki/res/perfectScrollbar/perfect-scrollbar.jquery.min.js"></script> <script src="/js/rails.js"></script> <script src="/videouroki/res/lightslider/lightslider.min.js"></script> <script src="/videouroki/res/jquery.validate.min.js"></script> <script src="/videouroki/res/autosize-master/autosize.min.js"></script> <script src="/videouroki/js/tabs.js"></script> <script src="/videouroki/js/select.js"></script> <script src="/videouroki/js/global.js?2109"></script> <script src="/videouroki/js/views.js"></script> <script src="/videouroki/plugin/notify/notify.min.js"></script> <script src="/videouroki/plugin/notify/notify-metro.js"></script> <script src="/videouroki/js/lazyload.min.js"></script> <script src="/assets/vendor/fancybox/jquery.fancybox.min.js"></script> <script type="text/javascript"> $(document).ready( function () { // new LazyLoad(); } ) </script> <!--[if gte IE 9]><script type="text/javascript" src="/videouroki/assets/ckeditor-mini/ckeditor.js"></script><![endif]--> <script type="text/javascript" src="/videouroki/js/readmore.js"></script></body> </html>