[sport]新增報名測試功能(用sudo)

讓管理者在報名開始之前可以模擬成學校進行報名
include/confing.php中加入$limit_begin_date="202402010000";
join2/gov_query.php加入
 

//開始報名前可以任意sudo
//開始報名後只有played=1才可以sudo 
if( date("YmdHi")<$limit_begin_date )
    $and_played_str = '';
else
    $and_played_str = " and gov.played='1' ";

 

發表於 程式設計 | 發表迴響

[sport]folk系列加入跳繩錦標賽名次取數機制

跳繩錦標賽改變名次取數機制
第一名1位,第2名2位,第3名3位,同次數並排,不往後推擠名次,並取報名人數的5成,扣除前3名的名額為優勝。
因應方式:將原本main_score的名次(ord_id)改為序號,績分(ord_score)改為名次

function.php中的get_main_score函式加入$rope參數。get_main_score($group_id , $item_id , $detail , $just_one = 0 ,$only_one = 0,$rope = 0)
 

if($rope){  //跳繩錦標賽用ord_score當名次
    $row['eng_ord_id'] = $english_str[$row['ord_score']] ;
    $row['ord_id'] = chinese_str($row['ord_score']) ;
}else{
    $row['eng_ord_id'] = $english_str[$row['ord_id']] ;
    $row['ord_id'] = chinese_str($row['ord_id']) ;              
}

 

admin\adm_print_get.php中加入rope專用的templates

發表於 程式設計 | 發表迴響

[lubuntu]lbuntu22.04安裝mysql8.1 +php5.6 +nginx

參考網址:https://cumi.co/20221006/

lubuntu 22.04
1.mysql
apt install mysql-server

更改mysql root 密碼
mysql mysql
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
FLUSH PRIVILEGES;

取消mysql嚴格模式
vi /etc/mysql/my.cnf
新增
[mysqld]
sql_mode=""

service mysql restart
systemctl enable mysql


2.安裝php5.6
add-apt-repository ppa:ondrej/php
apt install -y php5.6
apt install php5.6-gd php5.6-mysql php5.6-imap php5.6-curl php5.6-intl php5.6-pspell php5.6-recode php5.6-sqlite3 php5.6-tidy php5.6-xmlrpc php5.6-xsl php5.6-zip php5.6-mbstring php5.6-soap php5.6-opcache php5.6-common php5.6-json php5.6-readline php5.6-xml

3.安裝nginx
apt install php5.6-fpm php5.6-cgi -y
apt install php5.6-mysqli php5.6-mysql -y
apt install nginx unzip -y
vim /etc/nginx/sites-enabled/default

server {
	listen 80 default_server;
	listen [::]:80 default_server;
	root /var/www/html;
	index index.php index.html index.htm index.nginx-debian.html;
	server_name _;

	location / {
	    try_files $uri $uri/ =404;
	}

	location ~ \.php$ {
	    include snippets/fastcgi-php.conf;
	    fastcgi_pass unix:/run/php/php5.6-fpm.sock;
	}
}


service apache2 stop
systemctl disable apache2
service nginx restart
systemctl enable nginx


vi /var/www/html/1.php
<?php
phpinfo();
?>

看看網頁的狀況如何

修改php.ini
/etc/php5.6-fpm/php.ini
修改完後得重啟php5.6-fpm
service php5.6-fpm restart

phpmyadmin php5.6得配合舊版的phpmyamdin
cd /var/www/html
wget https://files.phpmyadmin.net/phpMyAdmin/4.9.11/phpMyAdmin-4.9.11-all-languages.zip
unzip phpMyAdmin-4.9.11-all-languages.zip
mv phpMyAdmin-4.9.11-all-languages phpmyadmin
cd phpmyadmin
cp config.sample.inc.php config.inc.php


安裝後試用結果,效能與apache2比較,似乎也沒有顯著提昇。

 

發表於 Linux系統, 程式設計 | 發表迴響

[ubuntu]How to install PHP 5.6, PHP 8.0 and PHP 8.1 on Ubuntu 22.04 LTS

參考網址:https://vitux.com/how-to-install-php5-php8-on-ubuntu/

The official PHP website, php.net, provides a list of all PHP versions to date at the following link:

http://php.net/releases/

$ sudo add-apt-repository ppa:ondrej/php
apt install -y php5.6
apt-get install php5.6-gd php5.6-mysql php5.6-imap php5.6-curl php5.6-intl php5.6-pspell php5.6-recode php5.6-sqlite3 php5.6-tidy php5.6-xmlrpc php5.6-xsl php5.6-zip php5.6-mbstring php5.6-soap php5.6-opcache libicu65 php5.6-common php5.6-json php5.6-readline php5.6-xml

 

發表於 Linux系統 | 發表迴響

[nginx]Ubuntu 安裝 Nginx + PHP-FPM + MySQL + phpMyAdmin

