| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596 | <?php global $myUser;if($myUser->login=='') throw new Exception("Permissions insuffisantes", 403);?><div class="row">	<div class="col-md-12">		<?php 			//À voir pour le rendre dynamique au 			//lieu d'avoir les 30 dernières modifs			$stream = shell_exec('git log -30 --pretty=~~~%ct---%B~~~'); 			$commits = explode('~~~',$stream); 		?>		<h3>30 Dernières modifications :</h3>		<hr/>		<div class="row">			<div class="col-md-12">				<ul class="update-timeline">				<?php					$i=0;				 foreach($commits as $commit): 				 						$infos = explode('---',$commit); 					if(count($infos)<2) continue;					$i++;					list($time,$message) = $infos;					$icons = array();					$colors = array();					$tags = array();										if(preg_match('/Merge branch/i', $message)){						$icons[]= 'fas fa-code-branch';						$colors[]= 'info';						$message = str_replace(array('Merge branch',' of ','Conflicts'),array('Fusion de branche',' de ','Conflits'),$message);						$tags['merge'] = 1;					}					$message = preg_replace('/(^|\n)-[\s\t]*([^:-]*)[\s\t]*:/iU', '$1<span class="update-commit-module mt-2"><i class="far fa-bookmark"></i> $2</span>', $message);										$message = preg_replace_callback('/#([^\s]*)(\s|$)/iU', function($matches) use(&$tags){												$tag = trim(strtolower($matches[1]));						if($tag=='') return;						if(!isset($tags[$tag])) $tags[$tag] = 0;						$tags[$tag]++;						return $matches[2];					}, $message);					if(isset($tags['feature'])){						$icons[] = 'fas fa-plus-circle';						$colors[] = 'success';					}					if(isset($tags['bug'])){						$icons[] = 'fas fa-bug';						$colors[] = 'danger';					}					if(preg_match('/refactor|rework/i', $message)){						$icons[] = 'fas fa-sync';						$colors[] = 'warning';					}									if(count($icons)==0) $icons[] ='fas fa-pencil-alt';										?>				    <li <?php echo $i%2==0?'class="update-timeline-inverted"':'' ?>>				    	<div class="update-timeline-badge <?php echo count($colors)==1?$colors[0]:''; ?>"  style="font-size: <?php echo 1.4/count($icons); ?>rem;<?php echo count($colors)>1?'background-color:#e83e8c;':''; ?>">				    		<?php foreach($icons as $icon): ?>				    			<i class="<?php echo $icon; ?>" style="font-size: <?php echo 1.4/count($icons); ?>rem"></i>				    		<?php endforeach; ?>				    	</div>				    					    	<div class="update-timeline-panel">				    		<div class="update-timeline-heading">				    			<p><small class="text-muted"><i class="far fa-clock"></i> <?php echo relative_time($time); ?></small></p>				    		</div>				    		<div class="update-timeline-body">				    			<p><?php echo nl2br($message); ?></p>				    			<?php foreach($tags as $tag=>$count): ?>				    				<span class="update-commit-tag"><i class="fas fa-tag"></i> <?php echo $tag ?><?php echo $count > 1 ? ' ('.$count.')':'' ?></span>				    			<?php endforeach; ?>				    		</div>				    	</div>				    </li>			    <?php endforeach; ?>			    </ul>			</div>		</div>		<br>			</div></div>
 |