Privates MODX und LINUX BLOG, User Registrierung ist deaktiviert! Fragen oder Tipps? Bitte per Matrix: @jo42:freiburg.social
<?php
# V 22.12.003
#
# Beispiel Snippet Aufruf für Zufallsbilder:
# [[!getRandPicture? &url=`images/gallery/bodensee2009` &ext=`jpg`]]
# oder per TV
# [[!getRandPicture? &url=`images/[[*tvRandPicture]]` &ext=`jpg`]]
# <img alt="[[+image_title]]" class="photos" src="[[+image_folder]][[+image_name]]" />
#
# Variablen -Start------------------->
# Datei-Endung
$strExt = '.'.$modx->getOption('ext',$scriptProperties,'jpg');
# Bilder-Ordner
$strURL = $modx->getOption('url',$scriptProperties,'images');
$folder = (isset($folder))?$folder:$strURL;
$imgDir = opendir($folder);
# Fehler-Bild
$defaultImage = (isset($defaultImage))?$defaultImage:$modx->config['base_url'].'images/icons/icon-error.png';
# Variablen -Ende-------------------<
$images = [];
$is_image = '';
while ($file = readdir($imgDir))
{
# prüfe ob die Datei ein Bild ist
$file_type = strrchr($file, '.');
if ($file_type == $strExt){
$is_image = true;
}
$is_thumb = !strncmp($file, '.thumb_', 7);
if ($file != '.' && $file != '..' && $is_image && !$is_thumb){
$images[] = $file;
}
}
closedir($imgDir);
# Platzhalter
$modx->setPlaceholder('image_folder', $folder.'/');
if (count($images) > 1)
{
srand(( double )microtime()*1000000);
$image_name = $images[rand(0, sizeof($images)-1)];
$modx->setPlaceholder('image_name', $image_name);
$image_title = str_replace('.'.$ext,'',$image_name);
$image_title = str_replace('_',' ',$image_title);
$image_title = strtoupper($image_title);
$modx->setPlaceholder('image_title', $image_title);
return;
}
# wenn keine Bilder im Ordner sind
$modx->setPlaceholder('image_folder', '');
$modx->setPlaceholder('image_name', $defaultImage);
return;
echo manual | sudo tee /etc/init/samba-ad-dc.override
sudo apt-get install kontact kmail kaddressbook korganizer knotes akregator aspell-de
sudo apt remove --purge roger*
rm -r ~/.local/share/routermanager/
rm -r ~/.cache/routermanager/
dconf reset -f /org/tabos/
sudo apt autoclean; sudo apt clean; sudo apt autoremove;
sudo apt install flatpak plasma-discover-backend-flatpak
flatpak install flathub org.tabos.roger
lpadmin -p Roger-Router-Fax -m drv:///sample.drv/generic.ppd -v socket://localhost:9100/ -E -o PageSize=A4
flatpak run org.tabos.roger
rm -r ~/.var/app/org.tabos.roger/
flatpak uninstall org.tabos.roger
sudo add-apt-repository ppa:dschaerf/rogerrouter
sudo apt update
sudo apt install roger
sudo add-apt-repository 'deb http://download.opensuse.org/repositories/home:/tabos-team:/release/xUbuntu_16.04/ ./'
wget -q http://download.opensuse.org/repositories/home:/tabos-team:/release/xUbuntu_16.04/Release.key -O- | sudo apt-key add -
sudo apt update
sudo addgroup $USER fax
sudo apt install roger roger-plugins-kwallet roger-plugins-fritzfon dconf-editor dconf-cli
sudo apt install roger libroutermanager-plugins-secret gnome-keyring roger-plugins-fritzfon dconf-editor dconf-cli
sudo apt autoclean; sudo apt clean; sudo apt autoremove;
dconf reset -f /org/tabos/
rm -r ~/.local/share/routermanager/
rm -r ~/.cache/routermanager/
sudo apt-get install cifs-utils smb4k
sudo add-apt-repository ppa:martin-salbaba/ppa+libimobiledevice
sudo apt-get update
sudo apt-get install libimobiledevice-utils ifuse
sudo apt-get autoclean; sudo apt-get clean; sudo apt-get autoremove
sudo addgroup fuse
sudo adduser $USER fuse
newgrp - fuse
mkdir ~/iPhone/
dmesg | grep ipheth
#[ 2109.944705] ipheth 3-1.6:4.2: Apple iPhone USB Ethernet device attached
#[ 2109.944772] usbcore: registered new interface driver ipheth
idevicepair pair
ifuse ~/iPhone/
fusermount -u ~/iPhone/
idevicepair unpair
sudo chmod 0755 ~/iPhone/
mkdir ~/iPhoneBackup
idevicebackup2 backup ~/iPhoneBackup
idevicebackup2 restore ~/iPhoneBackup
htpasswd -nb BENUTZERNAME PASSWORT
AuthType Basic
AuthName "Bitte Zugangsdaten eingeben"
AuthUserFile /homepage/bilder/.htpasswd #absoluten Pfad zur .htpasswd auf dem Server anpassen!!!
Require user karl1
karl1:$apr1$Y/imTaQv$9DBV5tyQ9/JokSQDbSUOj1
karl2:$apr1$UNshbZLq$M8CqdQ9CzhaDmQsuJfw4m.
karl3:$apr1$q2daMPR7$JD11zbTdxVsI3RPvIMnds1
<?php
# Snippet Aufruf z.B.: [[!webCounter? &cname=`web4Count` &startnum=`4440`]]
$numip = '20'; # Anzahl der IP-Nummern
$numipRIP = 24*60*60; # IP-Nummern löschen wenn älter als 1 Tag
$startnum = $modx->getOption(startnum,$scriptProperties,1);
$get_countname = $modx->getOption('cname',$scriptProperties,'webCount');
$countname = $modx->config['base_path'].'assets/'.$get_countname.'.txt';
$ipfile = $modx->config['base_path'].'assets/'.$get_countname.'_ip.txt';
$datumstart = $modx->config['base_path'].'assets/'.$get_countname.'_datumstart.txt';
$userip = $_SERVER['REMOTE_ADDR'];
# IP anonymisieren!
$ipsplit = explode(".", $userip);
$userip = "$ipsplit[0].$ipsplit[1].$ipsplit[2].0";
if(!file_exists($datumstart)){
$fo = fopen($datumstart,'w+');
fputs($fo, time());
fclose($fo);
}
if(!file_exists($countname)){
$fo = fopen($countname,'w+');
fputs($fo, $startnum);
fclose($fo);
}
if(!file_exists($ipfile)){
$foip = fopen($ipfile, 'w+');
fputs($foip, $userip.':');
fclose($foip);
}
# wenn äter als $numipRIP dann löschen
if(file_exists($datumstart)){
$fodatum = fopen($datumstart,'r');
$datum1 = fgets($fodatum, 11);
fclose($fodatum);
}
$datum2 = $datum1 + $numipRIP;
$datumheute = time();
if($datumheute > $datum2) {
unlink($datumstart);
if(!file_exists($datumstart)){
$fo = fopen($datumstart,'w+');
fputs($fo, time());
fclose($fo);
}
unlink($ipfile);
if(!file_exists($ipfile)){
$foip = fopen($ipfile, 'w+');
# fputs($foip, $userip.':');
fclose($foip);
}
}
$ipcont = fopen($ipfile,'r+');
$ipfile1 = fgets($ipcont,2048);
$ipdata = explode(':',$ipfile1);
if(in_array($userip, $ipdata)){
$anzahl = fopen($countname,'r+');
$nummer = fgets($anzahl,10);
fclose($anzahl);
}
else{
$num = count($ipdata);
if($num <= $numip){
fputs($ipcont,$userip.':');
fclose($ipcont);
$anzahl = fopen($countname,'r+');
$nummer = fgets($anzahl,10);
$nummer++;
fseek($anzahl,0);
fputs($anzahl,$nummer);
fclose($anzahl);
}
else{
$pop = array_pop($ipdata);
array_unshift($ipdata,$userip);
$userip2 = implode(':',$ipdata);
$ipcont = fopen($ipfile,'r+');
fputs($ipcont,$userip2);
fclose($ipcont);
$anzahl = fopen($countname,'r+');
$nummer = fgets($anzahl,10);
$nummer++;
fseek($anzahl,0);
fputs($anzahl,$nummer);
fclose($anzahl);
}
}
return $nummer;
<link rel="stylesheet" href="assets/templates/bs3/css/bootstrap.min.css">
<link rel="stylesheet" href="assets/templates/bs3/css/blueimp-gallery.min.css">
<link rel="stylesheet" href="assets/templates/bs3/css/bootstrap-image-gallery.min.css">
[[$bs3Gallery]]
<script src="assets/templates/bs3/js/jquery.min.js" type="text/javascript"></script>
<script src="assets/templates/bs3/js/bootstrap.min.js" type="text/javascript"></script>
<script src="assets/templates/bs3/js/jquery.blueimp-gallery.min.js" type="text/javascript"></script>
<script src="assets/templates/bs3/js/bootstrap-image-gallery.min.js" type="text/javascript"></script>
<div class="container">
[[- z.B. $pdoCrumbs]]
<div id="content">[[*content]]
[[!*tvBS3Gallery:notempty=`[[!getImagesFolder? &path=`assets/files/webXYZ/[[*tvBS3Gallery]]` &extensions=`jpg` &tpl=`tplBS3Gallery`]]`]]
</div>
[[- z.B. $Footer]]
</div>
<div id="blueimp-gallery" class="blueimp-gallery">
<div class="slides"></div>
<h3 class="title"> </h3>
<a class="prev">‹</a>
<a class="next">›</a>
<a class="close">×</a>
<a class="play-pause"></a>
<ol class="indicator"></ol>
<div class="modal fade">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" aria-hidden="true">×</button>
<h4 class="modal-title"> </h4>
</div>
<div class="modal-body next"></div>
<div class="modal-footer">
<button type="button" class="btn btn-default pull-left prev"><i class="glyphicon glyphicon-chevron-left"></i>Zurück</button>
<button type="button" class="btn btn-default play-pause">Slideshow</button>
<button type="button" class="btn btn-default next">Vor<i class="glyphicon glyphicon-chevron-right"></i></button>
</div>
</div>
</div>
</div>
</div>
<a data-gallery="gallery" class="img-thumbnail" title="[[+filename:stripGalleryTitle]]" href="[[+path]][[+filename]]"><img style="margin: 3px;" src="[[+path:cat=`[[+filename]]`:phpthumbof=`w=120&h=120&zc=1`]]" alt="[[+filename]]" title="klick für großes Bild" /></a>
<?php
// e.g. [[!getImagesFolder? &path=`path/to/images` &extensions=`jpg` &tpl=`colorboxTpl` &class=`group1` &sort=`desc`]]
# V 22.12.003
$path = trim($modx->getOption('path', $scriptProperties, ''), '/').'/';
$class = $modx->getOption('class', $scriptProperties, "");
$sort = $modx->getOption('sort', $scriptProperties, "asc");
$extensions = explode(',', str_replace(' ', '', $modx->getOption('extensions', $scriptProperties, "jpg,png")));
$tpl = $modx->getOption('tpl', $scriptProperties, '<img src="[[+path]][[+filename]]" width="[[+width]]" height="[[+height]]" alt="[[+filename]]" /><br />'.PHP_EOL);
if (($path === '') || !is_dir($path))
return;
$output = '';
$count = 0;
$files = array();
$fields = array();
$fields['path'] = $path;
$fields['class'] = $class;
if (!($handle = opendir($path)))
return "Error: Unable to open directrory '$path'!<br />".PHP_EOL;
while(($file = readdir($handle)) !== false) {
if (is_file($path.$file) && (($pos = strrpos($file, ".")) !== false) && in_array(substr($file, $pos + 1), $extensions))
$files[] = $file;
}
closedir($handle);
if (is_array($files))
{
if (($sort = strtolower(trim($sort))) === "asc")
sort($files);
elseif ($sort === "desc")
rsort($files);
foreach ($files as $file) {
list($fields['width'], $fields['height']) = getimagesize($path.$file);
$fields['filename'] = $file;
$fields['count'] = ++$count;
$chunk = $modx->getChunk($tpl, $fields);
if (!strlen($chunk)) {
$new_tpl = $modx->newObject('modChunk');
$new_tpl->setCacheable(false);
$new_tpl->setContent($tpl);
$chunk = $new_tpl->process($fields);
}
$output .= $chunk;
}
}
return $output;
<?php
$exts = !empty($options) ? explode(',', $options) : array('gif','png','jpeg','jpg');
$exts = array_map('strtolower', $exts);
$extPos = strrpos($input, '.');
if ($extPos !== false && in_array(substr($input, $extPos + 1), $exts)) {
$input = substr($input, 0, $extPos);
}
$strSearch = array('Ae', 'Oe', 'Ue', 'ae', 'oe', 'ue');
$strReplace = array('Ä', 'Ö', 'Ü', 'Ä', 'Ö', 'Ü');
$input = str_replace($strSearch, $strReplace, $input);
$input = str_replace('_',' ',$input);
$input = strtoupper($input);
#$input = ucwords(strtolower($input));
#Besonderheiten
$strSearch = array("BRAÜREI", "BAÜR");
$strReplace = array("BRAUEREI", "BAUER");
$input = str_replace($strSearch, $strReplace, $input);
return $input;
CREATE TABLE IF NOT EXISTS `modx_modxtalks_mails` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`post_id` int(11) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=8 ;
(WARN @ /www/htdocs/xxxxxx/modx/core/components/modxtalks/mailer.php) `114` was requested but no alias was located.
(INFO @ /www/htdocs/xxxxxx/modx/core/components/modxtalks/mailer.php) Removed modxTalksMails instance with primary key 10
"fixed" => "<a href='javascript:BBCode.fixed(\"$id\");void(0)' title='" . $this->modx->lexicon('modxtalks.image') . "' class='bbcode-fixed'><span>" . $this->modx->lexicon('modxtalks.fixed') . "</span></a>",
"fixed" => "<a href='javascript:BBCode.fixed(\"$id\");void(0)' title='" . $this->modx->lexicon('modxtalks.fixed') . "' class='bbcode-fixed'><span>" . $this->modx->lexicon('modxtalks.fixed') . "</span></a>",
[class*=bbcode-] span {text-indent:-3999px; width:12px; height:12px; margin:4px; display:inline-block; background-image:url(formattingIcons.png)}
[class*=bbcode-] span {text-indent:-3999px; width:12px; height:12px; padding:0 12px 0 12px; display:inline-block; background-image:url(formattingIcons.png)}