參考網址:https://cumi.co/20221006/

發表於 程式設計 | 發表迴響

[sport]更改左側選單

參考網址:Bootstrap 5 Sidebar Examples
用手機瀏覽時,希望右側選單能夠自動隱藏,以免浪費太多空間。
這個網站提供了一些範例。
選擇了它的Example 1 – Demo
 

<div class="container-fluid">
    <div class="row flex-nowrap">
        <div class="col-auto col-md-3 col-xl-2 px-sm-2 px-0 bg-dark">
            <div class="d-flex flex-column align-items-center align-items-sm-start px-3 pt-2 text-white min-vh-100">
                <a href="/" class="d-flex align-items-center pb-3 mb-md-0 me-md-auto text-white text-decoration-none">
                    <span class="fs-5 d-none d-sm-inline">Menu</span>
                </a>
                <ul class="nav nav-pills flex-column mb-sm-auto mb-0 align-items-center align-items-sm-start" id="menu">
                    <li class="nav-item">
                        <a href="#" class="nav-link align-middle px-0">
                            <i class="fs-4 bi-house"></i> <span class="ms-1 d-none d-sm-inline">Home</span>
                        </a>
                    </li>
                    <li>
                        <a href="#submenu1" data-bs-toggle="collapse" class="nav-link px-0 align-middle">
                            <i class="fs-4 bi-speedometer2"></i> <span class="ms-1 d-none d-sm-inline">Dashboard</span> </a>
                        <ul class="collapse show nav flex-column ms-1" id="submenu1" data-bs-parent="#menu">
                            <li class="w-100">
                                <a href="#" class="nav-link px-0"> <span class="d-none d-sm-inline">Item</span> 1 </a>
                            </li>
                            <li>
                                <a href="#" class="nav-link px-0"> <span class="d-none d-sm-inline">Item</span> 2 </a>
                            </li>
                        </ul>
                    </li>
                    <li>
                        <a href="#" class="nav-link px-0 align-middle">
                            <i class="fs-4 bi-table"></i> <span class="ms-1 d-none d-sm-inline">Orders</span></a>
                    </li>
                    <li>
                        <a href="#submenu2" data-bs-toggle="collapse" class="nav-link px-0 align-middle ">
                            <i class="fs-4 bi-bootstrap"></i> <span class="ms-1 d-none d-sm-inline">Bootstrap</span></a>
                        <ul class="collapse nav flex-column ms-1" id="submenu2" data-bs-parent="#menu">
                            <li class="w-100">
                                <a href="#" class="nav-link px-0"> <span class="d-none d-sm-inline">Item</span> 1</a>
                            </li>
                            <li>
                                <a href="#" class="nav-link px-0"> <span class="d-none d-sm-inline">Item</span> 2</a>
                            </li>
                        </ul>
                    </li>
                    <li>
                        <a href="#submenu3" data-bs-toggle="collapse" class="nav-link px-0 align-middle">
                            <i class="fs-4 bi-grid"></i> <span class="ms-1 d-none d-sm-inline">Products</span> </a>
                            <ul class="collapse nav flex-column ms-1" id="submenu3" data-bs-parent="#menu">
                            <li class="w-100">
                                <a href="#" class="nav-link px-0"> <span class="d-none d-sm-inline">Product</span> 1</a>
                            </li>
                            <li>
                                <a href="#" class="nav-link px-0"> <span class="d-none d-sm-inline">Product</span> 2</a>
                            </li>
                            <li>
                                <a href="#" class="nav-link px-0"> <span class="d-none d-sm-inline">Product</span> 3</a>
                            </li>
                            <li>
                                <a href="#" class="nav-link px-0"> <span class="d-none d-sm-inline">Product</span> 4</a>
                            </li>
                        </ul>
                    </li>
                    <li>
                        <a href="#" class="nav-link px-0 align-middle">
                            <i class="fs-4 bi-people"></i> <span class="ms-1 d-none d-sm-inline">Customers</span> </a>
                    </li>
                </ul>
                <hr>
                <div class="dropdown pb-4">
                    <a href="#" class="d-flex align-items-center text-white text-decoration-none dropdown-toggle" id="dropdownUser1" data-bs-toggle="dropdown" aria-expanded="false">
                        <img src="https://github.com/mdo.png" alt="hugenerd" width="30" height="30" class="rounded-circle">
                        <span class="d-none d-sm-inline mx-1">loser</span>
                    </a>
                    <ul class="dropdown-menu dropdown-menu-dark text-small shadow">
                        <li><a class="dropdown-item" href="#">New project...</a></li>
                        <li><a class="dropdown-item" href="#">Settings</a></li>
                        <li><a class="dropdown-item" href="#">Profile</a></li>
                        <li>
                            <hr class="dropdown-divider">
                        </li>
                        <li><a class="dropdown-item" href="#">Sign out</a></li>
                    </ul>
                </div>
            </div>
        </div>
        <div class="col py-3">
            Content area...
        </div>
    </div>
