- 1
- 2
- 3
- 4
$result_max = mysql_query("SELECT MAX(id)+1 as max FROM cms_competition;");
$row_max = mysql_fetch_object($result_max);
if(!$row_max->max)
$row_max->max = 1;
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+158
$result_max = mysql_query("SELECT MAX(id)+1 as max FROM cms_competition;");
$row_max = mysql_fetch_object($result_max);
if(!$row_max->max)
$row_max->max = 1;
Так ведь проще
+153
$db = new DB_Sql();
$db->connect();
$sql = "SELECT distinct(absnum) FROM articles";
$db->query($sql);
while ($db->next_record()){
$is_img_sql[] = $db->f('absnum');
}
$Open = opendir($_SERVER['DOCUMENT_ROOT'].'/img/forall/a/');
while(false !== ($gdir = readdir($Open))){
if($gdir != "." && $gdir != ".."){
$dir[] = $gdir;
}
}
closedir($Open);
foreach ($dir as $fdir){
if(is_dir($_SERVER['DOCUMENT_ROOT'].'/img/forall/a/'.$fdir.'/')){
$Open2 = opendir($_SERVER['DOCUMENT_ROOT'].'/img/forall/a/'.$fdir.'/');
while(false !== ($gdir2 = readdir($Open2))){
if($gdir2 != "." && $gdir2 != ".."){
$tmp = intval($fdir.ereg_replace("\..*","",$gdir2));
if(!in_array($tmp,$is_img_sql)){
$delfile = $_SERVER['DOCUMENT_ROOT'].'/img/forall/a/'.$fdir.'/'.$gdir2;
if (is_file($delfile)){
if (unlink($delfile)){
echo "Файл <b>".$delfile."</b> удален<br>";
}
}
}
}
}
closedir($Open2);
}
}
$Open = opendir($_SERVER['DOCUMENT_ROOT'].'/img/g/');
while(false !== ($gdirg = readdir($Open))){
if($gdirg != "." && $gdirg != ".."){
$dirg[] = $gdirg;
}
}
closedir($Open);
foreach ($dirg as $fdir){
$Open2 = opendir($_SERVER['DOCUMENT_ROOT'].'/img/g/'.$fdir.'/');
while(false !== ($gdir2 = readdir($Open2))){
if($gdir2 != "." && $gdir2 != ".."){
$tmp = intval($fdir.$gdir2.ereg_replace("\..*","",$gdir3));
if(!in_array($tmp,$is_img_sql)){
$delfile = $_SERVER['DOCUMENT_ROOT'].'/img/g/'.$fdir.'/'.$gdir2;
if (is_dir($delfile)){
$Opendel = opendir($delfile);
while(false !== ($gdirdel = readdir($Opendel))){
if($gdirdel != "." && $gdirdel != ".."){
$tpmdel = $delfile."/".$gdirdel;
if (is_file($tpmdel)){
unlink($tpmdel);
}
}
}
if (rmdir($delfile)){
echo "Директория <b>".$delfile."</b> удалена<br>";
}
}
}
}
}
closedir($Open2);
}
$sql = "SELECT distinct(absnum) FROM price";
$db->query($sql);
while ($db->next_record()){
$is_img_price[] = $db->f('absnum');
}
$Open = opendir($_SERVER['DOCUMENT_ROOT'].'/img/forall/p/');
while(false !== ($gdirp = readdir($Open))){
if($gdirp != "." && $gdirp != ".."){
$dirp[] = $gdirp;
}
}
closedir($Open);
foreach ($dirp as $fdir){
$Open2 = opendir($_SERVER['DOCUMENT_ROOT'].'/img/forall/p/'.$fdir.'/');
while(false !== ($gdir2 = readdir($Open2))){
if($gdir2 != "." && $gdir2 != ".."){
$tmp = intval($fdir.ereg_replace("\..*","",$gdir2));
if(!in_array($tmp,$is_img_price)){
$delfile = $_SERVER['DOCUMENT_ROOT'].'/img/forall/p/'.$fdir.'/'.$gdir2;
if (is_file($delfile)){
if (unlink($delfile)){
echo "Файл <b>".$delfile."</b> удален<br>";
}
}
}
}
}
+74
if (myTransactions
.get(i)
.getTransactionType()
.name()
.compareToIgnoreCase(
com.mycompany.myproject.common.TransactionType.ENTER
.name()) == 0
|| myTransactions
.get(i)
.getTransactionType()
.name()
.compareToIgnoreCase(
com.mycompany.myproject.common.TransactionType.ENTER_AGAIN
.name()) == 0) {
BigDecimal fee = myTransactions.get(i).
.getAmount().subtract(
myTransactions.get(i)
.getContribution());
// ...
}
// Notes by Wissenstein
//
// package com.mycompany.myproject.common;
// public enum TransactionType {
// ENTER, ENTER_AGAIN, GET, GIVE
// }
// ...
// public class Transaction {
// ...
// public TransactionType getTransactionType() {
// ...
// }
// }
// ...
// List<Transaction> myTransactions;
// ...
// P.S. Идентификаторы изменены.
К тому, что myTransactions.get(i) повторяется, я уже привык и рефакторю это одним махом.
Однако использованный здесь метод сравнения значений типа enum меня озадачил…
+174
static String asHex(int i){
return
Joiner.on( " " ).join(
Splitter.fixedLength( 4 ).split(
String.format("%s8", Integer.toHexString(i))
.replace(' ', '0')
)
);
}
LINQ-мышление в жабе.
−131
[self
performSelectorOnMainThread: @selector(_blockCaller:)
withObject: ^{
[self _reportAchievement:achievement listener:listener];
}
waitUntilDone: YES
];
<...>
- (void) _blockCaller:(void(^)())blockHandler {
blockHandler();
}
GCD не в моде.
+156
function search(url,param)
{
$("#rightContent").hide()
setBlock("Загрузка")
loadLeftMenu()
$("#content").load("/search", function(response, status, xhr){
$("#Subscription").show()
queryStr=param.split("&")
if (queryStr.length==2){
str=(queryStr[0]).replace("querystr=","")
$("#querystr").val(decodeURI(str.replace(/\+/g," ")))
region=((queryStr[1]).replace("region=","")).split(",")
replaceItemInArray(region,"59","59,81")
removeFromArray(region,'81')
replaceItemInArray(region,"75","75,80")
removeFromArray(region,'80')
updateMultiselect("#region", region, "region")
}
if (queryStr.length==3){
str=(queryStr[1]).replace("querystr=","")
$("#querystr").val(decodeURI(str.replace(/\+/g," ")))
region=((queryStr[2]).replace("region=","")).split(",")
replaceItemInArray(region,"59","59,81")
removeFromArray(region,'81')
replaceItemInArray(region,"75","75,80")
removeFromArray(region,'80')
updateMultiselect("#region", region, "region")
}
if (queryStr.length==4){
str=(queryStr[0]).replace("querystr=","")
$("#querystr").val(decodeURI(str.replace(/\+/g," ")))
region=((queryStr[1]).replace("region=","")).split(",")
if (queryStr[2]=='fz94=true'){
$('#fz94').attr('checked','checked')
}else{
$('#fz94').removeAttr('checked')
}
if (queryStr[3]=='fz223=true'){
$('#fz223').attr('checked','checked')
}else{
$('#fz223').removeAttr('checked')
}
replaceItemInArray(region,"59","59,81")
removeFromArray(region,'81')
replaceItemInArray(region,"75","75,80")
removeFromArray(region,'80')
updateMultiselect("#region", region, "region")
}
if (queryStr.length==5){
str=(queryStr[1]).replace("querystr=","")
$("#querystr").val(decodeURI(str.replace(/\+/g," ")))
region=((queryStr[2]).replace("region=","")).split(",")
if (queryStr[3]=='fz94=true'){
$('#fz94').attr('checked','checked')
}else{
$('#fz94').removeAttr('checked')
}
if (queryStr[4]=='fz223=true'){
$('#fz223').attr('checked','checked')
}else{
$('#fz223').removeAttr('checked')
}
replaceItemInArray(region,"59","59,81")
removeFromArray(region,'81')
replaceItemInArray(region,"75","75,80")
removeFromArray(region,'80')
updateMultiselect("#region", region, "region")
}
// Ну и так далее
Разбор строки запроса
+69
String response = HttpLoader.loadString(params[0]);
Gson gson = new GsonBuilder().registerTypeAdapter(ArrayList.class,
new JsonCollectionSerializer<ArrayList<MyClass>>()).
create();
ArrayList<MyClass> items_generic = new ArrayList<MyClass>() { };
ArrayList<MyClass> items = gson.fromJson(response, items_generic.getClass().getGenericSuperclass());
return items;
public class JsonCollectionSerializer<E> implements
JsonSerializer<Collection<E>>, JsonDeserializer<Collection<E>> {
@SuppressWarnings("unchecked")
public Collection<E> deserialize(JsonElement element, Type type,
JsonDeserializationContext context) throws JsonParseException {
JsonArray items = element.getAsJsonArray();
ParameterizedType deserializationCollectionType = ((ParameterizedType) type);
Type collectionItemType = deserializationCollectionType.getActualTypeArguments()[0];
Collection<E> list = null;
try {
list = (Collection<E>) ((Class<?>) deserializationCollectionType.getRawType()).newInstance();
for (JsonElement e : items) {
list.add((E) context.deserialize(e, collectionItemType));
}
} catch (InstantiationException e) {
throw new JsonParseException(e);
} catch (IllegalAccessException e) {
throw new JsonParseException(e);
}
return list;
}
}
Жабоблядство и шаблоны и генерики:
Чтение из json в коллекцию с шаблонным параметризованным типом.
+159
class CHTMLFormGenerator {
...
public $formName;
const formName = 'form';
function GetFormName() {
if(isset($this) && $this -> formName)
return $this -> formName;
else
return self::formName;
}
...
}
+71
private byte[] readBytes(InputStream pInputStream, int pLength, int pRetryCounter) throws IOException, WhateverException
{
byte[] bytes = new byte[pLength];
int bytesRead= pInputStream.read(bytes, 0,pLength);
if (bytesRead == -1)
{
throw new WhateverException("End of InputStream has been reached");
}
if (pLength != bytesRead)
{
byte[] bytesReadNextAttempt = readBytes(pInputStream, pLength-bytesRead, pRetryCounter + 1);
if (pLength != bytesRead + bytesReadNextAttempt.length)
{
// less bytes available; connection was closed
throw new WhateverException( ... );
}
System.arraycopy(bytesReadNextAttempt, 0, bytes, bytesRead, bytesReadNextAttempt.length);
}
return bytes;
}
поддержка паршиал ресив. такого "метода" я еще не видел.
ЗЫ а че в жабе нету никакого MSG_WAITALL?
+9
#include <iostream>
#include <iterator>
#include <algorithm>
#include <array>
#include <memory>
using namespace std;
template<size_t N1, size_t N2, class T1, class T2,
class T = typename common_type<T1, T2>::type>
T (*concatCArray(const T1(&arr1)[N1], const T2(&arr2)[N2]))[N1+N2]{
const auto result = (T(*)[N1+N2]) new T[N1+N2];
copy(arr2, end(arr2), copy(arr1, end(arr1), *result));
return result;
}
template<std::size_t N, class T>
void viewCArrayPtr(T (*arr)[N]){
copy(*arr, end(*arr), ostream_iterator<T>(cout, " "));
}
template<size_t N1, size_t N2, class T1, class T2,
class T = typename remove_const<typename common_type<T1, T2>::type>::type>
array<T, N1+N2> concatArray(const array<T1, N1> &arr1, const array<T2, N2> &arr2){
array<T, N1+N2> result;
copy(begin(arr2), end(arr2), copy(begin(arr1), end(arr1), result.begin()));
return result;
}
template<std::size_t N, class T>
void viewArray(const array<T, N> arr){
copy(begin(arr), end(arr), ostream_iterator<T>(cout, " "));
}
int main() {
int arr1[]{0,1,2,3}, arr2[]{4,5,6};
auto ca = concatCArray(arr1, arr2);
unique_ptr<int[]> safe(*ca);
viewCArrayPtr(ca);
cout<<endl;
array<float, 2> a {1,2.5};
array<int, 3> b{3, 4, 5};
viewArray(concatArray(a, b));
return 0;
}
От туда.
http://ideone.com/3KjycI