@seq := 0;
update [tablename] set SEQ=(@seq:=@seq+1)
where [condition...]
order by [order keys...]
こういう方言は、ありがたい。
気になる開発環境をちょこちょことテストして、後で参考になりそうなことを書き留めておく。
@seq := 0;
update [tablename] set SEQ=(@seq:=@seq+1)
where [condition...]
order by [order keys...]
function genpass( $siz=8, $symb=True, $mode='' ) {
//Returns random letters, numbers and symbols. Each element appears once.
// $siz : size of password generated; should not be bigger than element size(49 + symbols).
// $symb : True .. symbols are included
// $mode : A .. start with Upper alphabetic; a .. with Lower alphabetic;
// '' (default) .. start with Upper or Lower alphabetic;
// other .. no restriction; //allowed letters and symbols
$symbase = ['!','#','$','%','&','+','/','=','-'];
$upper = array_merge( range('A', 'N'), range('P', 'Z')); //omit 'O'
$lower = array_merge( range('a', 'k'), range('m', 'z')); //omit 'l'
$symbs = array_merge(( $symb ? $symbase : [] ), range(1, 9)); //omit '0'
//allot occurrence of upper, lower, and num+symbol
$sizU = max( 2, intval( $siz * 0.3 ));
$sizL = max( 2, intval( $siz * 0.4 ));
$sizS = max( 1, $siz - ( $sizU + $sizL ));
//get password members; can be shorter than siz when siz is big
shuffle( $upper ); $upper = array_slice( $upper, 0, $sizU );
shuffle( $lower ); $lower = array_slice( $lower, 0, $sizL );
shuffle( $symbs ); $symbs = array_slice( $symbs, 0, $sizS );
//get first letter
switch ( $mode ) {
case 'A' : //start with upper
$fch = array_shift( $upper );
break;
case 'a' :
$fch = array_shift( $lower );
break;
default:
$fch = '';
break;
}
//merge everything and shaffle
$pasbase = array_merge( $upper, $lower, $symbs ); shuffle( $pasbase );
if ( ''===$mode ) {
while( ! ((('a'<=$pasbase[ 0 ])&&($pasbase[ 0 ]<='z')) || (('A'<=$pasbase[ 0 ])&&($pasbase[ 0 ]<='Z')))) {
$elm = array_shift( $pasbase );
$pasbase[] = $elm;
}
}
return $fch . implode( $pasbase );
}
function remove_category_from_title( $format ) {
/* 投稿の公開状態が protected や private であった場合、タイトルの前に公開状態が追加されるので、
* これを表示させない。 */
return $'%s';
}
add_filter( 'private_title_format', 'remove_category_from_title');
add_filter( 'private_title_format', [$this, 'remove_category_from_title']);