</div>

 

順道改了$Main_menu和$Admin_menu
將陣列變成二維陣列,以便加入icon及target功能
 

"/$web_name/work/work.php"=> array("name"=>"會前作業","icon"=>"mbri-setting","target"=>"_blank" );

需要修改的地方是所有目錄下config.php

main.htm main_iframe.htm

 

增加選單前面的icon
https://icons.getbootstrap.com/ 的搜尋功能可以快速找到相關的icon
bootstrap icon改為v1.11.3 需修改bs_header.htm

<!-- <link rel="stylesheet" href="/{{ $theme.web_name }}/themes/assets/bootstrap/css/bootstrap-icons.css"> -->
  <link rel="stylesheet" href="/{{ $theme.web_name }}/themes/assets/bootstrap/css/bootstrap-icons/font/bootstrap-icons.css">

 

 

發表於 程式設計 | 發表迴響

[sport]文件自動變成兩頁(多一頁空白)的解決方法

adm_print_award.php?act=list&gov_code=110302&sn=1 列印獎狀統計表時的錯誤
修改themes/print.css
加入min-height: 96%;

body, html {
	margin: 0;
	padding: 0;
	font-size: 12pt;
    min-height: 96%;
}

 

發表於 未分類, 程式設計 | 發表迴響

[pad]平板的程式編修環境

參考網址:
最近買了samsung tab s6 lite,想發揮它的功能,試著營造程式編輯的環境。
首先當然要有editor
在windows的環境中習慣使用sublime text
在andriod的平台上也是有sublime text 只是功能很陽春,還帶了一大堆的廣告。
vscode的線上版似乎馬言也可以考慮,但試用結果是畫面顯示太複雜,不容易操作。而且存檔時需要將檔案下載,不符合操作習慣。
後來找來quick edit 高級版,得付費。一般版也是一堆廣告。
雖然功能不是很強,但還是勘用,一些簡單的編輯還可以應付。

ssh的部分用termus
sftp的部分用andftp,雖然termus也提供sftp的功能,但操作界面比較不友善。也找不到預設目錄的選項。

samsung 提供dex模擬桌機環境,可以讓平板的操作界面比較像桌機。

 

 

發表於 程式設計 | 發表迴響

[inkscape]中文字型

參考網址:https://gemmy886.blogspot.com/2011/03/inkscapesvg.html

Ctrl+Shift+T可以叫出文字與字型對話框,比較好找字體,並可預覽。


Inkscape預設字型並不支援中文字,需使用其它中文字型!
Inkscape預設中文字型依外型可分為三類:細明體、圓體、正黑體,顯示名稱都是英文,
除標示"B5"字型外,其他很難分辨是否支援中文字

Microsoft JhengHei 微軟正黑體 (Default Windows 7 繁體字型)
MingLiU 細明體(等寬的英文字型)
PMingLiU 新細明體(不等寬的英文字型)
KaiTi 標楷體 (找不到)

DF開頭的字型是華康字型
 

發表於 程式設計 | 發表迴響

[php]SVG to PNG

參考網址:

安裝 imagick 套件 https://www.serverlab.ca/tutorials/linux/administration-linux/how-to-install-imagemagick-for-php-on-ubuntu-18-04/#google_vignette

apt install imagemagick
apt list imagemagick -a

特定版本
apt install imagemagick:6.9.7.4


Installing Imagick PHP Extension
apt install php-imagick
systemctl restart apache2

https://www.phpclasses.org/
 

<?php
// Load the SVG file
$svgFilePath = 'path/input.svg';
$svgContent = file_get_contents($svgFilePath);

// Create an Imagick object and set the SVG content
$imagick = new Imagick();
$imagick->readImageBlob($svgContent);

// Set the image format for the output (e.g., PNG, JPEG)
$outputFormat = 'png'; // You can change this to your desired image format

// Optionally, you can adjust the image properties as needed
$imagick->setImageFormat($outputFormat);
$imagick->setImageBackgroundColor(new ImagickPixel('white')); // Set background color if needed
$imagick->setResolution(300, 300); // Set resolution (dots per inch)

// Perform the conversion
$imagick->setImageAlphaChannel(Imagick::ALPHACHANNEL_REMOVE); // Remove alpha channel if present
$imagick->mergeImageLayers(Imagick::LAYERMETHOD_FLATTEN); // Flatten the image

// Save the converted image to a file
$outputFilePath = 'path/output.' . $outputFormat;
$imagick->writeImage($outputFilePath);

// Clean up resources
$imagick->clear();
$imagick->destroy();

echo "Conversion completed. The image has been saved to: $outputFilePath";
?>

 

發表於 程式設計 | 發表迴響