MagicMirror Forum
    • Recent
    • Tags
    • Unsolved
    • Solved
    • MagicMirror² Repository
    • Documentation
    • 3rd-Party-Modules
    • Donate
    • Discord
    • Register
    • Login
    A New Chapter for MagicMirror: The Community Takes the Lead
    Read the statement by Michael Teeuw here.

    Run JavaScript if a file is created

    Scheduled Pinned Locked Moved General Discussion
    25 Posts 3 Posters 15.1k Views 2 Watching
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • ooom416354O Offline
      ooom416354 @KirAsh4
      last edited by

      @KirAsh4 for reference here’s the full index.php file

      index.php

      1 Reply Last reply Reply Quote 0
      • KirAsh4K Offline
        KirAsh4 Moderator
        last edited by

        Oy, why do it that way … your index.php will never get updated if there’s an upstream change in the code (because we use index.html). You should use the existing infrastructure in MM². Create a new module, have it display in a specific region on the mirror. Every 5 minutes, have the module refresh by doing a call to its node_helper. The node_helper can be a simply python script that checks the specific file in question and reports back to the module.

        I thought the PHP script was doing something … it’s not in this case. You don’t need PHP at all for this.

        Some places to look for coding ideas:
        MM² Module Development Documentation
        Look at how modules such as the calendar and newsfeed implement a node_helper which does the background tasks

        You could still use PHP to do the file checking for you, but to me that’s a bit of an unnecessary overhead.

        A Life? Cool! Where can I download one of those from?

        ooom416354O 2 Replies Last reply Reply Quote 0
        • ooom416354O Offline
          ooom416354 @KirAsh4
          last edited by

          @KirAsh4 LOL - I’m just lost these days with all of this stuff. I should stick to my DB work.

          Let me see what I can do with the module documentation, it would be a good experience anyway to learn.

          1 Reply Last reply Reply Quote 0
          • ooom416354O Offline
            ooom416354 @KirAsh4
            last edited by

            @KirAsh4 Just out of curiosity, if I were to add the code you provided into the PHP file, would i need to bracket it with <?php then add the code here?>

            1 Reply Last reply Reply Quote 0
            • KirAsh4K Offline
              KirAsh4 Moderator
              last edited by

              This is hard to answer because I don’t know what your PHP file looks like. I don’t know if you are echo-ing HTML data, or using HEREDOC? I’m flying blind here … (as much fun as that could be)

              A Life? Cool! Where can I download one of those from?

              ooom416354O 1 Reply Last reply Reply Quote 0
              • ooom416354O Offline
                ooom416354 @KirAsh4
                last edited by

                @KirAsh4 I had actually uploaded that file a few posts back. For reference here’s the entire thing (forgive the ugliness)

                <head>
                	<title>Magic Mirror</title>
                <html>
                	<style type="text/css">
                		<?php include('css/main.css') ?>
                		<?php include('css//mbta-icons.css') ?>
                	</style>
                	<link rel="stylesheet" type="text/css" href="css/weather-icons.css">
                	<script type="text/javascript">
                		var gitHash = '<?php echo trim(`git rev-parse HEAD`) ?>';
                	</script>
                	<meta http-equiv="Content-type" content="text/html; charset=utf-8" />
                	<meta name="google" value="notranslate" />
                 
                </head>
                <body>
                
                    <div class="backgroundTint"></div>
                
                	<div class="top left">
                		<div class="date small dimmed"></div>
                		<div class="time"></div>
                		<div class="timeWarning xxsmall"></div>
                		<div class="holidays xxsmall dimmed"></div>
                		<div class="calendar xxsmall"></div>
                		<div class="mbta xxxsmall dimmed"></div>
                	</div>
                
                	<div class="top right">
                	    <div class="windsun small dimmed"></div>
                		<div class="temp"></div>
                		<div class="tempfeelslike xxsmall"></div>
                		<div class="spacer"></div>
                		<div class="tempgraph"></div>
                		<div class="weekgraph"></div>
                		<div class="summary xxsmall2 dimmed"></div>
                		<div class="weatheralerts xxsmall2 dimmed"></div>
                	</div>
                
                	<div class="lower-third center-hor">
                		<div class="compliment light"></div>
                		<div class="weatherCompliment small light"></div>
                	</div>
                
                	<div class="bottom center-hor">
                		<div class="newsTitle xsmall xxdimmed"></div>
                		<div class="news medium"></div>
                	</div>
                
                	<div class="farbottom center-hor">
                		<div class="newsDots xxxsmall"></div>
                	</div>
                
                	<div class="farbottom right">
                		<div class="lastupdated luWeather xxxsmall xxdimmed"></div>
                		<div class="lastupdated luMBTA xxxsmall xxdimmed"></div>
                		<div class="lastupdated luRSS xxxsmall xxdimmed"></div>
                		<div class="lastupdated luHolidays xxxsmall xxdimmed"></div>
                	</div>
                
                </div>
                
                <!-- Third Parties -->
                <script src="js/jquery.js"></script>
                <script src="js/ical_parser.js"></script>
                <script src="js/moment-with-locales.js"></script>
                <script src="js/config.js"></script>
                <script src="js/rrule.js"></script>
                <script src="js/d3.js"></script>
                
                <!-- Our Stuff -->
                <script src="js/main.js?nocache=<?php echo md5(microtime()) ?>"></script>
                <script src="js/mm-weather.js?nocache=<?php echo md5(microtime()) ?>"></script>
                <script src="js/mm-mbta.js?nocache=<?php echo md5(microtime()) ?>"></script>
                <script src="js/mm-mta.js?nocache=<?php echo md5(microtime()) ?>"></script>
                
                </html>
                </body>
                1 Reply Last reply Reply Quote 0
                • KirAsh4K Offline
                  KirAsh4 Moderator
                  last edited by

                  Then yes, write the proper PHP code and stick it in <?php ... ?> tags.

                  A Life? Cool! Where can I download one of those from?

                  ooom416354O 1 Reply Last reply Reply Quote 0
                  • ooom416354O Offline
                    ooom416354 @KirAsh4
                    last edited by

                    @KirAsh4 awesome, I will give it a shot. I can’t thank you enough! Much appreciated!

                    1 Reply Last reply Reply Quote 0
                    • EoFE Offline
                      EoF @KirAsh4
                      last edited by

                      @KirAsh4 Ah I wasn’t aware this was for MM2. Thought he was still using MM1. Didn’t know you could run PHP scripts on MM2.

                      KirAsh4K 1 Reply Last reply Reply Quote 0
                      • KirAsh4K Offline
                        KirAsh4 Moderator @EoF
                        last edited by

                        @EoF, you can, as an external process, just like everything else. :)

                        A Life? Cool! Where can I download one of those from?

                        1 Reply Last reply Reply Quote 0

                        Hello! It looks like you're interested in this conversation, but you don't have an account yet.

                        Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.

                        With your input, this post could be even better 💗

                        Register Login
                        • 1
                        • 2
                        • 2 / 2
                        • First post
                          Last post
                        Enjoying MagicMirror? Please consider a donation!
                        MagicMirror created by Michael Teeuw.
                        Forum managed by Sam, technical setup by Karsten.
                        This forum is using NodeBB as its core | Contributors
                        Contact | Privacy Policy